REST API v2 Migration guide

This guide will help migrating from REST API v1 to v2 with side-by-side comparisons of all API requests and responses. Only differences are shown.

Main changes

  • Endpoints have been redesigned
  • Lists in v2 are all paginated
  • skip parameter has been renamed offset
  • Many more filters have been added
  • Logo is now part of the company theme
  • User parameter can_video has been renamed allow_camera
  • recording and recording_type parameters have been merged into a single parameter recording, whose values can be: null - which means the recording is deactivated, automatic or manual
  • Recordings can be deleted
  • Chats are referenced by parameter channel_id
  • Webhooks are referenced by IDs and can be updated in an easier way
  • Webhook versions are now named 0.1, 1, 2 instead of v0, v1, v2

📘

Important note

Old endpoints in the format [rootpath].bandyer.com are not supported in v2.
Please use the format api.[region].bandyer.com (e.g. https://api.eu.bandyer.com/v2/company)

Company

Get Company

v1 v2
Request 
GET /rest/company Changed
GET /v2/company
Response 
{
  "company": { Removed
    "name": "string",
    "default_language": "string",
    "logos": {
      "light_url": "string",
      "dark_url": "string"
    },
    "default_background": "string",
    "end_call_redirect_url": "string",
    "end_call_redirect_timeout_ms":  
      integer,
    "user_details_provider_url": "string"
  }
}
{
  "name": "string",
  "default_language": "string",
  "logos": {
    "light_url": "string",
    "dark_url": "string"
  },
  "default_background": "string",
  "end_call_redirect_url": "string",
  "end_call_redirect_timeout_ms": 
integer,
  "user_details_provider_url": "string"
}

Update Company

v1 v2
Request 
POST /rest/company/update Changed
PUT /v2/company
Response 
{
  "company": { Removed
    "name": "string",
    "default_language": "string",
    "default_background": "string",
    "end_call_redirect_url": "string",
    "end_call_redirect_timeout_ms": 
      integer,
    "user_details_provider_url": "string"
  }
}
{
  "name": "string",
  "default_language": "string",
  "default_background": "string",
  "end_call_redirect_url": "string",
  "end_call_redirect_timeout_ms": 
    integer,
  "user_details_provider_url": "string"
}

Update Company logo

v1 v2
Request 
POST /rest/company/logo/update Changed
PUT /v2/company/theme/logo
Response 
Changed
{
  "logo_url": "string",
  "logo_dark_url": "string"
}
{
  "light": {
    "primary_color": "string",
    "accent_color": "string",
    "logo_url": "string"
  },
  "dark": {
    "primary_color": "string",
    "accent_color": "string",
    "logo_url": "string"
  }
}

Get Company backgrounds

v1 v2
Request 
GET /rest/company/virtual-backgrounds Changed
GET /v2/company/virtual-backgrounds

Upload Company background

v1 v2
Request 
POST /rest/company/virtual-background Changed
POST /v2/company/virtual-backgrounds
Response 
{
  "virtual_background": { Changed
    "background_alias": "string",
    "url": "string",
    "creation_date": "string"
  }
}
{
  "background_alias": "string",
  "url": "string",
  "creation_date": "string"
}

Delete Company background

v1 v2
Request 
DELETE /rest/company/virtual-background Changed
DELETE /v2/company/virtual-backgrounds
Response 
{
  "alias": "string" Changed
}
{
  "background_alias": "string",
  "url": "string",
  "creation_date": "string"
}

Get Company theme

v1 v2
Request 
GET /rest/company/theme Changed
GET /v2/company/theme
Response 
{
  "theme": { Removed
    "light": {
      "primary_color": "string",
      "accent_color": "string"
    },
    "dark": {
      "primary_color": "string",
      "accent_color": "string"
    }
  }
}
{
  "light": {
    "primary_color": "string",
    "accent_color": "string",
    "logo_url": "string" Added
  },
  "dark": {
    "primary_color": "string",
    "accent_color": "string",
    "logo_url": "string" Added
  }
}

Update Company theme

v1 v2
Request 
POST /rest/company/theme Changed
PUT /v2/company/theme
Response 
{
  "theme": { Removed
    "light": {
      "primary_color": "string",
      "accent_color": "string"
    },
    "dark": {
      "primary_color": "string",
      "accent_color": "string"
    }
  }
}
{
  "light": {
    "primary_color": "string",
    "accent_color": "string",
    "logo_url": "string" Added
  },
  "dark": {
    "primary_color": "string",
    "accent_color": "string",
    "logo_url": "string" Added
  }
}

Get Company translations

v1 v2
Request 
GET /rest/company/translation/list Changed
GET /v2/company/translations

Update Company translation

v1 v2
Request 
POST /rest/company/translation Changed
--form language={lang}
--form '[email protected]'
PUT /v2/company/translations/{lang}
--form '[email protected]'

Delete Company translation

v1 v2
Request 
DELETE 
/rest/company/translation?language={lang} Changed
DELETE /v2/company/translations/{lang}
Response 
{
  "translation": {
    "language": "en"
  }
}
{
  "translation": {
    "url": "string", Added
    "language": "en"
  }
}

User

Get Users

v1 v2
Request 
GET /rest/user/list Changed
GET /v2/users
Response 
Changed
{
  "user_id_list": [
    "usr_12345678901",
    ...
  ]
}
{
  "users": [
    {
      "id": "usr_12345678901",
      "role": "plus",
      "allow_camera": true,
      "language": "it",
      "creation_date": "string",
      "avatar_url": "string",
      "active": true
    },
    ...
  ]
}

Get User

v1 v2
Request 
GET /rest/user/list/{user_id} Changed
GET /v2/users/{user_id}
Response 
{
  "user": { Removed
    "id": "usr_12345678901",
    "role": "plus",
    "can_video": true, Changed
    "language": "en",
    "firstName": "string", Removed
    "lastName": "string", Removed
    "nickname": "string", Removed
    "email": "string", Removed
    "creation_date": "string",
    "active": true
  }
}
{
  "id": "usr_12345678901",
  "role": "plus",
  "allow_camera": true,
  "language": "en",
  "creation_date": "string",
  "avatar_url": "string", Added
  "active": true
}

Create User

v1 v2
Request 
POST /rest/user/create
{
  "role": "basic",
  "id": "usr_491c566f19c7",
  "can_video": true, Changed
  "language": "en"
}
POST /v2/users
{
  "role": "basic",
  "allow_camera": true,
  "id": "usr_491c566f19c7",
  "language": "en"
}
Response 
200 Changed
{
  "user": { Removed
    "id": "usr_491c566f19c7",
    "role": "basic",
    "can_video": true, Changed
    "language": "en",
    "creation_date": "string"
  },
  "id": "usr_491c566f19c7"
}
201
{
  "id": "usr_491c566f19c7",
  "role": "basic",
  "allow_camera": true,
  "language": "en",
  "creation_date": "string",
  "avatar_url": "string", Added
  "active": true
}

Update User

v1 v2
Request 
PUT /rest/user/update/{user_id} Changed
{
  "role": "basic",
  "id": "usr_491c566f19c7",
  "can_video": true, Changed
  "language": "en"
}
PUT /v2/users/{user_id}
{
  "role": "basic",
  "allow_camera": true,
  "id": "usr_491c566f19c7",
  "language": "en"
}
Response 
{
  "user": { Removed
    "id": "usr_491c566f19c7",
    "role": "basic",
    "can_video": true, Changed
    "language": "en",
    "creation_date": "string"
  },
  "id": "usr_491c566f19c7"
}
{
  "id": "usr_491c566f19c7",
  "role": "basic",
  "allow_camera": true,
  "language": "en",
  "creation_date": "string",
  "avatar_url": "string", Added
  "active": true
}

Update all user permissions

v1 v2
Request 
PUT /rest/user/update/all/permissions Removed
Removed

Update User avatar

v1 v2
Request 
PUT /rest/user/avatar/update/{user_id} Changed
PUT /v2/users/{user_id}/avatar
Response 
{
  "avatar_url": "string"
}
{
  "id": "usr_491c566f19c7", Added
  "avatar_url": "string"
}

Get User Room List

v1 v2
Request 
GET /rest/user/room/list/{user_id} Changed
GET /v2/rooms?user_id={user_id}
Response 
{
  "room_list": [ Changed
    {
      "room_id": "room_654e983ebf9d", Changed
      "creation_date": "string"
    },
    ...
  ]
}
{
  "offset": 0, Added
  "limit": 20, Added
  "has_more": true, Added
  "count": 20, Added
  "rooms": [
    {
      "id": "room_654e983ebf9d",
      "recording": "none", Added
      "call_type": "audio_video", Added
      "description": "", Added
      "status": "not_running", Added
      "disabled": false, Added
      "creation_date": "string",
      "duration": 60000, Added
      "live": false Added
    },
    ...
  ]
}

Get User Session List

v1 v2
Request 
GET /rest/user/{user_id}/session/list Changed
GET /v2/sessions?user_id={user_id}
Response 
{
  "skip": 0, Changed
  "limit": 20,
  "has_more": true,
  "count": 20,
  "sessions": [
    {
      "session_id": "string", Changed
      "creation_date": "string",
      "duration": 3301,
      "connected_participants": [
        "usr_12345678901",
        "usr_23456789012",
      ],
      "room_id": "room_adcd1c319fc5"
    },
    ...
  ]
}
{
  "sessions": [
    {
      "id": "string",
      "creation_date": "string",
      "duration": 3301,
      "connected_participants": [
        "usr_12345678901",
        "usr_23456789012",
      ],
      "room_id": "room_adcd1c319fc5"
    },
    ...
    ],
  "offset": 0,
  "limit": 20,
  "has_more": true,
  "count": 20
}

Get User Chat List

v1 v2
Request 
GET /rest/user/{user_id}/chat/list Changed
GET /v2/chats?participants={user_id}
Response 
Changed
{
  "user_id": "usr_12345678901",
  "chat_list": [
    {
      "users": [
        "usr_12345678901",
        "usr_23456789012"
      ],
      "channel_id": "ch_e50a706e319f",
      "unread_messages_count": 2,
      "last_message": {
        "message_id": "msg_49f0452191df",
        "body": "hi",
        "from": "usr_23456789012",
        "date": "string",
        "type": "text"
      }
    },
    ...
  ]
}
{
  "channels": [
    {
      "id": "ch_e19097eca931",
      "participants": [
        "usr_12345678901",
        "usr_23456789012"
      ],
      "last_message": {
        "message_id": "msg_e2a7ad129265",
        "body": "hi",
        "from": "usr_23456789012",
        "date": "string",
        "type": "text"
      },
      "last_read_users_messages": [
        {
          "user_id": "usr_12345678901",
          "message_id": "msg_e2a7ad129265"
        }
      ],
      "deletion_date": "string",
      "creation_date": "string"
    },
    ...
  ],
  "offset": 0,
  "limit": 20,
  "has_more": false,
  "count": 13
}

Get User Upload List

v1 v2
Request 
GET /rest/user/{user_id}/upload/list Changed
GET /v2/uploads?user_id={user_id}

Delete User

v1 v2
Request 
DELETE /rest/user/delete/{user_id} Changed
DELETE /v2/users/{user_id}

Room

Get Room List

v1 v2
Request 
GET /rest/room/list Changed
GET /v2/rooms
Response 
{
  "skip: 0, Changed
  "limit": 20,
  "has_more": true,
  "count": 20,
  "rooms": [
    {
      "room_id": "room_510366f215b6", Changed
      "record": false,
      "call_type": "audio_video",
      "live": true,
      "description": "SDK call",
      "status": "NOT_RUNNING", Changed
      "creationDate": "string" Changed
    },
    ...
  ]
}
{
  "offset": 0,
  "limit": 20,
  "has_more": true,
  "count": 20,
  "rooms": [
    {
      "id": "room_510366f215b6",
      "recording": "none",
      "call_type": "audio_video",
      "description": "description",
      "status": "not_running",
      "disabled": false, Added
      "creation_date": "string",
      "duration": null,
      "live": true
    },
    ...
  ]
}

Get Room Information

v1 v2
Request 
GET /rest/room/info/{room_id} Changed
GET /v2/rooms/{room_id}
Response 
{
  "room": { Removed
    "room_id": "room_2d4213ba8cdc", Changed
    "record": 0, Changed
    "recording_type": "automatic", Changed
    "recording_status": "stopped",
    "duration": 0,
    "durationUsed": 0, Changed
    "call_type": "audio_upgradable",
    "live": true,
    "description": "description",
    "status": "NOT_RUNNING", Changed
    "user_urls": [ Changed
      {
        "user": "user1", Changed
        "url": "string"
      },
      ...
    ],
    Removed
    "dialInfo": {
      "sessions": {
        "number": 0,
        "hours": 0,
        "minutes": 0,
        "seconds": 0,
        "users": 2,
        "details": []
      }
    }
  }
}
{
  "id": "room_2d4213ba8cdc",
  "recording": "none",
  "call_type": "audio_upgradable",
  "description": "description",
  "status": "not_running",
  "disabled": false, Added
  "creation_date": "string", Added
  "duration": 0,
  "live": true,
  "participants": [
    {
      "user_id": "user1",
      "url": "string"
    },
    ...
  ],
  "recording_status": "stopped",
  "duration_used": 0
}

In order to retrieve the list of sessions belonging to a room, you must use the new Get All Sessions API passing the room_id as a parameter.

Create Room

v1 v2
Request 
POST /rest/room/create Changed
{
  "participants": [
    {
      "user_id": "user1",
      "is_admin": true
    },
    ...
  ],
  "recording": false, Changed
  "recording_type": "automatic", Removed
  "call_type": "audio_video",
  "live": true,
  "initiatorAlias": "luca.calabrese" Removed
}
POST /v2/rooms
{
  "participants": [
    {
      "user_id": "user1",
      "is_admin": true
    },
    ...
  ],
  "recording": "automatic",
  "call_type": "audio_video",
  "live": true
}
Response 
200 Changed
{
 "room": { Removed
    "room_id": "room_b77ec6f1edbe", Changed
    "recording": true, Changed
    "recording_type": "automatic",
    "record": 1, Changed
    "duration": 0,
    "directCall": true,
    "call_type": "audio_video",
    "live": true,
    "user_urls": [
      {
        "user": "user1", Changed
        "url": "string",
        "tools": {
          ...
        },
        "is_admin": true
      },
      ...
    ]
  }
}
201
{
  "id": "room_b77ec6f1edbe",
  "record": true,
  "recording_type": "automatic",
  "recording": "automatic",
  "call_type": "audio_video",
  "status": "not_running", Added
  "disabled": false, Added
  "creation_date": "string", Added
  "duration": 0,
  "live": true,
  "participants": [
    {
      "user_id": "user1",
      "url": "string",
      "is_admin": true,
      "tools": {
        ...
        }
      }
    },
    ...
  ],
  "directCall": false
}

