Registration v1.0
Operations supporting user endpoint (aka user session) registration. A registration/user endpoint is necessary to use several other apis. It represents a user "session" e.g. a user from a browser tab is a different session from the same user in his mobile device, or event another browser tab. It also defines an mqtt topic users/endpoints/{userEndpointId} where the user receives any events that he should be informed of.
You are viewing REST API documentation. This documentation is auto-generated from a swagger specification which itself is generated from annotations in the source code of the project. It is possible that this documentation includes bugs and that code samples are incomplete or wrong.
Authentication
OAuth 2.0 Authorization. Authenticate using client credentials
Flow: clientCredentials
OAuth 2.0 Authorization URL = https://auvious.video/security/oauth/authorize
OAuth 2.0 Token URL = https://auvious.video/security/oauth/token
OAuth 2.0 Scope
Scope Scope Description any this is the default
HTTP Authentication, scheme: bearer jwt bearer token access
Registrations
User Endpoint Controller
Create a new user endpoint aka register a user
POST https://auvious.video:443/rtc-api/users/endpoints HTTP/1.1
Host: auvious.video:443
Content-Type: application/json
Accept: application/json
Request body
{
"keepAliveSeconds": 0,
"serverKeepAliveReminderOn": false,
"userEndpointId": "string"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
body | body | RegisterUserEndpointWebCommand | false | none |
Responses
Overview
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | string |
201 | Created | Created | None |
401 | Unauthorized | Unauthorized | None |
403 | Forbidden | Forbidden | None |
404 | Not Found | Not Found | None |
Examples
200 Response
"string"
To perform this operation, you must be authenticated by means of one of the following methods: Client Credentials Flow ( Scopes: global ), Jwt ( Scopes: global ), None ( Scopes: global ), None ( Scopes: global ), None ( Scopes: global )
Code samples
- Shell
- Go
- Node
- Java
- Python
- Ruby
curl -X POST https://auvious.video:443/rtc-api/users/endpoints \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
var body []byte
// body = ...
req, err := http.NewRequest("POST", "https://auvious.video:443/rtc-api/users/endpoints", bytes.NewBuffer(body))
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const fetch = require('node-fetch');
const input = '{
"keepAliveSeconds": 0,
"serverKeepAliveReminderOn": false,
"userEndpointId": "string"
}';
const headers = {
'Content-Type': 'application/json', 'Accept': 'application/json', 'Authorization': 'Bearer {access-token}'
}
fetch('https://auvious.video:443/rtc-api/users/endpoints', {
method: 'POST',
body: input,
headers
})
.then(r => r.json())
.then((body) => {
console.log(body)
})
// This sample needs improvement.
URL obj = new URL("https://auvious.video:443/rtc-api/users/endpoints");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream())
);
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post(
'https://auvious.video:443/rtc-api/users/endpoints',
params={},
headers = headers)
print r.json()
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://auvious.video:443/rtc-api/users/endpoints',
params: {}, headers: headers
p JSON.parse(result)
Send keepalive for a user endpoint
POST https://auvious.video:443/rtc-api/users/endpoints/keepalive HTTP/1.1
Host: auvious.video:443
Content-Type: application/json
Accept: application/json
Request body
{
"userEndpointId": "string"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
body | body | KeepUserEndpointAliveWebCommand | false | none |
Responses
Overview
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | None |
201 | Created | Created | None |
204 | No Content | No Content | None |
401 | Unauthorized | Unauthorized | None |
403 | Forbidden | Forbidden | None |
404 | Not Found | Not Found | None |
Response Schema
Examples
To perform this operation, you must be authenticated by means of one of the following methods: Client Credentials Flow ( Scopes: global ), Jwt ( Scopes: global ), None ( Scopes: global ), None ( Scopes: global ), None ( Scopes: global )
Code samples
- Shell
- Go
- Node
- Java
- Python
- Ruby
curl -X POST https://auvious.video:443/rtc-api/users/endpoints/keepalive \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
var body []byte
// body = ...
req, err := http.NewRequest("POST", "https://auvious.video:443/rtc-api/users/endpoints/keepalive", bytes.NewBuffer(body))
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const fetch = require('node-fetch');
const input = '{
"userEndpointId": "string"
}';
const headers = {
'Content-Type': 'application/json', 'Accept': 'application/json', 'Authorization': 'Bearer {access-token}'
}
fetch('https://auvious.video:443/rtc-api/users/endpoints/keepalive', {
method: 'POST',
body: input,
headers
})
.then(r => r.json())
.then((body) => {
console.log(body)
})
// This sample needs improvement.
URL obj = new URL("https://auvious.video:443/rtc-api/users/endpoints/keepalive");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream())
);
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post(
'https://auvious.video:443/rtc-api/users/endpoints/keepalive',
params={},
headers = headers)
print r.json()
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://auvious.video:443/rtc-api/users/endpoints/keepalive',
params: {}, headers: headers
p JSON.parse(result)
Create a new user endpoint aka register a user - ios specific call
POST https://auvious.video:443/rtc-api/users/endpoints/register HTTP/1.1
Host: auvious.video:443
Content-Type: application/json
Accept: application/json
Request body
{
"keepAliveSeconds": 0,
"serverKeepAliveReminderOn": false,
"userEndpointId": "string"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
authenticated | query | boolean | false | none |
authorities[0].authority | query | string | false | none |
credentials | query | object | false | none |
details | query | object | false | none |
principal | query | object | false | none |
body | body | RegisterUserEndpointWebCommand | false | none |
Responses
Overview
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | RegisterResult |
201 | Created | Created | None |
401 | Unauthorized | Unauthorized | None |
403 | Forbidden | Forbidden | None |
404 | Not Found | Not Found | None |
Examples
200 Response
{
"id": "string"
}
To perform this operation, you must be authenticated by means of one of the following methods: Client Credentials Flow ( Scopes: global ), Jwt ( Scopes: global ), None ( Scopes: global ), None ( Scopes: global ), None ( Scopes: global )
Code samples
- Shell
- Go
- Node
- Java
- Python
- Ruby
curl -X POST https://auvious.video:443/rtc-api/users/endpoints/register \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
var body []byte
// body = ...
req, err := http.NewRequest("POST", "https://auvious.video:443/rtc-api/users/endpoints/register", bytes.NewBuffer(body))
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const fetch = require('node-fetch');
const input = '{
"keepAliveSeconds": 0,
"serverKeepAliveReminderOn": false,
"userEndpointId": "string"
}';
const headers = {
'Content-Type': 'application/json', 'Accept': 'application/json', 'Authorization': 'Bearer {access-token}'
}
fetch('https://auvious.video:443/rtc-api/users/endpoints/register', {
method: 'POST',
body: input,
headers
})
.then(r => r.json())
.then((body) => {
console.log(body)
})
// This sample needs improvement.
URL obj = new URL("https://auvious.video:443/rtc-api/users/endpoints/register");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream())
);
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post(
'https://auvious.video:443/rtc-api/users/endpoints/register',
params={},
headers = headers)
print r.json()
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://auvious.video:443/rtc-api/users/endpoints/register',
params: {}, headers: headers
p JSON.parse(result)
Sends event to all registered user endpoints
POST https://auvious.video:443/rtc-api/users/endpoints/sendEvent HTTP/1.1
Host: auvious.video:443
Content-Type: application/json
Accept: application/json
Returns number of messages sent. Users with 'SERVICE' role need to supply organization id.
Request body
{
"event": {},
"masks": [
"string"
],
"organizationId": "string",
"qos": 0,
"userEndpointId": "string",
"userId": "string"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
body | body | SendEventToUserWebCommand | false | none |
Responses
Overview
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | integer |
201 | Created | Created | None |
401 | Unauthorized | Unauthorized | None |
403 | Forbidden | Forbidden | None |
404 | Not Found | Not Found | None |
Examples
200 Response
0
To perform this operation, you must be authenticated by means of one of the following methods: Client Credentials Flow ( Scopes: global ), Jwt ( Scopes: global ), None ( Scopes: global ), None ( Scopes: global ), None ( Scopes: global )
Code samples
- Shell
- Go
- Node
- Java
- Python
- Ruby
curl -X POST https://auvious.video:443/rtc-api/users/endpoints/sendEvent \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
var body []byte
// body = ...
req, err := http.NewRequest("POST", "https://auvious.video:443/rtc-api/users/endpoints/sendEvent", bytes.NewBuffer(body))
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const fetch = require('node-fetch');
const input = '{
"event": {},
"masks": [
"string"
],
"organizationId": "string",
"qos": 0,
"userEndpointId": "string",
"userId": "string"
}';
const headers = {
'Content-Type': 'application/json', 'Accept': 'application/json', 'Authorization': 'Bearer {access-token}'
}
fetch('https://auvious.video:443/rtc-api/users/endpoints/sendEvent', {
method: 'POST',
body: input,
headers
})
.then(r => r.json())
.then((body) => {
console.log(body)
})
// This sample needs improvement.
URL obj = new URL("https://auvious.video:443/rtc-api/users/endpoints/sendEvent");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream())
);
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post(
'https://auvious.video:443/rtc-api/users/endpoints/sendEvent',
params={},
headers = headers)
print r.json()
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://auvious.video:443/rtc-api/users/endpoints/sendEvent',
params: {}, headers: headers
p JSON.parse(result)
Destroy an existing user endpoint aka unregister a user
POST https://auvious.video:443/rtc-api/users/endpoints/unregister HTTP/1.1
Host: auvious.video:443
Content-Type: application/json
Accept: application/json
Request body
{
"reason": "string",
"userEndpointId": "string"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
body | body | UnregisterUserEndpointWebCommand | false | none |
Responses
Overview
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | None |
201 | Created | Created | None |
204 | No Content | No Content | None |
401 | Unauthorized | Unauthorized | None |
403 | Forbidden | Forbidden | None |
404 | Not Found | Not Found | None |
Response Schema
Examples
To perform this operation, you must be authenticated by means of one of the following methods: Client Credentials Flow ( Scopes: global ), Jwt ( Scopes: global ), None ( Scopes: global ), None ( Scopes: global ), None ( Scopes: global )
Code samples
- Shell
- Go
- Node
- Java
- Python
- Ruby
curl -X POST https://auvious.video:443/rtc-api/users/endpoints/unregister \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
var body []byte
// body = ...
req, err := http.NewRequest("POST", "https://auvious.video:443/rtc-api/users/endpoints/unregister", bytes.NewBuffer(body))
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const fetch = require('node-fetch');
const input = '{
"reason": "string",
"userEndpointId": "string"
}';
const headers = {
'Content-Type': 'application/json', 'Accept': 'application/json', 'Authorization': 'Bearer {access-token}'
}
fetch('https://auvious.video:443/rtc-api/users/endpoints/unregister', {
method: 'POST',
body: input,
headers
})
.then(r => r.json())
.then((body) => {
console.log(body)
})
// This sample needs improvement.
URL obj = new URL("https://auvious.video:443/rtc-api/users/endpoints/unregister");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream())
);
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post(
'https://auvious.video:443/rtc-api/users/endpoints/unregister',
params={},
headers = headers)
print r.json()
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://auvious.video:443/rtc-api/users/endpoints/unregister',
params: {}, headers: headers
p JSON.parse(result)
Schemas
Iterable«UserEndpointView»
{}
Iterable«UserEndpointView»
Properties
None
KeepUserEndpointAliveWebCommand
{
"userEndpointId": "string"
}
KeepUserEndpointAliveWebCommand
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
userEndpointId | string | true | none | none |
RegisterResult
{
"id": "string"
}
RegisterResult
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | user endpoint id |
RegisterUserEndpointWebCommand
{
"keepAliveSeconds": 0,
"serverKeepAliveReminderOn": false,
"userEndpointId": "string"
}
RegisterUserEndpointWebCommand
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
keepAliveSeconds | integer(int32) | false | none | how long before this endpoint expires if no keepalive request is sent. Mandatory. |
serverKeepAliveReminderOn | boolean | false | none | if true, then an Event will be sent to the userEndpoint topic, to remind the client to makea keepalive request. Default is false. |
userEndpointId | string | false | none | Supply the userEndpointId. Take care so this value is unique, otherwise better leave this empty and let the server produce one. Optional. |
SendEventToUserWebCommand
{
"event": {},
"masks": [
"string"
],
"organizationId": "string",
"qos": 0,
"userEndpointId": "string",
"userId": "string"
}
SendEventToUserWebCommand
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
event | object | true | none | event attributes, at least type and timestamp must be supplied with correct format. Format for type should begin with capital, end with Event, and use came case of at least a noun and a verb denoting what happened on what. Format for timestamp is ISO-8601 instant format e.g. '2011-12-03T10:15:30Z |
masks | [string] | false | none | masks to apply, each item denotes a json path (https://github.com/json-path/JsonPath) syntax which will be applied on the event when stored or logged. By default no masks are applied. The masked fields must be of type string, and it will be replaced by a string of same length but with strings. |
organizationId | string | true | none | Organization id of user that sends and must match the user's org who will receive the message. Only applicable to internal services, for normal users their jwt organization_id claim will be used, since theycan only send events to users of their own organization |
qos | integer(int32) | false | none | qos level 0 = best effort, 1 = at least once, other values best effort. Defaults to 0 (best effort) |
userEndpointId | string | false | none | userEndpointId of user that will receive the message, if not supplied it will be sent to all user endpoints of user with the specified userId. |
userId | string | true | none | userId of user that will receive the message |
UnregisterUserEndpointWebCommand
{
"reason": "string",
"userEndpointId": "string"
}
UnregisterUserEndpointWebCommand
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
reason | string | false | none | none |
userEndpointId | string | true | none | none |
UserEndpoint
{
"id": "string",
"keepAliveSeconds": 0,
"organizationId": "string",
"serverKeepAliveReminderOn": true,
"state": "HEALTHY",
"userId": "string",
"version": 0
}
UserEndpoint
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
keepAliveSeconds | integer(int32) | false | none | none |
organizationId | string | false | none | none |
serverKeepAliveReminderOn | boolean | false | none | none |
state | string | false | none | none |
userId | string | false | none | none |
version | integer(int64) | false | none | none |
Enumerated Values
Property | Value |
---|---|
state | HEALTHY |
state | SICK |
state | UNKNOWN |
UserEndpointView
{
"id": "string",
"keepAliveSeconds": 0,
"organizationId": "string",
"state": "string",
"userId": "string",
"version": 0
}
UserEndpointView
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
keepAliveSeconds | integer(int32) | false | none | none |
organizationId | string | false | none | none |
state | string | false | none | none |
userId | string | false | none | none |
version | integer(int64) | false | none | none |