Arvia API (1.0.0)

Download OpenAPI specification:Download

Arvia RESTful APIs

Authentication

bearerAuth

Security Scheme Type HTTP
HTTP Authorization Scheme bearer

cookieAuth

Security Scheme Type API Key
Cookie parameter name: token

Security

Login

Login

Login and get a token.

Request Body schema: application/json
email
required
string
password
required
string

Responses

Request samples

Content type
application/json
{
  • "email": "test@arvia.chat",
  • "password": ""
}

Response samples

Content type
application/json
{
  • "auth": true,
  • "token": "string",
  • "name": "string",
  • "image": "string",
  • "status": "away"
}

Rooms

Create, Get, Update, Delete Rooms

Creates a room

Creates a new room and returns the room details

Authorizations:
Request Body schema: application/json
_id
required
string
name
required
string
display
string
date
string

Responses

Request samples

Content type
application/json
{
  • "_id": "5ed3ffc8bccb2989c1e08907",
  • "name": "my-room-name",
  • "display": "My Room Name",
  • "date": "2016-08-29T09:12:33.001Z"
}

Response samples

Content type
application/json
{
  • "_id": "5ed3ffc8bccb2989c1e08907",
  • "name": "my-room-name",
  • "display": "My Room Name",
  • "date": "2016-08-29T09:12:33.001Z"
}

Gets rooms in the project

By passing project id, you can get list of the rooms in a project.

Authorizations:
query Parameters
projectId
required
string

Pass project ID for looking for the rooms.

skip
integer >= 0

Number of records to skip for pagination

limit
integer [ 0 .. 50 ]

Maximum number of records to return

Responses

Request samples

curl --request GET \
  --url 'https://arvia.chat/api/rooms?projectId=SOME_STRING_VALUE&skip=SOME_INTEGER_VALUE&limit=SOME_INTEGER_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

Response samples

Content type
application/json
[
  • {
    }
]

Gets room details

Gets details of the room by passing the room ID

Authorizations:
path Parameters
roomId
required
string

The room ID.

Responses

Request samples

curl --request GET \
  --url https://arvia.chat/api/rooms/%7BroomId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

Response samples

Content type
application/json
{
  • "_id": "5ed3e53fec337e89b3e50ac3",
  • "name": "my-room-name",
  • "display": "My Room Name",
  • "date": "2016-08-29T09:12:33.001Z",
  • "locked": true,
  • "maxUser": 2,
  • "maxVideo": 2,
  • "maxAudio": 2,
  • "agents": [
    ],
  • "admins": [
    ],
  • "analysts": [
    ]
}

Updates the room

Updates room details

Authorizations:
path Parameters
roomId
required
string

The room ID.

Request Body schema: application/json
_id
required
string
name
required
string
display
required
string
date
string
locked
boolean
maxUser
integer
maxVideo
integer
maxAudio
integer
Array of objects
Array of objects
Array of objects

Responses

Request samples

Content type
application/json
{
  • "_id": "5ed3e53fec337e89b3e50ac3",
  • "name": "my-room-name",
  • "display": "My Room Name",
  • "date": "2016-08-29T09:12:33.001Z",
  • "locked": true,
  • "maxUser": 2,
  • "maxVideo": 2,
  • "maxAudio": 2,
  • "agents": [
    ],
  • "admins": [
    ],
  • "analysts": [
    ]
}

Response samples

Content type
application/json
{
  • "_id": "5ed3e53fec337e89b3e50ac3",
  • "name": "my-room-name",
  • "display": "My Room Name",
  • "date": "2016-08-29T09:12:33.001Z",
  • "locked": true,
  • "maxUser": 2,
  • "maxVideo": 2,
  • "maxAudio": 2,
  • "agents": [
    ],
  • "admins": [
    ],
  • "analysts": [
    ]
}

Deletes the room

Deletes the room on the server. This can not be undone.

Authorizations:
path Parameters
roomId
required
string

The room ID.

Responses

Request samples

curl --request DELETE \
  --url https://arvia.chat/api/rooms/%7BroomId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

Projects

Create, Get, Update, Delete Projects

Creates a project

Creates a new project and returns the project details

Authorizations:
Request Body schema: application/json
_id
required
string
name
required
string
date
string

Responses

Request samples

Content type
application/json
{
  • "_id": "5ed3ffc8bccb2989c1e08907",
  • "name": "Telehealth",
  • "date": "2016-08-29T09:12:33.001Z"
}

Response samples