Room Call Action

v1 v2
Request 
POST /rest/room/{room_id}/call Changed
POST /v2/rooms/{room_id}/call
Response 
204 Changed
200

Get Room uploads

v1 v2
Request 
GET /rest/room/{room_id}/upload/list Changed
GET /v2/uploads?room_id={room_id}
Response 
{
  "skip": 0, Changed
  "limit": 20,
  "has_more": false,
  "count": 5,
  "uploads": [
    {
      "key": "key",
      "upload_type": "file_upload",
      "user_id": "user1",
      "session_id": "session_7eb1cc668a67",
      "room_id": "room_edd42d4097f9"
    },
    ...
  ]
}
{
  "offset": 0,
  "limit": 20,
  "has_more": false,
  "count": 5,
  "uploads": [
    {
      "key": "key",
      "upload_type": "file_upload",
      "user_id": "ste2",
      "session_id": "session_7eb1cc668a67",
      "room_id": "room_edd42d4097f9",
      "creation_date": "string" Added
    },
    ...
  ]
}

Get Room Envelopes

v1 v2
Request 
GET /rest/room/{room_id}/envelope/list Changed
GET /v2/envelopes?room_id={room_id}
Response 
{
  "skip": 0, Changed
  "limit": 20,
  "has_more": true,
  "count": 0,
  "envelopes": [
    ...
  ]
}
{
  "offset": 0,
  "limit": 20,
  "has_more": true,
  "count": 0,
  "envelopes": [
    ...
  ]
}

