EEG Lexi™ Live REST API Documentation

EEG Lexi™ Live API Documentation v2.0

Overview


The goal of this REST API is to provide an alternative way to manage your Lexi™ Live resources with EEG. The current API endpoint's root URI is:

https://eegcloud.tv/speech-recognition

When accessing the REST API, you will be prompted to authenticate your credentials using your administrator account via HTTP Basic Authentication.
Please note that the current service expects you to POST data in JSON format.

The current version offers the following resources:

  • Engines - Retrieving available EEG ASR engines.
  • Instances - Retrieving, creating, and deleting Lexi™ Live Instances
  • Jobs - Retrieving, creating and deleting Lexi™ jobs (deprecated).
  • Transcripts - Retrieving caption files and transcripts from Lexi™ Live jobs
  • Topic Models - Retrieving, creating, editing, and deleting Lexi™ custom topic models
  • Topic Models - Word entries - Retrieving, creating, editing, and deleting custom topic model word entries
  • Topic Models - Substitution / blacklist entries - Retrieving, creating, editing, and deleting custom topic model substitution entries
  • Scheduling - Retrieving, creating, editing, and deleting Lexi™ Live scheduled events.

ASR Engines


The following provides retrieval of available engines.
Resource Description
GET /live/v2/engines

Action

Retrieves a list of EEG ASR Engines available to use. These are the engines supported by Lexi™.
In particular, the "name" property will be needed to construct instances and jobs using the engine.

Authentication:

None

GET Parameters

None

Query Parameters

None

Instances


The following provides for the creation and retrieval of instances through the Lexi™ Live API.
Resource Description
GET /live/v2/instances

Action

Retrieves list of Lexi™ Live instances available to your credential set.

Authentication:

Basic (username:password)

GET Parameters

None

Query Parameters

get_history If set to 1, or omitted, the response will include Lexi job history for each instance. If set to 0, the response will omit Lexi job history. The API will return a BAD REQUEST error for any value other than 1 or 0.
GET /live/v2/instances/:instance_id

Action

Retrieves the specified :instance_id (instance).

Authentication:

Basic (username:password)

GET Parameters

:instance_id The instance_id to retrieve.

Query Parameters

get_history If set to 1, or omitted, the response will include Lexi job history for this instance. If set to 0, the response will omit Lexi job history. No other values are supported.
POST /live/v2/instances/:instance_id/turn_on

Action

Activates the specified :instance_id (instance) to start caption service.

POST Parameters

:instance_id The instance_id to activate.

POST Parameters (JSON)

These are optional parameters that are carried with the instance job into the activity reports.

initialization_origin (string) The origin of the API call. Recommended value: Application/Daemon name.
initialization_reason (string) The reason of the API call. Recommended values: "User initialized" or "Scheduled Start".

Query Parameters

get_history If set to 1, or omitted, the response will include Lexi job history for this instance. If set to 0, the response will omit Lexi job history. No other values are supported.
POST /live/v2/instances/:instance_id/turn_off

Action

Terminates the specified :instance_id (instance) to cease caption service.

Authentication:

Basic (username:password)

POST Parameters

:instance_id The instance_id to terminate.

POST Parameters (JSON)

These are optional parameters that are carried with the instance job into the activity reports.

termination_origin (string) The origin of the API call. Recommended value: Application/Daemon name.
termination_reason (string) The reason of the API call. Recommended values: "User initialized" or "Scheduled End".

Query Parameters

get_history If set to 1, or omitted, the response will include Lexi job history for this instance. If set to 0, the response will omit Lexi job history. No other values are supported.
GET /live/v2/instances/:instance_id/keep_alive

Action

Retrieves the keep-alive status/information of the specified :instance_id (instance), if available.

Authentication:

Basic (username:password)

GET Parameters

:instance_id The instance_id that was activated with keep-alive (remained on).
POST /live/v2/instances/:instance_id/keep_alive

Action

If the specified :instance_id (instance) is scheduled to terminate within a specified number of seconds (defaulting to 30 seconds), allow the instance to keep running until the user terminates it through other means.

Authentication:

Basic (username:password)

POST Parameters

:instance_id The instance_id to keep-alive (remain on).

