API Documentation

General

Base Url: https://54i2k0z0vf.execute-api.cn-north-1.amazonaws.com.cn/prod/

HeaderRequiredDescription
x-sdk-key1YESYour SDK Key
originYESThe origin 2
Content-TypeYESapplication/json

1. Your SDK Key.

2. The domain name you associated to that specific SDK key. In localhost, you don't need to specify that origin.


  • The request for GET and DELETE endpoints are query-parameter.
  • The request for POST and PUT are json.

The response will always follow this format:

In case of success

{
  data: DATA OBJECT
}

In case of error

{
  error: 'ERROR MESSAGE'
}

Error Codes

CodeDescription
400The parameters are wrong, or the required parameters are missing
401Not authorized. Your SDK Key is wrong or missing, or the origin is not matching the SDK key
403Forbidden. The operation is valid but not with the current values
404Not found (Check the message to know what wasn`t found)
409Conflict, some data is duplicated or not allowed.
412Internal Call Error
500Internal Server Error

Create an Event

  • Create an event associated to your SDK Key.
  • You can see all your events from your dashboard

Request Parameters

  • End Point /events
  • Method POST

Body Parameter:

ParameterTypeRequiredDescriptionExample
nameStringYESEvent NameMy SDK Event
startDateIntegerYESStarting date/time of your event. Time Stamp (ms)1630496799164
endDateIntegerYESEnding date/time of your event. Time Stamp (ms) 11630501799164
streamUrlStringYESThe stream of your event. This stream will be shown to the interpreters.
streamTypeEnumYESnone, m3u8, vimeo, youtubevimeo
floorLanguageStringYESThe main language of your event.2en-US

1. The ending date must always be after the starting date.
2. See Akkadu's supported languages GET languages.


HTTP Request example

POST /event
Accept: application/json
x-sdk-key: {YOUR-KEY}

{
  "name": "My SDK Event", 
  "startDate": 1630496799164,
  "endDate": 1630501799164,
  "streamUrl": "https://akkadu.com",
  "streamType": "other",
  "floorLanguage": "en-US"
}

HTTP Response Example

{
  {
  "data": {
    "event": {
      "roomName": "zved", // Unique room name of your event
      "name": "My SDK Event", //Event readable name
      "streamType": "rtmp", // Type of stream
      "streamUrl": "rtmp://push.duokast.com/static/d4690664-87a5-462b-b1bd-bf1ba9427376",
      "floorLanguage": "en-US", // The main language of your event
      "startDate": 1630496799164, // Starting date/time of your event
      "endDate": 1630501799164 // Ending date/time of your event
    }
  },
}

Update an Event

Update an existing event using the roomName of the event.

Request Parameters

  • End Point /events

  • Method PUT

Query parameters:

ParameterTypeRequiredDescriptionExample
roomNameStringYESThe event you want to editzved

Body parameters:

ParameterTypeRequiredDescriptionExample
nameStringNOEvent nameMy SDK Event
startDateIntegerNOStarting date/time of your event. Time Stamp (ms)1630496799164
endDateIntegerNOEnding date/time of your event. Time Stamp (ms) 11630501799164
streamUrlStringYESThe stream of your event. This stream will be shown to the interpreters.
streamTypeEnumNOnone, m3u8, vimeo, youtubevimeo
floorLanguageStringYESThe main language of your event.2en-US

1. The ending date must always be after the starting date.
2. See Akkadu's supported languages GET languages.

HTTP Request example

PUT /event?roomName={ROOM_NAME} 
Accept: application/json
x-sdk-key: {YOUR-KEY}

{
  "name": "My SDK Event",
  "startDate": 1630496799164,
  "endDate": 1630501799164,
  "streamUrl": "https://akkadu.com",
  "streamType": "other",
  "floorLanguage": "en-US"
}

HTTP Response Example

{
  {
  "data": {
    "event": {
      "roomName": "zved", // Unique room name of your event
      "name": "My SDK Event", //Event readable name
      "streamType": "rtmp", // Type of stream
      "streamUrl": "rtmp://push.duokast.com/static/d4690664-87a5-462b-b1bd-bf1ba9427376",
      "floorLanguage": "en-US",
      "startDate": 1630496799164, // Starting date/time of your event
      "endDate": 1630501799164 // Ending date/time of your event
    }
  },
}

Delete an Event

Delete an event by roomName.

Request Parameters

  • End Point /events

  • Method DELETE

Query parameters:

ParameterTypeRequiredDescriptionExample
roomNameStringYESDelete by roomNamezved

HTTP Request example

DELETE /event?roomName={ROOM_NAME}
Accept: application/json
x-sdk-key: {YOUR-KEY}

HTTP Response Example

We return the deleted event:

{
  {
  "data": {
    "event": {
      "roomName": "zved", // Unique room name of your event
      "name": "My SDK Event", //Event readable name
      "streamType": "rtmp", // Type of stream
      "streamUrl": "rtmp://push.duokast.com/static/d4690664-87a5-462b-b1bd-bf1ba9427376",
      "floorLanguage": "en-US",
      "startDate": 1630496799164, // Starting date/time of your event
      "endDate": 1630501799164 // Ending date/time of your event
    }
  },
}

Get Languages

Get all the languages supported by Akkadu for translation.

Request Parameters

End Point /events/languages
Method: GET

  • No parameters are required.

HTTP Request example

GET /events/languages
Accept: application/json

HTTP Response Example

{
  "data": {
    "languages": [
      {
        "name": "English", //Language Label
        "code": "en-US" // Language Code
      },
      {
        "name": "Chinese",
        "code": "zh-CN"
      },
      {
        "name": "Spanish",
        "code": "es-ES"
      }
  }
}

Get Event List

  • Get the list of all the events associated to a specific SDK KEY.
    • ['abcd','gfht']
  • You can also query by roomName.

Request Parameters

  • End Point /events

  • Method GET

Query parameters:

ParameterTypeRequiredDescriptionExample
roomNameStringNOFilter by room name1zved
  1. If the room name doesn`t exist, it will throw 404 Not found error. Otherwise you will get an array with one item only.

HTTP Request example

GET /event HTTP/1.1
Accept: application/json
x-sdk-key: {YOUR-KEY}

HTTP Response Example

We return the deleted event

{
  "data": {
    "events": [
      {
        "roomName": "zved", // Unique room name of your event
        "name": "My SDK Event", //Event readable name
        "streamType": "rtmp", // Type of stream
        "streamUrl": "rtmp://push.duokast.com/static/d4690664-87a5-462b-b1bd-bf1ba9427376",
        "floorLanguage": "en-US",
        "startDate": 1630496799164, // Starting date/time of your event
        "endDate": 1630501799164 // Ending date/time of your event
        "languages": [
            {
              "languages": "es-ES", // Language Code
              "interpreters": ["interpreter1@akkadu.com", "interpreter2@akkadu.com"] // List of intepreters's emails
            },
            {
              "languages": "fr-FR",
              "interpreters": ["interpreter3@akkadu.com", "interpreter4@akkadu.com"]
            }
          ]
        }
    ]

  },
}

Update the interpreters of an event

  • Each language of your event must have at least one interpreter.
    • Usually, the interpretation is performed by a pair of interpreters.
  • The interpreter must have previously registered in Akkadu dashboard
  • The chosen language code cannot be the same as the floor's language code. (The original language of your event)

Request Parameters

  • End Point /events/interpreters

  • Method PUT

Query parameters:

ParameterTypeRequiredDescriptionExample
roomNameStringNOFilter by room namezved

Body parameters:

ParameterTypeRequiredDescriptionExample
languageCodeStringYESSupported Language Code 1es-ES
pair1StringYESInterpreter's email2interpreter1@akkadu.com
pair2StringNOInterpreter's email2interpreter2@akkadu.com

1. See [Akkadu's supported languages] GET languages.

2. The interpreter's email has to be registered in Akkadu


HTTP Request example

PUT /events/interpreters?roomName={} 
Accept: application/json
x-sdk-key: {YOUR-KEY}

{
  "languageCode": "es-ES", # Language code
  "pair1": "interpreter1@akkadu.com", # Interpreter's email *
  "pair2": "interpreter2@akkadu.com", # Interpreter's email 
}

HTTP Response Example

We return the updated language

{
  "data": {
    {
      "languageCode": "es-ES", 
      "pair1": "interpreter1@akkadu.com", 
      "pair2": "interpreter2@akkadu.com" 
    },
  },
}