Start Recording

v1 v2
Request 
POST /rest/room/{room_id}/start-recording
Changed
POST /v2/rooms/{room_id}/start-recording

Stop Recording

v1 v2
Request 
POST /rest/room/{room_id}/stop-recording Changed
POST /v2/rooms/{room_id}/stop-recording

Disable Room

v1 v2
Request 
PUT /rest/room/disable/{room_id} Changed
PUT /v2/rooms/{room_id}/disable

Delete Room

v1 v2
Request 
DELETE /rest/room/delete/{room_id} Changed
DELETE /v2/rooms/{room_id}
Response 
{
  "room": { Removed
    "room_id": "string", Changed
    "message": "string"
  }
}
{
  "id": "string",
  "message": "string"
}

Session

Get Sessions

v1 v2
Request 
GET /rest/session/list Changed
GET /v2/sessions
Response 
{
  "skip": 0, Changed
  "limit": 20,
  "has_more": true,
  "count": 20,
  "sessions": [
    {
      "session_id": "string", Changed
      "creation_date": "string",
      "duration": null,
      "connected_participants": [
        "usr_0086354c033b",
        "usr_dd7cc95bc521"
      ],
      "room_id": "room_81a1653d84f5",
      "broadcast_id": null
    },
    ...
  ]
}
{
  "sessions": [
    {
      "id": "string",
      "creation_date": "string",
      "duration": null,
      "connected_participants": [
        "usr_0086354c033b",
        "usr_dd7cc95bc521"
      ],
      "room_id": "room_81a1653d84f5",
      "broadcast_id": null
    },
    ...
  ],
  "offset": 0,
  "limit": 20,
  "has_more": true,
  "count": 20
}