POST Parameters (JSON)

You can optionally specify the keepalive_period. Otherwise, a default keepalive_period of 30 seconds will be used.

keepalive_period (integer) The number of seconds the keep-alive status is active.
DELETE /live/v2/instances/:instance_id/keep_alive

Action

Removes the keep-alive status/information from the specified :instance_id (instance), if available. This removes the ability to keep the instance alive if previously activated. If the instance does not have keep-alive information, the API returns a BAD REQUEST error.

Authentication:

Basic (username:password)

DELETE Parameters

:instance_id The instance_id that was activated with keep-alive (remained on).
POST /live/v2/instances

Action

Creates a new instance. Returns a JSON-Serialized instance on completion.

Authentication:

Basic (username:password)

POST Parameters (JSON)

name (string) The Lexi™ Live instance name.
While it is not required that the name be unique within your billing group, it is strongly recommended to avoid operator confusion.
engine (string) The Lexi™ Live recognition engine to be used. Currently the following choices are available:
  • lexi3 (default)
  • lexiAL
The current list of engines can be retrieved at: https://eegcloud.tv/speech-recognition/live/v2/engines
base_model (string) The base language model to use. For US English, use:
  • en-US_BroadbandModel
The current list of models can be retrieved at: https://eegcloud.tv/speech-recognition/base_models
custom_model (string) The custom voice model defined in *YOUR* EEG Cloud account to use.
diarization_style (string) The speaker change style to use. *Note - This setting is only available for the Lexi 3.0 engine.
Values to use:
  • COLOR_CHANGE - Change the caption color when the speaker changes.
  • CHEVRON_NEWLINE - Insert a new line that begins with ">>" when the speaker changes.
  • DASH_NEWLINE - Insert a new line that begins with "-" when the speaker changes.
Do not include the diarization_style setting if you do not want speaker change indications to appear in captions.
audio_events (boolean) Enables identification of audio events in CC output. If not specified, Lexi will enable identification of all event types (i.e., music_events, applause_events, laughter_events).

Values to use:
  • true
  • false
music_events (boolean) Enables identification of music audio events in CC output. audio_events must be enabled.

Values to use:
  • true
  • false
applause_events (boolean) Enables identification of applause audio events in CC output. audio_events must be enabled.

Values to use:
  • true
  • false
laughter_events (boolean) Enables identification of laughter audio events in CC output. audio_events must be enabled.

Values to use:
  • true
  • false
cc_service (string) The caption service to use. *Note - Value must be sent as a string.
Values to use:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
use_newfor (string) Engages the "Newfor/Teletext" output mode. If not specified, the default output mode is "608/708".
Please choose in accordance with your caption encoder's "CC Output Format" setting, as well as the international region in which your content will be viewed.
Values to use:
  • true
  • false
teletext_page (string) The Teletext page number to be used with the "Newfor/Teletext" output mode.
In the format of: [magazine number][page number (tens)][page number (units)]
For example:
  • 801
  • 8FF
display_style (string) Determines the caption advance style - roll-up ("rollup") or pop-on ("popon"). If not specified, the default output mode is "rollup".
Values to use:
  • rollup
  • popon
all_caps (string) Whether captions should be rendered in ALL CAPS or sentence case. *Note - Value must be sent as a string.
Values to use:
  • true
  • false
num_rows (string) The number of caption rows to use in output captions. *Note - Value must be sent as a string.
Values to use:
  • 2
  • 3
  • 4
base_row (string) The base caption row for display.
*Note - Value must be sent as a string.
Values are 1 (top) through 15 (bottom). Please note that the base row will be the maximum of this value and "num_rows"
col_indent (string) The number of columns to indent from the left-hand side of screen. Columns are numbered 1-32 from left to right.
*Note - Value must be sent as a string.
icapaccesscode (string) The iCap Access Code to use for caption delivery.
*Note - Access Code must be shared with EEGASR / EEG Lexi ASR before Lexi™ Live service can be used.
timeout (string) The number of seconds (integer value) of silence allowed before iCap will auto-terminate a job (to reduce billing charges).
*Note - Value must be sent as a string.
Values to use:
  • -1 - No timeout. Jobs will run indefinitely until terminated by user.
  • 1 and higher - Jobs will auto-terminate if audio is not present for a specified period of seconds.