Content type
application/json
{
  • "_id": "5ed3ffc8bccb2989c1e08907",
  • "name": "Telehealth",
  • "date": "2016-08-29T09:12:33.001Z"
}

Gets projects

You can get list of your projects.

Authorizations:
query Parameters
skip
integer >= 0

Number of records to skip for pagination

limit
integer [ 0 .. 50 ]

Maximum number of records to return

Responses

Request samples

curl --request GET \
  --url 'https://arvia.chat/api/projects?skip=SOME_INTEGER_VALUE&limit=SOME_INTEGER_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

Response samples

Content type
application/json
[
  • {
    }
]

Get online agents

Return online agent list.

path Parameters
projectId
required
string

The project ID.

query Parameters
tag
string

Returns only of online agents with specified tag.

Responses

Request samples

curl --request GET \
  --url 'https://arvia.chat/api/projects/onlineAgents/%7BprojectId%7D?tag=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "agents": [
    ],
  • "image": "string",
  • "status": true
}

Gets project details

Gets details of the project by passing the project ID

Authorizations:
path Parameters
projectId
required
string

The project ID.

Responses

Request samples

curl --request GET \
  --url https://arvia.chat/api/projects/%7BprojectId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

Response samples

Content type
application/json
{
  • "_id": "5ed3e53fec337e89b3e50ac3",
  • "name": "Telehealth",
  • "date": "2016-08-29T09:12:33.001Z",
  • "locked": true,
  • "maxUser": 2,
  • "maxVideo": 2,
  • "maxAudio": 2,
  • "agents": [
    ],
  • "admins": [
    ],
  • "analysts": [
    ]
}

Updates the project

Updates project details

Authorizations:
path Parameters
projectId
required
string

The project ID.

Request Body schema: application/json
_id
required
string
name
required
string
date
string
locked
boolean
maxUser
integer
maxVideo
integer
maxAudio
integer
Array of objects
Array of objects
Array of objects

Responses

Request samples

Content type
application/json
{
  • "_id": "5ed3e53fec337e89b3e50ac3",
  • "name": "Telehealth",
  • "date": "2016-08-29T09:12:33.001Z",
  • "locked": true,
  • "maxUser": 2,
  • "maxVideo": 2,
  • "maxAudio": 2,
  • "agents": [
    ],
  • "admins": [
    ],
  • "analysts": [
    ]
}

Response samples

Content type
application/json
{
  • "_id": "5ed3e53fec337e89b3e50ac3",
  • "name": "Telehealth",
  • "date": "2016-08-29T09:12:33.001Z",
  • "locked": true,
  • "maxUser": 2,
  • "maxVideo": 2,
  • "maxAudio": 2,
  • "agents": [
    ],
  • "admins": [
    ],
  • "analysts": [
    ]
}

Deletes the project

Deletes the project and its rooms on the server. This can not be undone.

Authorizations:
path Parameters
projectId
required
string

The project ID.

Responses

Request samples

curl --request DELETE \
  --url https://arvia.chat/api/projects/%7BprojectId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

Creates a project or agent

Creates a new project or agent. If you are only creating an agent, you can pass projectName as null. If project already exists new agent is added as an agent on the project.

Authorizations:
Request Body schema: application/json
projectName
string
agentName
required
string
agentEmail
required
string

Responses

Request samples

Content type
application/json
{
  • "projectName": "string",
  • "agentName": "string",
  • "agentEmail": "string"
}

Response samples

Content type
application/json
{
  • "id": "5ed3ffc8bccb2989c1e08907",
  • "email": "string",
  • "password": "string",
  • "project": "5ed3e53fec337e89b3e50ac3"
}

Analytics

Get General Reports

Gets meeting reports

You can get detailed reports for your meetings.

Authorizations:
query Parameters
filter
string
Example: filter=Meeting,t1|2021-01-01,t2|2021-02-15

Type of the logs you want to get. Can be one of these: Session, Meeting, User_Joined, User_Left, User_Asked_For_Permission, t1 (Date), t2 (Date)

skip
integer >= 0

Number of records to skip for pagination

limit
integer [ 0 .. 50 ]

Maximum number of records to return

search
string
Example: project=12345&room=dasdsa&meeting=12345

Search parameter. Can be one or many of these; project, room, meeting (Meeting Id), agent (Agent User Id)

Responses

Request samples

curl --request GET \
  --url 'https://arvia.chat/api/analytics?filter=SOME_STRING_VALUE&skip=SOME_INTEGER_VALUE&limit=SOME_INTEGER_VALUE&search=SOME_STRING_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

Response samples

Content type
application/json
[
  • {
    }
]