Get Session

v1 v2
Request 
GET /rest/session/{session_id} Changed
GET /v2/sessions/{session_id}
Response 
{
  "session_id": "string", Changed
  "creation_date": "string",
  "duration": null,
  "connected_participants": [
    "usr_0086354c033b",
    "usr_dd7cc95bc521"
  ],
  "room_id": "room_81a1653d84f5",
  "broadcast_id": null
}
{
  "id": "string",
  "creation_date": "string",
  "duration": null,
  "connected_participants": [
    "usr_0086354c033b",
    "usr_dd7cc95bc521"
  ],
  "room_id": "room_81a1653d84f5",
  "broadcast_id": null
}

Get Session Connection Events

v1 v2
Request 
GET /rest/session/{session_id}/connection/list 
Changed
GET /v2/sessions/{session_id}/connection
Response 
{
 "skip": 0, Changed
  "limit": 20,
  "has_more": false,
  "count": 2,
 "session_id": "session_5f3b75e96f1a", Changed
  "connection_events": [
    {
      "user_id": "usr_0086354c033b",
      "timestamp": "string",
      "event": "User Connected"
    },
    ...
  ]
}
{
  "session": { Added
    "id": "session_5f3b75e96f1a",
    "connection_events": [
      {
        "user_id": "usr_0086354c033b",
        "timestamp": "string",
        "event": "User Connected"
      },
      ...
    ]
  },
  "offset": 0,
  "limit": 20,
  "has_more": false,
  "count": 2
}

