Conference

Add a new conference

Request:

POST /users/{user_id}/conferences
Accept: application/xml
Content-Type: application/xml

<?xml version="1.0" encoding="UTF-8"?>
<conference>
  <name>{name}</name>
  <scheduled-to-start-at type="datetime">{scheduled_to_start_at}</scheduled-to-start-at>
  <direct-dial type="boolean">{direct_dial}</direct-dial>
  <dial-in-locked type="boolean">{dial_in_locked}</dial-in-locked>
  <record-audio type="boolean">{record_audio}</record-audio>
  <lecture-mode type="boolean">{lecture_mode}</lecture-mode>
  <accounting-code type="integer">{accounting_code}</accounting-code>
  <send-notification-emails type="boolean">{send_notification_emails}</send-notification-emails>
  <announce-attendees type="boolean">{announce_attendees}</announce-attendees>
  <no-moderator type="boolean">{no_moderator}</no-moderator>
</conference>

Below is a description of these elements:

accounting-code (Optional)
The default value for accounting-code is nil/null. The accounting-code is open for use to store possible foreign key information for the calling system.
announce-attendees (Optional)
The default value for send-notification-emails is true, this will announce the entry of all attendees to the entire main conference on non-direct-dial calls. Setting this value to false will allow attendees to enter and leave the main conference with out any audible notifications to the rest of the conference.
dial-in-locked (Optional)
If the dial-in-locked attribute is set to false (default) dial-in callers to the conference will be allowed. Setting the attribute to true will not allow dial in caller to enter the conference.
direct-dial (Optional)
If the direct dial attribute is set to false (default) dial out callers will be presented with the default Lypp IRV. Setting the attribute to true will bypass the IRV and call the attendee directly into the conference.
lecture-mode (Optional)
If the lecture-mode attribute is set to false (default) all attendees will enter the conference able to speak in the main conference and toggle their mute state with DTMF tones. Setting the attribute to true all attendees will be muted upon arrival into the conference and will not be able to toggle their mute state with DTMF tones.
name (Required)
The name given to the conference is also used within the automated emails and for naming of the recordings that are produced during the call.
no-moderator (Optional)
The default value for send-notification-emails is false, this automatically add the user to the conference as the moderator with their preferred number set as the dial-out number to call. Setting this attribute to false will skip adding the user to the call as the moderator.
record-audio (Optional)
If the record-audio attribute is set to false (default) no audio for the main conference will be recorded. Setting the attribute to true will record all audio in the main conference.
scheduled-to-start-at (Required)
The time the conference should start at. Can be in many different forms, below are some examples:
Relative Times
  • now
  • thursday
  • november
  • friday 13:00
  • mon 2:35
  • 4pm
  • 6 in the morning
  • friday 1pm
  • sat 7 in the evening
  • today
  • tomorrow
  • this tuesday
  • next month
  • this morning
  • this second
  • tomorrow at 6:45pm
Complex Times
  • 7 days from now
  • 1 week hence
  • in 3 hours
  • 7 hours before tomorrow at noon
  • 3rd wednesday in november
  • 3rd month next year
  • 3rd thursday this september
  • 4th day last week
Specific Dates
  • January 5
  • dec 25
  • may 27th
  • October 2006
  • oct 06
  • jan 3 2010
  • 3 jan 2000
  • 17 april 85
  • 5/27/1979
  • 27/5/1979
  • 05/06
  • 1979-05-27
  • Friday
Specific Times
  • 5
  • 4:00
  • 17:00
  • 0800
  • January 5 at 7pm
  • 1979-05-27 05:00
send-notification-emails (Optional)
The default value for send-notification-emails is false, this will prevent Lypp from sending email notifications to the user or any of the attendees with a supplied email address. Setting this attribute to true Lypp will send conference notifcation emails to all attendees that an email address was supplied. The emails contains Lypp's default email copy containing name, phone numbers, times, pins, DTMF tones, and Lypp support information.

