Skip to main content

Auvious Auth Server API v2.1.5

Auvious Auth Server provides the core security related services.

info

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

  • HTTP Authentication, scheme: bearer

  • OAuth 2.0 Authorization.

    • Flow: clientCredentials

    • OAuth 2.0 Token URL = /oauth/token

    • OAuth 2.0 Scope

      ScopeScope Description

Applications

Get Application.

GET https://auvious.video/api/applications/{id} HTTP/1.1
Host: auvious.video
Accept: application/json

Use this operation to get configuration. For type GENESYS apps, if you are an integration admin user you will have 'integrations:integration:view' permission which is what this method will check in order to return all configuration entries. Otherwise, if the user is a microservice it will get back only serviceParameters, if the user is a customer he will only get back customerParameters while if the user is a non-admin agent he will get only agentParameters back

Parameters

ParameterInTypeRequiredDescription
idpathstringtruenone

Responses

Overview
StatusMeaningDescriptionSchema
200OKOKApplication
Examples

200 Response

{
"version": 0,
"id": "string",
"organizationId": "string",
"type": "GENESYS",
"config": {
"property1": {},
"property2": {}
},
"createdAt": "2019-08-24T14:15:22Z",
"modifiedAt": "2019-08-24T14:15:22Z",
"visible": true,
"disabled": true,
"expiresAt": "2019-08-24T14:15:22Z",
"anonymousRegistrationEnabled": true
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: BearerToken, OAuth2ClientCredentials

Code samples

curl -X GET https://auvious.video/api/applications/{id} \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Update an application

PUT https://auvious.video/api/applications/{id} HTTP/1.1
Host: auvious.video
Content-Type: application/json

Use this operation to update an existing application. For GENESYS type applications you should include your organizationId and pcEnvironment values. This operation will be denied if the user doesn't have the 'integrations:integration:edit' permission.

Request body

{
"organizationId": "string",
"type": "GENESYS",
"version": 0,
"config": {
"property1": {},
"property2": {}
},
"disabled": true
}

Parameters

ParameterInTypeRequiredDescription
idpathstringtruenone
bodybodyUpdateApplicationWebCommandtruenone

Responses

Overview
StatusMeaningDescriptionSchema
204No ContentUpdatedNone
404Not FoundNot FoundNone
caution

To perform this operation, you must be authenticated by means of one of the following methods: BearerToken, OAuth2ClientCredentials

Code samples

curl -X PUT https://auvious.video/api/applications/{id} \
-H 'Content-Type: application/json' \ -H 'Authorization: Bearer {access-token}'

Delete application.

DELETE https://auvious.video/api/applications/{id} HTTP/1.1
Host: auvious.video

Use this if you want to delete an application. If the app is GENESYS type, the user must have the permission integrations:integration:delete permission, otherwise this call will fail.

Parameters

ParameterInTypeRequiredDescription
idpathstringtruenone

Responses

Overview
StatusMeaningDescriptionSchema
204No ContentNo ContentNone
caution

To perform this operation, you must be authenticated by means of one of the following methods: BearerToken, OAuth2ClientCredentials

Code samples

curl -X DELETE https://auvious.video/api/applications/{id} \
-H 'Authorization: Bearer {access-token}'

Get applications

GET https://auvious.video/api/applications?pageable=page,0,size,1,sort,string HTTP/1.1
Host: auvious.video
Accept: application/json

Returns applications sorted by createdAt descending. GLOBAL_ADMIN gets all applications. ADMIN gets organization applications based on organization_id claim. Other callers get visible applications.

Parameters

ParameterInTypeRequiredDescription
pageablequeryPageabletruenone

Responses

Overview
StatusMeaningDescriptionSchema
200OKOKPageApplication
Examples

200 Response

{
"totalElements": 0,
"totalPages": 0,
"first": true,
"last": true,
"size": 0,
"content": [
{
"version": 0,
"id": "string",
"organizationId": "string",
"type": "GENESYS",
"config": {
"property1": {},
"property2": {}
},
"createdAt": "2019-08-24T14:15:22Z",
"modifiedAt": "2019-08-24T14:15:22Z",
"visible": true,
"disabled": true,
"expiresAt": "2019-08-24T14:15:22Z",
"anonymousRegistrationEnabled": true
}
],
"number": 0,
"sort": [
{
"direction": "string",
"nullHandling": "string",
"ascending": true,
"property": "string",
"ignoreCase": true
}
],
"numberOfElements": 0,
"pageable": {
"offset": 0,
"sort": [
{
"direction": "string",
"nullHandling": "string",
"ascending": true,
"property": "string",
"ignoreCase": true
}
],
"pageSize": 0,
"unpaged": true,
"pageNumber": 0,
"paged": true
},
"empty": true
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: BearerToken, OAuth2ClientCredentials

Code samples

curl -X GET https://auvious.video/api/applications?pageable=page,0,size,1,sort,string \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Create an application

POST https://auvious.video/api/applications HTTP/1.1
Host: auvious.video
Content-Type: application/json
Accept: application/json

Use this operation to create a new application. For GENESYS type applications you should include at least your 'organizationId' and 'pcEnvironment' entries in the 'config' otherwise creation will be denied. It is also recommended to include 'integrationId' entry. Again for GENESYS type applications, this operation will check that the user has integrations:integration:add permission. Once more, for GENESYS type apps, you should include your parameters in three main entries: serviceParameters, agentParameters and customerParameters. You can include other parameters, but they will be visible to all members of the same organization as well as internal auvious services. Internal Services can create any application.

Request body

{
"id": "string",
"organizationId": "string",
"type": "GENESYS",
"config": {
"property1": {},
"property2": {}
},
"disabled": true
}

Parameters

ParameterInTypeRequiredDescription
bodybodyCreateApplicationWebCommandtruenone

Responses

Overview
StatusMeaningDescriptionSchema
200OKOKCreateApplicationResponseValue
Examples

200 Response

{
"id": "string"
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: BearerToken, OAuth2ClientCredentials

Code samples

curl -X POST https://auvious.video/api/applications \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Check application id availability

GET https://auvious.video/api/applications/{id}/availability HTTP/1.1
Host: auvious.video
Accept: application/json

Returns true when application id does not exist. SERVICE and GLOBAL_ADMIN check globally. CLIENT_SERVICE checks only in its organization_id claim scope.

Parameters

ParameterInTypeRequiredDescription
idpathstringtruenone

Responses

Overview
StatusMeaningDescriptionSchema
200OKAvailability calculatedAvailabilityResponseValue
Examples

200 Response

{
"available": true
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: BearerToken, OAuth2ClientCredentials

Code samples

curl -X GET https://auvious.video/api/applications/{id}/availability \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Get applications by organization id

GET https://auvious.video/api/applications/organizations/{organizationId}?pageable=page,0,size,1,sort,string HTTP/1.1
Host: auvious.video
Accept: application/json

Use this operation to retrieve applications belonging to the supplied organization id. Allowed for SERVICE and GLOBAL_ADMIN.

Parameters

ParameterInTypeRequiredDescription
organizationIdpathstringtruenone
pageablequeryPageabletruenone

Responses

Overview
StatusMeaningDescriptionSchema
200OKApplications listedPageApplication
Examples

200 Response

{
"totalElements": 0,
"totalPages": 0,
"first": true,
"last": true,
"size": 0,
"content": [
{
"version": 0,
"id": "string",
"organizationId": "string",
"type": "GENESYS",
"config": {
"property1": {},
"property2": {}
},
"createdAt": "2019-08-24T14:15:22Z",
"modifiedAt": "2019-08-24T14:15:22Z",
"visible": true,
"disabled": true,
"expiresAt": "2019-08-24T14:15:22Z",
"anonymousRegistrationEnabled": true
}
],
"number": 0,
"sort": [
{
"direction": "string",
"nullHandling": "string",
"ascending": true,
"property": "string",
"ignoreCase": true
}
],
"numberOfElements": 0,
"pageable": {
"offset": 0,
"sort": [
{
"direction": "string",
"nullHandling": "string",
"ascending": true,
"property": "string",
"ignoreCase": true
}
],
"pageSize": 0,
"unpaged": true,
"pageNumber": 0,
"paged": true
},
"empty": true
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: BearerToken, OAuth2ClientCredentials

Code samples

curl -X GET https://auvious.video/api/applications/organizations/{organizationId}?pageable=page,0,size,1,sort,string \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Schemas

UpdateApplicationWebCommand

{
"organizationId": "string",
"type": "GENESYS",
"version": 0,
"config": {
"property1": {},
"property2": {}
},
"disabled": true
}

Properties

NameTypeRequiredRestrictionsDescription
organizationIdstringfalsenoneonly for access from internal service
typestringtruenonenone
versioninteger(int64)falsenoneOptional optimistic locking version. When provided it must match current application version.
configobjecttruenoneThe application configuration object. For GENESYS apps, serviceParameters will be shown only to service accounts and admins, agentParameters will only be shown to agents and customerParameters will be shown only to customers
» additionalPropertiesobjectfalsenoneThe application configuration object. For GENESYS apps, serviceParameters will be shown only to service accounts and admins, agentParameters will only be shown to agents and customerParameters will be shown only to customers
disabledbooleanfalsenoneWhether the application is disabled for authentication and refresh-token usage.
Enumerated Values
PropertyValue
typeGENESYS
typeSTANDALONE_OPENID
typeTALKDESK_OPENID
typeNICE_CXONE_OPENID
typeTEST
typeSETUP_TEST

CreateApplicationWebCommand

{
"id": "string",
"organizationId": "string",
"type": "GENESYS",
"config": {
"property1": {},
"property2": {}
},
"disabled": true
}

Properties

NameTypeRequiredRestrictionsDescription
idstringfalsenoneonly for access from internal service
organizationIdstringfalsenoneonly for access from internal service
typestringtruenonenone
configobjecttruenoneThe application configuration object. For GENESYS apps, serviceParameters will be shown only to service accounts and admins, agentParameters will only be shown to agents and customerParameters will be shown only to customers
» additionalPropertiesobjectfalsenoneThe application configuration object. For GENESYS apps, serviceParameters will be shown only to service accounts and admins, agentParameters will only be shown to agents and customerParameters will be shown only to customers
disabledbooleanfalsenoneWhether the application is disabled for authentication and refresh-token usage.
Enumerated Values
PropertyValue
typeGENESYS
typeSTANDALONE_OPENID
typeTALKDESK_OPENID
typeNICE_CXONE_OPENID
typeTEST
typeSETUP_TEST

CreateApplicationResponseValue

{
"id": "string"
}

Properties

NameTypeRequiredRestrictionsDescription
idstringfalsenonenone

AvailabilityResponseValue

{
"available": true
}

Availability check response.

Properties

NameTypeRequiredRestrictionsDescription
availablebooleanfalsenoneTrue when requested identifier is available.

Application

{
"version": 0,
"id": "string",
"organizationId": "string",
"type": "GENESYS",
"config": {
"property1": {},
"property2": {}
},
"createdAt": "2019-08-24T14:15:22Z",
"modifiedAt": "2019-08-24T14:15:22Z",
"visible": true,
"disabled": true,
"expiresAt": "2019-08-24T14:15:22Z",
"anonymousRegistrationEnabled": true
}

Properties

NameTypeRequiredRestrictionsDescription
versioninteger(int64)falsenonenone
idstringfalsenonenone
organizationIdstringfalsenonenone
typestringfalsenonenone
configobjectfalsenonenone
» additionalPropertiesobjectfalsenonenone
createdAtstring(date-time)falsenonenone
modifiedAtstring(date-time)falsenonenone
visiblebooleanfalsenonenone
disabledbooleanfalsenonenone
expiresAtstring(date-time)falsenonenone
anonymousRegistrationEnabledbooleanfalsenonenone
Enumerated Values
PropertyValue
typeGENESYS
typeSTANDALONE_OPENID
typeTALKDESK_OPENID
typeNICE_CXONE_OPENID
typeTEST
typeSETUP_TEST

Pageable

{
"page": 0,
"size": 1,
"sort": [
"string"
]
}

Properties

NameTypeRequiredRestrictionsDescription
pageinteger(int32)falsenonenone
sizeinteger(int32)falsenonenone
sort[string]falsenonenone

PageApplication

{
"totalElements": 0,
"totalPages": 0,
"first": true,
"last": true,
"size": 0,
"content": [
{
"version": 0,
"id": "string",
"organizationId": "string",
"type": "GENESYS",
"config": {
"property1": {},
"property2": {}
},
"createdAt": "2019-08-24T14:15:22Z",
"modifiedAt": "2019-08-24T14:15:22Z",
"visible": true,
"disabled": true,
"expiresAt": "2019-08-24T14:15:22Z",
"anonymousRegistrationEnabled": true
}
],
"number": 0,
"sort": [
{
"direction": "string",
"nullHandling": "string",
"ascending": true,
"property": "string",
"ignoreCase": true
}
],
"numberOfElements": 0,
"pageable": {
"offset": 0,
"sort": [
{
"direction": "string",
"nullHandling": "string",
"ascending": true,
"property": "string",
"ignoreCase": true
}
],
"pageSize": 0,
"unpaged": true,
"pageNumber": 0,
"paged": true
},
"empty": true
}

Properties

NameTypeRequiredRestrictionsDescription
totalElementsinteger(int64)falsenonenone
totalPagesinteger(int32)falsenonenone
firstbooleanfalsenonenone
lastbooleanfalsenonenone
sizeinteger(int32)falsenonenone
content[Application]falsenonenone
numberinteger(int32)falsenonenone
sort[SortObject]falsenonenone
numberOfElementsinteger(int32)falsenonenone
pageablePageableObjectfalsenonenone
emptybooleanfalsenonenone

PageableObject

{
"offset": 0,
"sort": [
{
"direction": "string",
"nullHandling": "string",
"ascending": true,
"property": "string",
"ignoreCase": true
}
],
"pageSize": 0,
"unpaged": true,
"pageNumber": 0,
"paged": true
}

Properties

NameTypeRequiredRestrictionsDescription
offsetinteger(int64)falsenonenone
sort[SortObject]falsenonenone
pageSizeinteger(int32)falsenonenone
unpagedbooleanfalsenonenone
pageNumberinteger(int32)falsenonenone
pagedbooleanfalsenonenone

SortObject

{
"direction": "string",
"nullHandling": "string",
"ascending": true,
"property": "string",
"ignoreCase": true
}

Properties

NameTypeRequiredRestrictionsDescription
directionstringfalsenonenone
nullHandlingstringfalsenonenone
ascendingbooleanfalsenonenone
propertystringfalsenonenone
ignoreCasebooleanfalsenonenone