Analytics / Meetings

Get Reports by Meetings

Gets meetings by session

One record is returned for each sessionId. It is especially used by customers using widgets.

Authorizations:
query Parameters
projectId
required
integer
Example: projectId=5ed3ffc8bccb2989c1e08907

Project id

startDate
required
string
Example: startDate=2020-01-01

Starting date.

endDate
required
string
Example: endDate=2020-01-31

End date.

page
integer
Default: 0

Requested page number. Every page return 25 records.

Responses

Request samples

curl --request GET \
  --url 'https://arvia.chat/api/callStats?projectId=SOME_INTEGER_VALUE&startDate=SOME_STRING_VALUE&endDate=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

Response samples

Content type
application/json
[
  • {
    }
]

Gets meetings by agents

Authorizations:
query Parameters
projectId
required
integer
Example: projectId=5ed3ffc8bccb2989c1e08907

Project id

startDate
required
string
Example: startDate=2020-01-01

Starting date.

endDate
required
string
Example: endDate=2020-01-31

End date.

agentId
string
Example: agentId=50e34a3412fb

Agent user id. You can use it to filter by agent.

Responses

Request samples

curl --request GET \
  --url 'https://arvia.chat/api/agentStats?projectId=SOME_INTEGER_VALUE&startDate=SOME_STRING_VALUE&endDate=SOME_STRING_VALUE&agentId=SOME_STRING_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

Response samples

Content type
application/json
[
  • {
    }
]

Gets meetings by tags

Authorizations:
query Parameters
projectId
required
integer
Example: projectId=5ed3ffc8bccb2989c1e08907

Project id

startDate
required
string
Example: startDate=2020-01-01

Starting date.

endDate
required
string
Example: endDate=2020-01-31

End date.

Responses

Request samples

curl --request GET \
  --url 'https://arvia.chat/api/callStatsByTags?projectId=SOME_INTEGER_VALUE&startDate=SOME_STRING_VALUE&endDate=SOME_STRING_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

Response samples

Content type
application/json
[
  • {
    }
]

Analytics / Agents

Get Reports by Agents

Gets agent statuses

Authorizations:
query Parameters
projectId
required
integer
Example: projectId=5ed3ffc8bccb2989c1e08907

Project id

Responses

Request samples

curl --request GET \
  --url 'https://arvia.chat/api/getAgentStatuses?projectId=SOME_INTEGER_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

Response samples

Content type
application/json
[
  • {
    }
]

Gets agent status logs

Authorizations:
query Parameters
projectId
required
integer
Example: projectId=5ed3ffc8bccb2989c1e08907

Project id

startDate
required
string
Example: startDate=2020-01-01

Starting date.

endDate
required
string
Example: endDate=2020-01-31

End date.

agentId
string
Example: agentId=50e34a3412fb

Agent user id. You can use it to filter by agent.

showPing
boolean
Default: false
Example: showPing=false

When send value is true report is return with ping logs.

Responses

Request samples

curl --request GET \
  --url 'https://arvia.chat/api/userLogs?projectId=SOME_INTEGER_VALUE&startDate=SOME_STRING_VALUE&endDate=SOME_STRING_VALUE&agentId=SOME_STRING_VALUE&showPing=SOME_BOOLEAN_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

Response samples

Content type
application/json
[
  • {
    }
]

Analytics / Survey

Get Survey Reports

Gets survey answers

Authorizations:
query Parameters
projectId
required
integer
Example: projectId=5ed3ffc8bccb2989c1e08907

Project id

startDate
required
string
Example: startDate=2020-01-01

Starting date.

endDate
required
string
Example: endDate=2020-01-31

End date.

Responses

Request samples

curl --request GET \
  --url 'https://arvia.chat/api/surveyAnswers?projectId=SOME_INTEGER_VALUE&startDate=SOME_STRING_VALUE&endDate=SOME_STRING_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

Response samples

Content type
application/json
[
  • {
    }
]

Webhooks

Webhooks

Session Started Webhook

Request Body schema: application/json

It is triggered when participant into the room of the project.

roomName
string

Room name

projectId
string

Project Id

date
string

Hook create datetime

type
string
Default: "Session_Started"

Responses

Request samples

Content type
application/json
{
  • "roomName": "test",
  • "projectId": "53ae43f674fe",
  • "date": "2021-02-15 01:00:00",
  • "type": "Session_Started"
}

User Asked For Permission Webhook

Request Body schema: application/json

It is triggered when an unauthorized participant enter a locked room.

roomName
string

Room name

projectId
string

Project Id

date
string