profanity_filter (string) Engages a basic profanity filter.
*Note - Value must be sent as a string.
Values to use:
  • true
  • false
vision_positioning (string) Engages a basic facial and text detector to attempt to keep captions from obscuring faces and Character Generator elements.
*Note - Value must be sent as a string.
Values to use:
  • true
  • false
num_channels_audio (string) Sets number of discreet speaker feeds are being used for speaker identification. Please refer to HD-492 / HD-1492 manuals for specific configuration details.
*Note - Value must be sent as a string.
Values to use:
  • 2 through 8
speaker_label (string []) An array of strings to use as speaker identification labels.
I.E.:
  • "speaker_label" : [ ">> Fred:", ">> Barney:" ]
max_delay (number or string) Sets she maximum number of seconds between receiving audio input and producing CC output. Higher max_delay values may yield greater recognition accuracy.
Values to use:
  • 0.7 through 10
PUT /live/v2/instances/:instance_id

Action

Updates an existing instance and replaces the existing settings. Returns a JSON-Serialized instance on completion.

PUT Parameters (JSON)

Parameters are identical to the POST request used to create instances (above).

Query Parameters

get_history If set to 1, or omitted, the response will include Lexi job history for this instance. If set to 0, the response will omit Lexi job history. No other values are supported.
PATCH /live/v2/instances/:instance_id

Action

Modifies an existing instance with select settings. Returns a JSON-Serialized instance on completion.

PATCH Parameters (JSON)

Parameters are identical to the POST request used to create instances (above).

Query Parameters

get_history If set to 1, or omitted, the response will include Lexi job history for this instance. If set to 0, the response will omit Lexi job history. No other values are supported.
DELETE /live/v2/instances/:instance_id

Action

Deletes the specified :instance_id.
*Note: Instances consume no resources to simply exist, but deleting them can cause you to lose track of transcripts and job/audit history.
Consider renaming an instance to "{Old Name} - Unused" for 30 days before deleting instances entirely.

Authentication:

Basic (username:password)

DELETE Parameters

:instance_id The instance_id to delete.

Denotes an optional parameter.

Jobs


The following provides for the creation and retrieval of jobs through the Lexi™ Live API.
*Note - Job creation is a deprecated method. Please refer to Instances for caption services launches in new development.
If jobs are created via instances, this job data can also be retrieved from individual instance detail objects.
This endpoint is necessary for accessing jobs created by the GPI interface of Lexi™ Live on HD-492™ and HD-1492™ encoders.
Resource Description
GET /live/v1/jobs

Action

Retrieve a list of recent Lexi™ Live jobs

Authentication:

Basic (username:password)

GET Parameters

None

Query Parameters

limit The maximum number of records (or page size) to load. If this parameter is used, the response will include additional fields verifying the limit, offset, and total number of available records. Note that in future versions of the API, it is likely that a default limit of 1000 records will be returned if no explicit limit is specified.
GET /live/v1/jobs/:JobID

Action

Retrieves detailed information of the specified :JobID.

Authentication:

Basic (username:password)

GET Parameters

:JobID A specific Lexi™ Live Job Identifier.

Query Parameters

None

POST /live/v1/jobs

Action

Creates a new Lexi™ Live job and launches it immediately.

Authentication:

Basic (username:password)

POST Parameters (JSON)

engine (string) The Lexi™ Live recognition engine to be used. Currently the following choices are available:
  • lexi3 (default)
  • lexiAL
The current list of engines can be retrieved at: https://eegcloud.tv/speech-recognition/live/v2/engines
base_model (string) The base language model to use. For US English, use:
  • en-US_BroadbandModel
The current list of models can be retrieved at: https://eegcloud.tv/speech-recognition/base_models
custom_model (string) The custom voice model defined in *YOUR* EEG Cloud account to use.
cc_service (string) The caption service to use. *Note - Value must be sent as a string.
Values to use:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
all_caps (string) Whether captions should be rendered in ALL CAPS or sentence case. *Note - Value must be sent as a string.
Values to use:
  • true
  • false