Get Session Upload List

v1 v2
Request 
GET /rest/session/{session_id}/upload/list
Changed
GET /v2/uploads?session_id={session_id}
Response 
{
  "skip": 0, Changed
  "limit": 20,
  "has_more": false,
  "count": 1,
  "uploads": [
    {
      "key": "string",
      "upload_type": "snapshot",
      "user_id": "usr_bdbda22189df",
      "session_id": "session_f190505eda4f",
      "room_id": "room_2996524c655b"
    }
  ]
}
{
  "offset": 0,
  "limit": 20,
  "has_more": false,
  "count": 1,
  "uploads": [
    {
      "key": "string",
      "upload_type": "snapshot",
      "user_id": "usr_bdbda22189df",
      "session_id": "session_f190505eda4f",
      "room_id": "room_2996524c655b",
      "creation_date": "string" Added
    }
  ]
}

Get Session Envelope List

v1 v2
Request 
GET /rest/session/{session_id}/envelope/list
Changed
GET /v2/envelopes?session_id={session_id}
Response 
{
  "skip": 0, Changed
  "limit": 20,
  "has_more": false,
  "count": 1,
  "envelopes": [
    {
      "id": "string",
      "friendly_name": "string",
      "room_id": "string",
      "session_id": "string",
      "status": "completed",
      "sender": "user1",
      "signer": "user2",
      "creation_date": "string",
      "updated_at": "string"
    }
  ]
}
{
  "offset": 0,
  "limit": 20,
  "has_more": false,
  "count": 1,
  "envelopes": [
    {
      "id": "string",
      "friendly_name": "string",
      "room_id": "string",
      "session_id": "string",
      "status": "completed",
      "sender": "user1",
      "signer": "user2",
      "creation_date": "string",
      "updated_at": "string"
    }
  ]
}

Get Session Recording

v1 v2
Request 
GET /rest/room/recording/{session_id} Changed

Query parameter expire_time is expressed in milliseconds Changed
GET /v2/sessions/{session_id}/recording

Query parameter expire_time is expressed in seconds
Response 
{
  "url": "string"
}
{
  "id": "session_c144f9a643b5", Added
  "url": "string",
  "room_id": "room_09cc0b742cd8" Added
}

Recording

Get Recording Configuration

v1 v2
Request 
GET /rest/recording/configuration Changed
GET /v2/company/recording-settings

Update Recording Configuration

v1 v2
Request 
POST /rest/recording/configuration Changed
PUT /v2/company/recording-settings

Encryption Key

Get Encryption Keys

