Abstrix Meeting API

Abstrix Meeting features an application programming interface (API). It allows meetings to be created and monitored from other software without the need to log in into the management dashboard.

API Documentation (you have to log in to access it) describes the whole list of capabilities.

API uses REST-HTTP approach. Authorization is done by using an access token. Payload is sent as JSON. Any client that supports communication over HTTP (HTTPS) can use the API.

1. Retrieve Access Token

To reach API an access token is needed. You can generate them in the dashboard of your account.

2. Prepare request

The minimal request looks like this:

{
  "title": "My Meeting",
  "size": "Demo",
  "participants": [
    {
      "name": "John",
      "role": "moderator"
    }
  ]
}

It consists of title, meeting size and at least one moderator. You can specify more participants or let them join using an "open join link". There are a lot more options available, check the documentation.

3. Send request

Send request to create the meeting.

> POST /ws/shared-server/meetings HTTP/1.1
> Host: meeting.abstrix.com
> User-Agent: insomnia/7.1.1
> Authorization: ABX OJQj...==
> Content-Type: application/json
> Accept: */*
> Content-Length: 118

{
  "title": "My meeting",
  "size": "Demo",
  "participants": [
    {
      "name": "John",
      "role": "moderator"
    }
  ]
}
                

Response:

< HTTP/1.1 200 OK
< Server: nginx
< Date: Wed, 22 Apr 2020 17:46:07 GMT
< Content-Type: application/json; charset=utf-8
< Content-Length: 977
< Connection: keep-alive
< ETag: W/"3d1-rgauMX56xpeKe9mnkdnaU3mKp6Y"

{
  "_id": "sm_20210220_1534_1sEdwY_JswLez3S_9BVGrM",
  "title": "Demo My Meeting",
  "size": "Demo",
  ...
}
                

4. Check

Check in the dashboard that you meeting was created:

5. Get meeting

Meeting creation may take up to 5 minutes depending on the size.

It's possible to check the state of the meeting using another API call:

> GET /ws/meetings/sm_20210220_1534_1sEdwY_JswLez3S_9BVGrM HTTP/1.1
> Host: meeting.abstrix.com
> User-Agent: insomnia/7.1.1
> Authorization: ABX OJQj...==
> Content-Type: application/json
> Accept: */*
> Content-Length: 0
< HTTP/1.1 200 OK
< Server: nginx
< Date: Wed, 22 Apr 2020 17:53:22 GMT
< Content-Type: application/json; charset=utf-8
< Content-Length: 1232
< Connection: keep-alive
< ETag: W/"4d0-htFaApQwJ9FsWdEiGoS29Mvt5hw"
{
  "_id": "sm_20210220_1534_1sEdwY_JswLez3S_9BVGrM",
  "title": "My Meeting",
  "size": "Demo",
  "type": "server-meeting",
  "state": "RUNNING",
  "publicId": "JswLez3S",
  "createdAt": "2021-02-20T15:34:16.127Z",
  "archiveKeepDuration": 0,
  "participants": [
    {
      "name": "John",
      "role": "moderator",
      "publicId": "fDjgdP",
      "url": "https://meeting.abstrix.com/join/JswLez3S/fDjgdP"
    }
  ],
  "openJoin": true,
  "openJoinURL": "https://meeting.abstrix.com/join/JswLez3S/zVy5BQkn",
  "enableLogIp": false,
  "extraLogoURL": "",
  "scheduledFor": "2021-02-20T15:34:16.127Z",
  "readyAt": "2021-02-20T15:34:16.127Z",
  "pricingPlan": {
    "participants": 3
  },
  "chatGreeting": "<a href='https://meeting.abstrix.com' target='_blank'><img src='https://meeting.abstrix.com/public/am_logo.png'><br/>Learn more</a><br/><br/>",
  "maxDuration": 35,
  "plannedDuration": 30,
  "joinTimeout": 30,
  "emptyMeetingTimeout": 30
}