num_rows (string) The number of rollup caption rows to use in output captions. *Note - Value must be sent as a string.
Values to use:
  • 2
  • 3
  • 4
base_row (string) The base caption row for display.
*Note - Value must be sent as a string.
Values are 1 (top) through 15 (bottom). Please note that the base row will be the maximum of this value and "num_rows"
col_indent (string) The number of columns to indent from the left-hand side of screen. Columns are numbered 1-32 from left to right.
*Note - Value must be sent as a string.
icapaccesscode (string) The iCap Access Code to use for caption delivery.
*Note - Access Code must be shared with EEGASR / EEG Lexi ASR before Lexi™ Live service can be used.
timeout (string) The number of seconds (integer value) of silence allowed before iCap will auto-terminate a job (to reduce billing charges).
*Note - Value must be sent as a string.
Values to use:
  • -1 - No timeout. Jobs will run indefinitely until terminated by user.
  • 1 and higher - Jobs will auto-terminate if audio is not present for a specified period of seconds.
profanity_filter (string) Engages a basic profanity filter.
*Note - Value must be sent as a string.
Values to use:
  • true
  • false
vision_positioning (string) Engages a basic facial and text detector to attempt to keep captions from obscuring faces and Character Generator elements.
*Note - Value must be sent as a string.
Values to use:
  • true
  • false
num_channels_audio (string) Sets number of discreet speaker feeds are being used for speaker identification. Please refer to HD-492 / HD-1492 manuals for specific configuration details.
*Note - Value must be sent as a string.
Values to use:
  • 2 through 8
speaker_label (string []) An array of strings to use as speaker identification labels.
I.E.:
  • "speaker_label" : { ">> Fred:", ">> Barney:" }

Denotes an optional parameter.

Transcripts / Caption Files


The following table provides a quick definition for retrieving Lexi™ Live transcripts caption files through the REST API.
Resource Description
GET /live/v1/jobs/:job_id/assemble_data

Action

Retrieves a caption transcript from a specific Lexi™ Live job.

Authentication:

Basic (username:password)

GET Parameters

:job_id The specific job_id to retrieve the caption transcript for.

Query Parameters

file_type  The file type to retrieve.
Values:
  • vtt (default)
  • ttml
  • srt
  • scc
  • smi
  • ecf
  • txt
starting_time_code  The starting timecode of the file (if supported by format).
Example:
  • 01:00:00:00 (default)
video_framerate  The video framerate of the timecode of the file (if supported by format).
Example:
  • 24
  • 25
  • 29.97 (default)
  • 30
  • 59.94
  • 23.976
  • 50
  • 60
caption_service  The caption service (if supported by format).
Example:
  • 1 (Default)
  • 2
  • 3
  • 4
  • 5
  • 6
POST /live/v2/instances/:instance_id/assemble_data

Action

Retrieves a caption transcript from a specific Lexi™ Live instance.

Authentication:

Basic (username:password)

POST Parameters

:instance_id The specific job_id to retrieve the caption transcript for.

POST Parameters (JSON)

icapuser (string) The icapuser retrieved from the instance detail.
Example:
  • s1_caption_data (Default)
  • s2_caption_data
start_time (string) The Unix Epoch start time to retrieve captioning from.
*Note: this is an integer sent as a string value.
end_time (string) The Unix Epoch end time to retrieve captioning from.
*Note: this is an integer sent as a string value.
usertype (string) The user type to query from. For customer use, only "captioner" is permitted.
  • captioner
caption_service  The caption service (if supported by format). Archive data is only available for caption services 1 and 2. NOTE: This parameter is optional for Lexi but REQUIRED for Translate.
Example:
  • s1_caption_data (Default)
  • s2_caption_data
file_type  The file type to retrieve.
Values:
  • vtt (default)
  • ttml
  • srt
  • scc
  • smi
  • ecf
  • txt
starting_time_code  The starting timecode of the file (if supported by format).
Example:
  • 01:00:00:00 (default)
video_framerate  The video framerate of the timecode of the file (if supported by format).
Example:
  • 24
  • 25
  • 29.97 (default)
  • 30
  • 59.94
  • 23.976
  • 50
  • 60

Denotes an optional parameter.

Custom Topic Models