v1 v2
Request 
GET /rest/key/list Changed
?skip={skip} Changed
&limit={limit}
&start_date={start_date} Changed
&end_date={end_date} Changed
GET /v2/company/encryption-keys
?offset={skip}
&limit={limit}
&from={start_date}
&to={end_date}
Response 
{
  "skip": 0, Changed
  "limit": 20,
  "has_more": false,
  "count": 1,
  "keys": [
    {
      "key_id": "string",
      "creation_date": "string"
    }
  ]
}
{
  "keys": [
    {
      "key_id": "string",
      "creation_date": "string"
    }
  ],
  "offset": 0,
  "limit": 20,
  "has_more": false,
  "count": 1
}

Get Encryption Key

v1 v2
Request 
GET /rest/key/{key_id} Changed
GET /v2/company/encryption-keys/{key_id}

Create Encryption Key

v1 v2
Request 
POST /rest/key/create Changed
POST /v2/company/encryption-keys

Chat

Get Chat Messages

v1 v2
Request 
GET /rest/chat/messages Changed
GET /v2/chats/{channel_id}/messages
Response 
{
  "meta": { Removed
    "page_number": 0, Changed
    "page_size": 50, Changed
    "next": null, Changed
    "previous": null Changed
  },
  "messages": [
    {
      "message_id": "msg_30f19798fbb8",
      Changed
      "body": "Hello", Changed
      "from": "user1", Changed
      "date": "string", Changed
      "type": "text" Removed
    },
    ...
  ]
}
{
  "messages": [
    {
      "id": "msg_e2a7ad129265",
      "channel_id": "ch_e19097eca931", Added
      "message": "Hello",
      "sender": "user1",
      "timestamp": "string"
    },
    ...
  ],
  "offset": 0,
  "limit": 20,
  "has_more": false,
  "count": 10
}

Send Message

v1 v2
Request 
POST /rest/chat/messages Changed
{
  "users": [ Removed
    "luca.calabrese2",
    "luca.calabrese"
  ],
  "sender": "luca.calabrese",
  "message": "Hello",
  "channel_id": "asdasdasd" Removed
}
POST /v2/chats/{channel_id}/messages
{
  "sender": "luca.calabrese",
  "message": "hello"
}
Response 
200 Changed
{
  "users": [ Removed
    "string"
  ],
  "channel_id": "string",
  "sender": "string",
  "message_id": "string", Removed
  "message": "string",
  "timestamp": "string"
}
201
{
  "id": "string",
  "channel_id": "string",
  "message": "string",
  "sender": "string",
  "timestamp": "string"
}

Add Chat

v1 v2
Request 
POST /rest/chat/add Changed
{
  "users": [ Changed
    "luca.calabrese",
    "luca.calabrese2"
  ]
}
POST /v2/chats
{
  "participants": [ Changed
    "luca.calabrese",
    "luca.calabrese2"
  ]
}
Response 
200 Changed
{
  "chat": { Removed
    "users": [ Changed
      "user1",
      "user2"
    ],
    "channel_id": "string" Changed
  },
  "message": "Chat added" Removed
}
201
{
  "id": "string",
  "participants": [
    "user1",
    "user2"
  ]
}

Remove Chat

v1 v2
Request 
POST /rest/chat/remove Changed
{
  "users": [ Removed
    "user1",
    "user2"
  ],
  "channel_id": "adasdas" Removed
}
DELETE /v2/chats/{channel_id}
Response 
{
  "chat": { Removed
    "users": [ Removed
      "string"
    ],
    "channel_id": "string" Changed
  },
  "message": "string"
}
{
  "id": "string",
  "message": "string"
}

Get Channel Details

v1 v2
Request 
GET /rest/chat?users=user1&users=user2
&channel_id={channel_id} Changed
GET /v2/chats/{channel_id}
Response 
{
  "channel_id": "ch_e19097eca931", Changed
  "users": [ Changed
    "user1",
    "user2"
  ],
  "last_read_users_messages": [
    {
      "user_id": "user1"
    }
  ],
  "last_message": {
    "message_id": "msg_e2a7ad129265",
    "body": "Hello",
    "from": "user1",
    "date": "string",
    "type": "text"
  }
}
{
  "id": "ch_e19097eca931",
  "participants": [
    "user1",
    "user2"
  ],
  "last_message": {
    "message_id": "msg_e2a7ad129265",
    "body": "Hello",
    "from": "user1",
    "date": "string",
    "type": "text"
  },
  "last_read_users_messages": [
    {
      "user_id": "user1",
      "message_id": "msg_e2a7ad129265" Added
    }
  ],
  "deletion_date": "string", Added
  "creation_date": "string" Added
}

Upload

Get Upload Resource List