Hook create datetime

type
string
Default: "User_Asked_For_Permission"
object (HookUser)

Responses

Request samples

Content type
application/json
{
  • "roomName": "test",
  • "projectId": "53ae43f674fe",
  • "date": "2021-02-15 01:00:00",
  • "type": "User_Asked_For_Permission",
  • "user": {
    }
}

User Joined Webhook

Request Body schema: application/json

It is triggered when a participant enter the room.

roomName
string

Room name

projectId
string
date
string

Hook create datetime

type
string
Default: "User_Joined"
object (HookUser)

Responses

Request samples

Content type
application/json
{
  • "roomName": "test",
  • "projectId": "53ae43f674fe",
  • "date": "2021-02-15 01:00:00",
  • "type": "User_Joined",
  • "user": {
    }
}

Meeting Started Webhook

Request Body schema: application/json

It is triggered when at least two participant enter the room.

roomName
string

Room name

projectId
string

Project Id

date
string

Hook create datetime

type
string
Default: "Meeting_Started"
object (HookUser)

Responses

Request samples

Content type
application/json
{
  • "roomName": "test",
  • "projectId": "53ae43f674fe",
  • "date": "2021-02-15 01:00:00",
  • "type": "Meeting_Started",
  • "user": {
    }
}

User Left Webhook

Request Body schema: application/json

It is triggered when the participant leaves the room.

roomName
string

Room name

projectId
string

Project Id

date
string

Hook create datetime

type
string
Default: "User_Left"
object (HookUser)

Responses

Request samples

Content type
application/json
{
  • "roomName": "test",
  • "projectId": "53ae43f674fe",
  • "date": "2021-02-15 01:00:00",
  • "type": "User_Left",
  • "user": {
    }
}

Meeting Ended Webhook

Request Body schema: application/json

It is triggered when less than two participants remain in the room.

roomName
string

Room name

projectId
string

Project Id

date
string

Hook create datetime

type
string
Default: "Meeting_Ended"
object (HookUser)

Responses

Request samples

Content type
application/json
{
  • "roomName": "test",
  • "projectId": "53ae43f674fe",
  • "date": "2021-02-15 01:00:00",
  • "type": "Meeting_Ended",
  • "user": {
    }
}

Session Ended Webhook

Request Body schema: application/json

Its triggered when all participants left in the room.

roomName
string

Room name

projectId
string

Project Id

date
string

Hook create datetime

type
string
Default: "Session_Ended"
object (HookUser)

Responses

Request samples

Content type
application/json
{
  • "roomName": "test",
  • "projectId": "53ae43f674fe",
  • "date": "2021-02-15 01:00:00",
  • "type": "Session_Ended",
  • "user": {
    }
}

Meeting Recording Ready Webhook

Request Body schema: application/json

Its triggered when recording file ready for download.

roomName
string

Room name

projectId
string

Project Id

date
string

Hook create datetime

type
string
Default: "Meeting_Recording_Ready"
playUrl
string

Play URL for recording file.

downloadUrl
string

Download URL for recording file.

Responses

Request samples

Content type
application/json
{
  • "roomName": "test",
  • "projectId": "53ae43f674fe",
  • "date": "2021-02-15 01:00:00",
  • "type": "Meeting_Recording_Ready",
  • "playUrl": "string",
  • "downloadUrl": "string"
}

Recordings

Gets recording reports

Gets recording reports.

Authorizations:
query Parameters
project
string

Project Id

room
string

Room Id

startDate
string
Example: startDate=2021-01-01

Start date

endDate
string
Example: endDate=2021-01-01

End date

skip
integer >= 0

Number of records to skip for pagination

limit
integer [ 0 .. 50 ]

Maximum number of records to return

Responses

Request samples

curl --request GET \
  --url 'https://arvia.chat/api/recordings?project=SOME_STRING_VALUE&room=SOME_STRING_VALUE&startDate=SOME_STRING_VALUE&endDate=SOME_STRING_VALUE&skip=SOME_INTEGER_VALUE&limit=SOME_INTEGER_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

Response samples

Content type
application/json
[
  • {
    }
]

Play or download recording file.

Play or download recording file.

Authorizations:
path Parameters
recordingId
required
string

This id is available in recordings list.

query Parameters
save
string

If you want to download file, please set the value is 1

hash
string

If you do not have token information, you can send a request using this parameter.

Responses

Request samples

curl --request GET \
  --url 'https://arvia.chat/api/recordings/play/%7BrecordingId%7D?save=SOME_STRING_VALUE&hash=SOME_STRING_VALUE'