The following provides for the creation and retrieval of custom topic models through the Lexi™ API.
*Note - Legacy Topic Model endpoints are still supported with URL redirects to the new v3 endpoint.
You must use /v3 endpoints for Topic Models if your client does not follow URL redirects.
Example: POST /models should be changed to POST /models/v3
Resource Description
GET /base_models

Action

Retrieves a list of EEG Base Models available to use. These are the languages supported by Lexi™.
In particular, the "base_model_name" property will be needed to construct custom models on top of these base models.

Authentication:

None

GET Parameters

None

Query Parameters

None

GET /models/v3

Action

Retrieves list of Lexi™ your billing account's custom topic models.

Authentication:

Basic (username:password)

GET Parameters

None

Query Parameters

None

GET /models/v3/:model_id

Action

Retrieves the specified :model_id (model).
This is a detailed view that includes all pronunciations and substitutions.

Authentication:

Basic (username:password)

GET Parameters

:model_id The model_id of the model to retrieve.

Query Parameters

None

POST /models/v3

Action

Creates a new custom topic model.

POST Parameters

None.

POST Parameters (JSON)

model_name (string) The visible name of the model to use in the Lexi™ Live custom models list.
base_model (string) The model_id of the topic model to use as a base model.

Returns

the model_id to use with requests.
DELETE /models/v3/:model_id

Action

Deletes a custom topic model.

DELETE Parameters

:model_id (string) The ID name of the model to be deleted.
POST /models/v3/:model_id/words?overwrite=:overwrite

Action

Updates the word entries of a custom topic model.

POST Parameters

:model_id (string) The ID name of the model to be modified.
overwrite (boolean) Whether or not to overwrite a custom topic model's words, or to append instead.
Values to use:
  • true
  • false

POST Parameters (form-data)

words_file A direct file-obj of a CSV file containing word information.
words_file CSV File

Do not include a header row. The CSV format is:

Phrase to Display Pronunciation Suggestion(s)
Example
Fred Flintstone Fred Flint Stone, Fred Flind Stone, Fred Flin Stone
Wilma Flintstone Will Ma Flint Stone
PATCH /models/v3/:model_id/words

Action

Updates the word entries of a custom topic model.
Please send all patches at once.

PATCH Parameters

:model_id (string) The ID name of the model to be modified.

PATCH Parameters (JSON)

patchWords An array of patch dictionary entries to update the model.
Patch Object
Word (named) An array of Word entries to update the model.
word The word key. It is the intended word, case specific.
sounds_like An array of strings phonetic definitions.
Example

This JSON will add a pronunciation for Fred Flintstone that includes some common mispronunciations, update an existing pronunciation for Wilma Flintstone, and delete an existing pronunciation for Barney Rubble

{
    "patchWords":{
        "Fred Flintstone":{
            "sounds_like":[
            "Fred Flint Stone",
            "Fred Flind Stone",
            "Fred Flin Stone"
            ],
            "word":"Fred Flintstone"
        },
        "Wilma Flintstone":{
            "sounds_like":[
            "Will Ma Flint Stone"
            ],
            "word":"Wilma Flintstone"
        },
        "Barney Rubble": null
    }
}
                    
POST /models/v3/:model_id/substitutions?overwrite=:overwrite

Action

Set/append substitution/blacklist words entries for a custom topic model.

Authentication:

Basic (username:password)

POST Parameters

:model_id (string) The ID name of the model to be modified.
overwrite (boolean) Whether or not to overwrite a custom topic model's substitutions, or to append instead.
Values to use:
  • true
  • false

POST Parameters (form-data)

substitution_file A direct file-obj of a CSV file containing substitution information.
substitution_file CSV File

Do not include a header row. The CSV format is:

Phrase to remove from captions Phrase to use instead Case Sensitive (*optional)
Example

This JSON will add a substitution for "BadWord"

BadWord GoodWord True
BadWord2 GoodWord2 False
CensorWord ****
PATCH /models/v3/:model_id/substitutions

Action

Updates the substitution/blacklist words entries of a custom topic models.

Authentication:

Basic (username:password)

PATCH Parameters

:model_id (string) The ID name of the model to be modified.

PATCH Parameters (JSON)