v1 v2
Request 
GET /rest/upload/list Changed
?skip=0 Changed
GET /v2/uploads
?offset=0
'limit' must be greater than 
or equal to 10 Changed
Response 
{
  "skip": 0, Changed
  "limit": 1,
  "has_more": true,
  "count": 10,
  "uploads": [
    {
      "key": "string",
      "upload_type": "snapshot",
      "creation_date": "string",
      "user_id": "usr_7455401d00d4",
      "session_id": "session_ad22cea1eeff",
      "room_id": "room_c2bf52ad1354"
    },
    ...
  ]
}
{
  "offset": 0,
  "limit": 10,
  "has_more": true,
  "count": 10,
  "uploads": [
    {
      "key": "string",
      "upload_type": "snapshot",
      "user_id": "usr_7455401d00d4",
      "session_id": "session_ad22cea1eeff",
      "room_id": "room_c2bf52ad1354",
      "creation_date": "string"
    },
    ...  
  ]
}

Get Upload Resource

v1 v2
Request 
GET /rest/upload/resource
?upload_key={upload_key} Changed
GET /v2/uploads/{upload_key}

Delete Upload

v1 v2
Request 
DELETE /rest/upload/resource Changed
DELETE /v2/uploads/{key}
Response 
{
  "upload_key": "string", Changed
  "upload_type": "file_upload" Removed
}
{
  "key": "string",
  "message": "string" Added
}

Tag

Get Company Tags

v1 v2
Request 
GET /rest/tag/list Changed
GET /v2/tags
Response 
{
  "tags": [
    {
      "tag": "tag1",
      "creation_date": "2020-03-28T22:48:31.000Z"
    },
    {
      "tag": "tag2",
      "creation_date": "string"
    }
  ]
}
{
  "offset": 0, Added
  "limit": 20, Added
  "has_more": false, Added
  "count": 2, Added
  "tags": [
    {
      "tag": "tag1",
      "creation_date": "string"
    },
    {
      "tag": "tag2",
      "creation_date": "string"
    }
  ]
}

Add Company Tags

v1 v2
Request 
POST /rest/tag/add Changed
POST /v2/tags
Response 
200 Changed
{
  "added_tags": [ Changed
    {
      "tag": "string",
      "creation_date": "string"
    }
  ]
}
201 Changed
{
  "tags": [
    {
      "tag": "string",
      "creation_date": "string"
    }
  ]
}

Remove Company Tags

v1 v2
Request 
POST /rest/tag/remove> Changed
{"tags":["string"]}
DELETE /v2/tags/{tag_name}
Response 
{
  "removed_tags": [ Removed
    {
      "tag": "string",
      "creation_date": "string" Removed
    }
  ]
}
{
  "tag": "string",
  "message": "Successfully deleted the tag"
  Added
}

SDK

Generate Credentials

v1 v2
Request 
POST /rest/sdk/credentials Changed
POST /v2/sdk/credentials

Digital Signature

Create Document Template

v1 v2
Request 
POST /rest/sign/template Changed
POST /v2/signature-templates
Response 
200 Changed 
{
  "template": { Removed
    "id": "string",
    "friendly_name": "string",
    "type": "FEA_adhesion",
    "sign_coordinates": [
      {
        "start_tag_pattern": "string",
        "x_offset": 0,
        "y_offset": 0
      }
    ],
    "creation_date": "string",
    "updated_at": "string"
  }
}
201
{
  "id": "string",
  "friendly_name": "string",
  "type": "contract",
  "sign_coordinates": [
    {
      "start_tag_pattern": "string",
      "x_offset": 0,
      "y_offset": 0
    }
  ],
  "creation_date": "string",
  "updated_at": "string"
}

Get Document Templates

v1 v2
Request 
GET /rest/sign/template/list
?skip=0 Changed
&limit=20
GET /v2/signature-templates
?offset=0
&limit=20
Response 
{
  "skip": 0, Changed
  "limit": 20,
  "has_more": true,
  "count": 0,
  "templates": [
   ...
  ]
}
{
  "offset": 0,
  "limit": 0,
  "has_more": true,
  "count": 0,
  "templates": [
    ...
  ]
}

Get Document Template

v1 v2
Request 
GET /rest/sign/template/{template_id} Changed
GET /v2/signature-templates/{template_id}
Response 
{
  "template": { Removed
    "id": "string",
    "friendly_name": "string",
    "type": "FEA_adhesion",
    "sign_coordinates": [
      {
        "start_tag_pattern": "string",
        "x_offset": 0,
        "y_offset": 0
      }
    ],
    "creation_date": "string",
    "updated_at": "string"
  }
}
{
  "id": "string",
  "friendly_name": "string",
  "type": "contract",
  "sign_coordinates": [
    {
      "start_tag_pattern": "string",
      "x_offset": 0,
      "y_offset": 0
    }
  ],
  "creation_date": "string",
  "updated_at": "string"
}