Response:

201 Created
Content-Type: application/xml
Location: /users/{user_id}/conferences/{conference_id}

<?xml version="1.0" encoding="UTF-8"?>
<conference>
  <id type="integer">{conference_id}</id>
  <created-at type="datetime">{created_at}</created-at>
  <updated-at type="datetime">{updated_at}</updated-at>
  <lock-version type="integer">{lock_version}</lock-version>
  <state>{state}</state>
  <name>{name}</name>
  <scheduled-to-start-at type="datetime">{scheduled_to_start_at}</scheduled-to-start-at>
  <started-at type="datetime" nil="true"></started-at>
  <ended-at type="datetime" nil="true"></ended-at>
  <direct-dial type="boolean">{direct_dial}</direct-dial>
  <dial-in-locked type="boolean">{dial_in_locked}</dial-in-locked>
  <record-audio type="boolean">{record_audio}</record-audio>
  <lecture-mode type="boolean">{lecture_mode}</lecture-mode>
  <accounting-code type="integer">{accounting_code}</accounting-code>
  <send-notification-emails type="boolean">{send_notification_emails}</send-notification-emails>
  <announce-attendees type="boolean">{announce_attendees}</announce-attendees>
  <member-pin>{member_pin}</member-pin>
  <moderator-pin>{moderator_pin}</moderator-pin>
</conference>

Example:

curl \
  -X POST \
  -u 'username:password' \
  -H 'Accept: application/xml' \
  -H 'Content-Type: application/xml' \
  -d '<?xml version="1.0" encoding="UTF-8"?>
      <conference>
        <name>Development Team Meeting</name>
        <scheduled-to-start-at type="datetime">tomorrow at 5pm</scheduled-to-start-at>
        <direct-dial type="boolean">true</direct-dial>
        <dial-in-locked type="boolean">false</dial-in-locked>
        <record-audio type="boolean">true</record-audio>
        <lecture-mode type="boolean">true</lecture-mode>
        <accounting-code type="integer">1</accounting-code>
        <no-moderator type="boolean">false</no-moderator>
      </conference>' \
  http://lypp.com/users/1/conferences

List all conferences

Request:

GET /users/{user_id}/conferences
Accept: application/xml

Response:

200 OK
Content-Type: application/xml

<?xml version="1.0" encoding="UTF-8"?>
<conferences type="array">
  <conference>
    <id type="integer">{conference_id}</id>
    <created-at type="datetime">{created_at}</created-at>
    <updated-at type="datetime">{updated_at}</updated-at>
    <lock-version type="integer">{lock_version}</lock-version>
    <state>{state}</state>
    <name>{name}</name>
    <scheduled-to-start-at type="datetime">{scheduled_to_start_at}</scheduled-to-start-at>
    <started-at type="datetime">{started_at}</started-at>
    <ended-at type="datetime">{ended_at}</ended-at>
    <direct-dial type="boolean">{direct_dial}</direct-dial>
    <dial-in-locked type="boolean">{dial_in_locked}</dial-in-locked>
    <record-audio type="boolean">{record_audio}</record-audio>
    <lecture-mode type="boolean">{lecture_mode}</lecture-mode>
    <accounting-code type="integer">{accounting_code}</accounting-code>
    <member-pin>{member_pin}</member-pin>
    <moderator-pin>{moderator_pin}</moderator-pin>
  </conference>
  ...
</conferences>

Example:

curl \
  -u username:password \
  -H 'Accept: application/xml' \
  http://lypp.com/users/1/conferences

Show a conference

Request:

GET /users/{user_id}/conferences/{conference_id}
Accept: application/xml

Response:

200 OK
Content-Type: application/xml