patchSubstitutions An array of patch dictionary entries to update the model.
Patch Object
Word (named) An array of Substitution entries to update the model.
word The word key. It should be the word to remove from captions.
substitution The substitution that should appear in the captions.
caseSensitive  Boolean to only replace when the word casing exactly matches.
Example

This JSON will add a substitution for "BadWord", and delete an existing substitution for "OldBadWord"

{
    "patchSubstitutions":{
        "BadWord":{
            "word":"BadWord",
            "substitution":"GoodWord"
        },
        "OldBadWord":null
    }
}
                    

Denotes an optional parameter.

Scheduling


The Lexi Scheduling REST API is to provide a programmatic way to schedule your Lexi™ Live resources with EEG. The current API endpoint's root URI is:

https://eegcloud.tv/events

When accessing the REST API, you will be prompted to authenticate your credentials using your administrator account via HTTP Basic Authentication.
Please note that the current service expects you to POST data in JSON format.

Terminology:

  • event_id - Your scheduled event(s) will have an event_id that was determined by the "UID" from your ICS. This event could have a list of recurring events attached.
  • recurrence_id - If you edit a single event from the group of recurring events, it will gain a recurrence_id. This recurrence_id is the start datetime (YYYYMMDDTHHmmss) the recurring event was originally meant to start.
  • presumed_recurrence_id - This is the start datetime (YYYYMMDDTHHmmss) of the single recurring event that you want to modify separate from the group of recurring events.

The current version offers the following resources:

Retrieval


Resource Description
GET /events

Action

Retrieves list of all scheduled events from your credential set.

Authentication:

Basic (username:password)

GET Parameters

None

Query Parameters

event_id  Filter for events with the given event ID.
recurrence_id  Filter for events with the given recurrence ID.
duration_start  Filter for events after the given UNIX epoch timestamp.
duration_end  Filter for events before the given UNIX epoch timestamp.
calculate_recurrences  Shows the recurring events.
Values to use:
  • true
  • false

Denotes an optional parameter.

Create & Modify


Resource Description
POST /events

Action

Create scheduled event(s).

Authentication:

Basic (username:password)

POST Parameters

None

POST Parameters (JSON)

ics (string) The event ICS represented as a string. ICS (Internet Calendaring and Scheduling) or iCalendar is an open standard for sharing calendar information. Please refer to RFC 5545 for the ICS standard. Please use your ICS library to convert the ICS data into a string. Please see example below.
We strongly advise you to use a third-party library to accomplish this.
instance_id (string) A comma-separated string of one or more Lexi or Translate Instance IDs to be used for the event.
(e.g., "asr_instance_123,lango_instance_123")
product (string) The product to schedule an event with. Even if Translate instances are used, keep this as "lexi".
Values to use:
  • lexi
tasks (list) A list of tasks to execute related to the event. Note: The "trigger" and "related" fields conform to the ICS standard.
Task options:
  • Email Reminder:
    {
        "type": "reminder",
        "related": "start",
        "trigger": "-PT1M",
        "email_addresses": [
            "fred.flintstone@ai-media.tv"
        ]
    }
                                                    
  • Email Event Transcript:
    {
        "type": "transcript",
        "related": "end",
        "trigger": "PT1M",
        "email_addresses": [
            "fred.flintstone@ai-media.tv"
        ],
        "file_type": "vtt"
    }
                                                    

Query Parameters

None

Example

This JSON schedules an event recurring monthly every 3rd Monday for Fred Flintstone. Tasks include a reminder email 1 minute before the event start time and a email containing the transcript in WebVTT format 1 minute after the event end time.

{
    "ics": "BEGIN:VEVENT\r\nUID:602c7db9-8098-43dd-ae24-692a1dba939d@eegcloud.tv\r
        \nDTSTART;TZID=America/Los_Angeles:20230717T000000\r\nDTEND;TZID=America/Los_Angeles:20230717T003000\r
        \nSUMMARY:fredf_event\r\nRRULE:FREQ=MONTHLY;BYDAY=3MO\r\nEND:VEVENT\r\n",
    "tasks": [
        {
        "type": "reminder",
        "related": "start",
        "trigger": "-PT1M",
        "email_addresses": [
            "fred.flintstone@ai-media.tv"
        ]
        },
        {
        "type": "transcript",
        "related": "end",
        "trigger": "PT1M",
        "email_addresses": [
            "fred.flintstone@ai-media.tv"
        ],
        "file_type": "vtt"
        }
    ],
    "instance_id": "asr_instance_385rBs8u8JzUJRZK,lango_instance_173rGd4u8JzUJRLP",
    "product": "lexi"
}
                            