Update Document Template

v1 v2
Request 
POST /rest/sign/template/{template_id} Changed
PUT /v2/signature-templates/{template_id}
Response 
{
  "template": { Removed
    "id": "string",
    "friendly_name": "string",
    "type": "FEA_adhesion",
    "sign_coordinates": [
      {
        "start_tag_pattern": "string",
        "x_offset": 0,
        "y_offset": 0
      }
    ],
    "creation_date": "string",
    "updated_at": "string"
  }
}
{
  "id": "string",
  "friendly_name": "string",
  "type": "contract",
  "sign_coordinates": [
    {
      "start_tag_pattern": "string",
      "x_offset": 0,
      "y_offset": 0
    }
  ],
  "creation_date": "string",
  "updated_at": "string"
}

Delete Document Template

v1 v2
Request 
DELETE /rest/sign/template/{template_id} 
Changed
DELETE /v2/signature-templates/{template_id}
Response 
{
  "template": { Removed
    "id": "string",
    "friendly_name": "string", Removed
    "type": "FEA_adhesion",
    "sign_coordinates": [
      {
        "start_tag_pattern": "string",
        "x_offset": 0,
        "y_offset": 0
      }
    ],
    "creation_date": "string",
    "updated_at": "string"
  }
}
{
  "id": "string",
  "message": "string" Added
}

Get Envelopes

v1 v2
Request 
GET /rest/sign/envelope/list Changed
?skip=0 Changed
&limit=20
GET /v2/envelopes
?offset=0
&limit=20
Response 
{
  "skip": 0, Changed
  "limit": 20,
  "has_more": true,
  "count": 20,
  "envelopes": [
    ...
  ]
}
{
  "offset": 0,
  "limit": 20,
  "has_more": true,
  "count": 20,
  "envelopes": [
    ...
  ]
}

Get Envelope

v1 v2
Request 
GET /rest/sign/envelope/{envelope_id} Changed
GET /v2/envelopes/{envelope_id}
Response 
{
  "envelope": { Removed
    "id": "string",
    "friendly_name": "string",
    "room_id": "string",
    "session_id": "string",
    "status": "pending",
    "sender": "string",
    "signer": "string",
    "creation_date": "string",
    "updated_at": "string"
  }
}
{
  "id": "string",
  "friendly_name": "string",
  "room_id": "string",
  "session_id": "string",
  "status": "pending",
  "sender": "string",
  "signer": "string",
  "creation_date": "string",
  "updated_at": "string"
}

Token

Check Token

v1 v2
Request 
GET /rest/token/check/{token_id} Removed
Removed

Delete Token

v1 v2
Request 
DELETE /rest/token/delete/{token_id} Removed
Removed

Webhook

Configure Webhook

v1 v2
Request 
POST /rest/{version}/hook/configure Changed
{
  "webhook_method": "post", Removed
  "post_event_webhook_url": "string", Changed
  "webhook_filters": [ Changed
    "on_call_incoming"
  ]
}
POST /v2/webhooks
{
  "url": "string",
  "events": [
    {
      "event": "on_call_incoming",
      "version": "{version}"
    }
  ]
}
Response 
200 Changed
{
  "active_webhooks": [ Changed
    {
      "post_event_webhook_url": "string",
      "webhook_method": "string",
      "event": "on_call_incoming",
      "creation_date": "string"
    }
    ...
  ]
}
201
{
  "id": "string", Added
  "url": "string",
  "event": "on_call_incoming",
  "version": "0.1",
  "active": true,
  "creation_date": "string"
}

Get Active Webhooks

v1 v2
Request 
GET /rest/{version}/hook Changed
GET /v2/webhooks Changed
?version={version}
(version is optional)
Response 
{
  "active_webhooks": { Changed
    "https://url": [ Changed
      {
        "webhook_method": "post", Removed
        "event": "on_user_connected",
        "creation_date": "string",
        "event_version": "1" Changed
      }
    ],
    ...
  }
}
{
  "offset": 0, Added
  "limit": 20, Added
  "has_more": false, Added
  "count": 17, Added
  "hooks": [
    {
      "id": "hook_dd055f53a457", Added
      "url": "https://url",
      "event": "on_user_connected",
      "version": "1.0",
      "active": true, Added
      "creation_date": "string"
    },
    ...
  ]
}