<?xml version="1.0" encoding="UTF-8"?>
<conference>
  <id type="integer">{conference_id}</id>
  <created-at type="datetime">{created_at}</created-at>
  <updated-at type="datetime">{updated_at}</updated-at>
  <lock-version type="integer">{lock_version}</lock-version>
  <state>{state}</state>
  <name>{name}</name>
  <scheduled-to-start-at type="datetime">{scheduled_to_start_at}</scheduled-to-start-at>
  <started-at type="datetime">{started_at}</started-at>
  <ended-at type="datetime">{ended_at}</ended-at>
  <direct-dial type="boolean">{direct_dial}</direct-dial>
  <dial-in-locked type="boolean">{dial_in_locked}</dial-in-locked>
  <record-audio type="boolean">{record_audio}</record-audio>
  <lecture-mode type="boolean">{lecture_mode}</lecture-mode>
  <accounting-code type="integer">{accounting_code}</accounting-code>
  <member-pin>{member_pin}</member-pin>
  <moderator-pin>{moderator_pin}</moderator-pin>
</conference>

Example:

curl \
  -u username:password \
  -H 'Accept: application/xml' \
  http://lypp.com/users/1/conferences/226

Update a conference

Request:

PUT /users/{user_id}/conferences/{conference_id}
Accept: application/xml
Content-Type: application/xml

<?xml version="1.0" encoding="UTF-8"?>
<conference>
  <name>{name}</name>
  <scheduled-to-start-at type="datetime">{scheduled_to_start_at}</scheduled-to-start-at>
  <direct-dial type="boolean">{direct_dial}</direct-dial>
  <dial-in-locked type="boolean">{dial_in_locked}</dial-in-locked>
  <record-audio type="boolean">{record_audio}</record-audio>
  <lecture-mode type="boolean">{lecture_mode}</lecture-mode>
  <accounting-code type="integer">{accounting_code}</accounting-code>
</conference>

*NOTE: Status can be changed from new to pending when all attendees have been added, but no other values.

Response:

200 OK
Content-Type: application/xml

<?xml version="1.0" encoding="UTF-8"?>
<conference>
  <id type="integer">{conference_id}</id>
  <created-at type="datetime">{created_at}</created-at>
  <updated-at type="datetime">{updated_at}</updated-at>
  <lock-version type="integer">{lock_version}</lock-version>
  <state>{state}</state>
  <name>{name}</name>
  <scheduled-to-start-at type="datetime">{scheduled_to_start_at}</scheduled-to-start-at>
  <started-at type="datetime">{started_at}</started-at>
  <ended-at type="datetime">{ended_at}</ended-at>
  <direct-dial type="boolean">{direct_dial}</direct-dial>
  <dial-in-locked type="boolean">{dial_in_locked}</dial-in-locked>
  <record-audio type="boolean">{record_audio}</record-audio>
  <lecture-mode type="boolean">{lecture_mode}</lecture-mode>
  <accounting-code type="integer">{accounting_code}</accounting-code>
  <member-pin>{member_pin}</member-pin>
  <moderator-pin>{moderator_pin}</moderator-pin>
</conference>

Example:

curl \
  -X PUT \
  -u username:password \
  -H 'Accept: application/xml' \
  -H 'Content-Type: application/xml' \
  -d '<?xml version="1.0" encoding="UTF-8"?>
      <conference>
        <name>Development Team Meeting</name>
        <scheduled-to-start-at type="datetime">tomorrow at 5pm</scheduled-to-start-at>
        <direct-dial type="boolean">true</direct-dial>
        <dial-in-locked type="boolean">false</dial-in-locked>
        <record-audio type="boolean">true</record-audio>
        <lecture-mode type="boolean">true</lecture-mode>
        <accounting-code type="integer">1</accounting-code>
      </conference>' \
  http://lypp.com/users/1/conferences/226

Delete a conference

Request:

DELETE /users/{user_id}/conferences/{conference_id}
Accept: application/xml

Response:

204 No Content

Example:

curl \
  -X DELETE \
  -u username:password \
  -H 'Accept: application/xml' \
  http://lypp.com/users/1/conferences/226