GET /events/:event_id

Action

Get scheduled event(s).

Authentication:

Basic (username:password)

GET Parameters

:event_id The ID of the event to retrieve.
POST /events/:event_id

Action

Separate a specific event from the base group of recurring scheduled event(s). Future updates to this event will be isolated to this event only and will not affect the associated group of recurring events.

Authentication:

Basic (username:password)

POST Parameters

:event_id The ID of the base group event.

Query Parameters

presumed_recurrence_id Specify the specific event from the group of recurring scheduled events. This is a unique ID that specifies which recurring event you want to modify and separate from the base group event(s).
Example: 20230821T000000 refers to an event on 8/21/2023.
PUT /events/:event_id

Action

Modify scheduled event(s). Any parameters changed or removed in the JSON body will be reflected in the scheduled event(s).

Authentication:

Basic (username:password)

PUT Parameters

:event_id The ID of the event to modify.

PUT Parameters (JSON)

ics (string) The event ICS represented as a string.
To modify the ICS:
  1. Retrieve the ICS string from the response body when you originally created the event
  2. Use an ICS library to convert the ICS string to an Event object
  3. Modify the Event object with the desired settings
  4. Convert the Event Object back to an ICS string
For example, to modify the RRULE statement to change the event recurrence pattern, add an UNTIL value to end the recurrence after 7/21/2023: "... RRULE:FREQ=WEEKLY;BYDAY=FR;UNTIL=20230721T070001Z ..."

Note: Do not modify the tasks within the ICS (indicated by the "X-EEG-TASKS" field). If you would like to modify the email reminder or email event transcript tasks, please modify them in the "tasks" object below and not within the ICS.
instance_id (string) A comma-separated string of one or more Lexi or Translate Instance IDs to be used for the event.
(e.g., "asr_instance_123,lango_instance_123")
product (string) The product to schedule an event with.
Values to use:
  • lexi
tasks (object) A list of tasks to execute related to the event. Note: The "trigger" and "related" fields conform to the ICS standard.
Task options:
  • Email Reminder:
    {
        "type": "reminder",
        "related": "start",
        "trigger": "-PT1M",
        "email_addresses": [
            "fred.flintstone@ai-media.tv"
        ]
    }
                                                    
  • Email Event Transcript:
    {
        "type": "transcript",
        "related": "end",
        "trigger": "PT1M",
        "email_addresses": [
            "fred.flintstone@ai-media.tv"
        ],
        "file_type": "vtt"
    }
                                                    

Query Parameters

presumed_recurrence_id  Specify the recurrence_id if you want to modify a specific event that was separated from the group of recurring scheduled events. This recurrence_id would match the presumed_recurrence_id that you specified in the above POST request.
Example: 20230821T000000 refers to an event on 8/21/2023.

Denotes an optional parameter.

Cancel & Delete


Resource Description
PUT /events/:event_id/cancel?recurrence_id=:recurrence_id

Action

Cancels a scheduled event with the given event ID.

PUT Parameters

:event_id ID of the events to cancel.

Query Parameters

recurrence_id  Filter for a specific event with the given recurrence ID.
Example: 20230821T000000 refers to an event on 8/21/2023.
PUT /events/:event_id/uncancel?recurrence_id=:recurrence_id

Action

Uncancels a scheduled event with the given event ID.

PUT Parameters

:event_id ID of the events to uncancel.

Query Parameters

recurrence_id  Filter for a specific event with the given recurrence ID.
Example: 20230821T000000 refers to an event on 8/21/2023.
DELETE /events/:event_id

Action

Deletes all events with the specified event ID.

Authentication:

Basic (username:password)

DELETE Parameters

:event_id ID of the events to delete.

Denotes an optional parameter.