Skip to main content

Auvious Composition API v1.0

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

  • API Key (apiKey)
    • Parameter Name: Authorization, in: header.

Composition Command Service

Cancel a running Composition

POST http://auvious.video/composition/api/{conversationId}/{compositionId}/cancel HTTP/1.1
Host: auvious.video
Accept: */*

Supported roles (AGENT, SUPERVISOR)

Parameters

ParameterInTypeRequiredDescription
conversationIdpathstringtruenone
compositionIdpathstringtruenone

Responses

Overview
StatusMeaningDescriptionSchema
200OKOKInline
Response Schema
Examples

200 Response

caution

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

Code samples

curl -X POST http://auvious.video/composition/api/{conversationId}/{compositionId}/cancel \
-H 'Accept: */*' \ -H 'Authorization: API_KEY'

Create a new Composition

POST http://auvious.video/composition/api/request HTTP/1.1
Host: auvious.video
Content-Type: application/json
Accept: application/json

Supported roles (AGENT, SUPERVISOR, SERVICE)

Request body

{
"conversationId": "string",
"type": "VIDEO",
"layout": "GRID",
"name": "string",
"videoFormat": "MP4",
"audioFormat": "MP3",
"resolution": "QVGA",
"priority": "LOW"
}

Parameters

ParameterInTypeRequiredDescription
bodybodyCreateCompositionWebCommandtruenone

Responses

Overview
StatusMeaningDescriptionSchema
200OKOKCompositionIdentifier
Examples

200 Response

{
"id": "string",
"conversationId": "string"
}
caution

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

Code samples

curl -X POST http://auvious.video/composition/api/request \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: API_KEY'

Re-execute a previously completed composition

POST http://auvious.video/composition/api/reexecute HTTP/1.1
Host: auvious.video
Content-Type: application/json
Accept: application/json

Supported roles (AGENT, SUPERVISOR)

Request body

{
"id": "string",
"conversationId": "string",
"priority": "LOW"
}

Parameters

ParameterInTypeRequiredDescription
bodybodyReExecuteCompositionWebCommandtruenone

Responses

Overview
StatusMeaningDescriptionSchema
200OKOKCompositionIdentifier
Examples

200 Response

{
"id": "string",
"conversationId": "string"
}
caution

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

Code samples

curl -X POST http://auvious.video/composition/api/reexecute \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: API_KEY'

Delete existing Composition

DELETE http://auvious.video/composition/api/{conversationId}/{compositionId}/delete HTTP/1.1
Host: auvious.video
Accept: */*

Supported roles (SUPERVISOR)

Parameters

ParameterInTypeRequiredDescription
conversationIdpathstringtruenone
compositionIdpathstringtruenone

Responses

Overview
StatusMeaningDescriptionSchema
200OKOKInline
Response Schema
Examples

200 Response

caution

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

Code samples

curl -X DELETE http://auvious.video/composition/api/{conversationId}/{compositionId}/delete \
-H 'Accept: */*' \ -H 'Authorization: API_KEY'

Composition Query Service

Get recording data and associated composition by conversationId

GET http://auvious.video/composition/api/query/conversation/{conversationId} HTTP/1.1
Host: auvious.video
Accept: application/json

Supported roles (AGENT, SUPERVISOR)

Parameters

ParameterInTypeRequiredDescription
conversationIdpathstringtruenone

Responses

Overview
StatusMeaningDescriptionSchema
200OKOKCompositionMessage
Examples

200 Response

{
"recordingMetadata": {
"conversationId": "string",
"audio": true,
"video": true,
"started": "string",
"stopped": "string",
"duration": "string",
"totalParticipants": 0,
"canExportVideo": true,
"canExportAudio": true,
"agentId": "string",
"organizationId": "string"
},
"compositions": [
{
"id": "string",
"conversationId": "string",
"userId": "string",
"state": "string",
"type": "string",
"created": "string",
"completed": "string",
"name": "string",
"format": "string",
"layout": "GRID",
"duration": "string"
}
]
}
caution

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

Code samples

curl -X GET http://auvious.video/composition/api/query/conversation/{conversationId} \
-H 'Accept: application/json' \ -H 'Authorization: API_KEY'

Get all compositions initiated by the currently authenticated user

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

Supported roles (AGENT, SUPERVISOR)

Parameters

ParameterInTypeRequiredDescription
pageablequeryPageabletruenone

Responses

Overview
StatusMeaningDescriptionSchema
200OKOKPageCompositionView
Examples

200 Response

{
"totalPages": 0,
"totalElements": 0,
"first": true,
"pageable": {
"pageNumber": 0,
"pageSize": 0,
"offset": 0,
"sort": {
"sorted": true,
"empty": true,
"unsorted": true
},
"paged": true,
"unpaged": true
},
"size": 0,
"content": [
{
"id": "string",
"conversationId": "string",
"userId": "string",
"state": "string",
"type": "string",
"created": "string",
"completed": "string",
"name": "string",
"format": "string",
"layout": "GRID",
"duration": "string"
}
],
"number": 0,
"sort": {
"sorted": true,
"empty": true,
"unsorted": true
},
"last": true,
"numberOfElements": 0,
"empty": true
}
caution

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

Code samples

curl -X GET http://auvious.video/composition/api/query/composition?pageable=page,0,size,1,sort,string \
-H 'Accept: application/json' \ -H 'Authorization: API_KEY'

Composition Media Player

Get a signed URL to play a media file by conversation id and composition Id

GET http://auvious.video/composition/api/player/{conversationId}/{compositionId}/url/inline HTTP/1.1
Host: auvious.video
Accept: */*
Referer: string

Supported roles (AGENT, SUPERVISOR)

Parameters

ParameterInTypeRequiredDescription
conversationIdpathstringtruenone
compositionIdpathstringtruenone
Refererheaderstringtruenone

Responses

Overview
StatusMeaningDescriptionSchema
200OKOKCompositionResourceMessage
Examples

200 Response

caution

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

Code samples

curl -X GET http://auvious.video/composition/api/player/{conversationId}/{compositionId}/url/inline \
-H 'Accept: */*' \ -H 'Referer: string' \ -H 'Authorization: API_KEY'

Get a signed URL to download a media file by conversation id and composition Id

GET http://auvious.video/composition/api/player/{conversationId}/{compositionId}/url/attachment HTTP/1.1
Host: auvious.video
Accept: */*
Referer: string

Supported roles (AGENT, SUPERVISOR)

Parameters

ParameterInTypeRequiredDescription
conversationIdpathstringtruenone
compositionIdpathstringtruenone
Refererheaderstringtruenone

Responses

Overview
StatusMeaningDescriptionSchema
200OKOKCompositionResourceMessage
Examples

200 Response

caution

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

Code samples

curl -X GET http://auvious.video/composition/api/player/{conversationId}/{compositionId}/url/attachment \
-H 'Accept: */*' \ -H 'Referer: string' \ -H 'Authorization: API_KEY'

getInline

GET http://auvious.video/composition/api/player/inline/{conversationId}/{compositionId}/{fileName}?Date=string&Expires=string&Signature=string HTTP/1.1
Host: auvious.video
Accept: */*
Range: string

Parameters

ParameterInTypeRequiredDescription
conversationIdpathstringtruenone
compositionIdpathstringtruenone
fileNamepathstringtruenone
Datequerystringtruenone
Expiresquerystringtruenone
Signaturequerystringtruenone
Rangeheaderstringfalsenone

Responses

Overview
StatusMeaningDescriptionSchema
200OKOKstring
Examples

200 Response

caution

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

Code samples

curl -X GET http://auvious.video/composition/api/player/inline/{conversationId}/{compositionId}/{fileName}?Date=string&Expires=string&Signature=string \
-H 'Accept: */*' \ -H 'Range: string' \ -H 'Authorization: API_KEY'

getAttachment

GET http://auvious.video/composition/api/player/attachment/{conversationId}/{compositionId}/{fileName}?Date=string&Expires=string&Signature=string HTTP/1.1
Host: auvious.video
Accept: */*
Range: string

Parameters

ParameterInTypeRequiredDescription
conversationIdpathstringtruenone
compositionIdpathstringtruenone
fileNamepathstringtruenone
Datequerystringtruenone
Expiresquerystringtruenone
Signaturequerystringtruenone
Rangeheaderstringfalsenone

Responses

Overview
StatusMeaningDescriptionSchema
200OKOKstring
Examples

200 Response

caution

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

Code samples

curl -X GET http://auvious.video/composition/api/player/attachment/{conversationId}/{compositionId}/{fileName}?Date=string&Expires=string&Signature=string \
-H 'Accept: */*' \ -H 'Range: string' \ -H 'Authorization: API_KEY'

Schemas

CreateCompositionWebCommand

{
"conversationId": "string",
"type": "VIDEO",
"layout": "GRID",
"name": "string",
"videoFormat": "MP4",
"audioFormat": "MP3",
"resolution": "QVGA",
"priority": "LOW"
}

Properties

NameTypeRequiredRestrictionsDescription
conversationIdstringtruenonenone
typestringtruenonenone
layoutstringtruenonenone
namestringtruenonenone
videoFormatstringfalsenoneDefault value: MP4
audioFormatstringfalsenoneDefault value: MP3
resolutionstringtruenonenone
prioritystringfalsenone1 (Normal priority), 2 (High priority)
Enumerated Values
PropertyValue
typeVIDEO
typeAUDIO
layoutGRID
videoFormatMP4
audioFormatMP3
resolutionQVGA
resolutionVGA
resolutionHD
resolutionFHD
resolution320x240
priorityLOW
priorityNORMAL
priorityHIGH
priority1
priority2

CompositionIdentifier

{
"id": "string",
"conversationId": "string"
}

Properties

NameTypeRequiredRestrictionsDescription
idstringtruenonenone
conversationIdstringtruenonenone

ReExecuteCompositionWebCommand

{
"id": "string",
"conversationId": "string",
"priority": "LOW"
}

Properties

NameTypeRequiredRestrictionsDescription
idstringtruenonenone
conversationIdstringtruenonenone
prioritystringfalsenone1 (Normal priority), 2 (High priority)
Enumerated Values
PropertyValue
priorityLOW
priorityNORMAL
priorityHIGH
priority1
priority2

ComposedRecordingDataMessage

{
"conversationId": "string",
"audio": true,
"video": true,
"started": "string",
"stopped": "string",
"duration": "string",
"totalParticipants": 0,
"canExportVideo": true,
"canExportAudio": true,
"agentId": "string",
"organizationId": "string"
}

Properties

NameTypeRequiredRestrictionsDescription
conversationIdstringfalsenonenone
audiobooleanfalsenonenone
videobooleanfalsenonenone
startedstringfalsenonenone
stoppedstringfalsenonenone
durationstringfalsenonenone
totalParticipantsinteger(int32)falsenonenone
canExportVideobooleanfalsenonenone
canExportAudiobooleanfalsenonenone
agentIdstringfalsenonenone
organizationIdstringfalsenonenone

CompositionMessage

{
"recordingMetadata": {
"conversationId": "string",
"audio": true,
"video": true,
"started": "string",
"stopped": "string",
"duration": "string",
"totalParticipants": 0,
"canExportVideo": true,
"canExportAudio": true,
"agentId": "string",
"organizationId": "string"
},
"compositions": [
{
"id": "string",
"conversationId": "string",
"userId": "string",
"state": "string",
"type": "string",
"created": "string",
"completed": "string",
"name": "string",
"format": "string",
"layout": "GRID",
"duration": "string"
}
]
}

Properties

NameTypeRequiredRestrictionsDescription
recordingMetadataComposedRecordingDataMessagefalsenonenone
compositions[CompositionView]falsenonenone

CompositionView

{
"id": "string",
"conversationId": "string",
"userId": "string",
"state": "string",
"type": "string",
"created": "string",
"completed": "string",
"name": "string",
"format": "string",
"layout": "GRID",
"duration": "string"
}

Properties

NameTypeRequiredRestrictionsDescription
idstringfalsenonenone
conversationIdstringfalsenonenone
userIdstringfalsenonenone
statestringfalsenonenone
typestringfalsenonenone
createdstringfalsenonenone
completedstringfalsenonenone
namestringfalsenonenone
formatstringfalsenonenone
layoutstringfalsenonenone
durationstringfalsenonenone
Enumerated Values
PropertyValue
layoutGRID

Pageable

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

Properties

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

PageCompositionView

{
"totalPages": 0,
"totalElements": 0,
"first": true,
"pageable": {
"pageNumber": 0,
"pageSize": 0,
"offset": 0,
"sort": {
"sorted": true,
"empty": true,
"unsorted": true
},
"paged": true,
"unpaged": true
},
"size": 0,
"content": [
{
"id": "string",
"conversationId": "string",
"userId": "string",
"state": "string",
"type": "string",
"created": "string",
"completed": "string",
"name": "string",
"format": "string",
"layout": "GRID",
"duration": "string"
}
],
"number": 0,
"sort": {
"sorted": true,
"empty": true,
"unsorted": true
},
"last": true,
"numberOfElements": 0,
"empty": true
}

Properties

NameTypeRequiredRestrictionsDescription
totalPagesinteger(int32)falsenonenone
totalElementsinteger(int64)falsenonenone
firstbooleanfalsenonenone
pageablePageableObjectfalsenonenone
sizeinteger(int32)falsenonenone
content[CompositionView]falsenonenone
numberinteger(int32)falsenonenone
sortSortObjectfalsenonenone
lastbooleanfalsenonenone
numberOfElementsinteger(int32)falsenonenone
emptybooleanfalsenonenone

PageableObject

{
"pageNumber": 0,
"pageSize": 0,
"offset": 0,
"sort": {
"sorted": true,
"empty": true,
"unsorted": true
},
"paged": true,
"unpaged": true
}

Properties

NameTypeRequiredRestrictionsDescription
pageNumberinteger(int32)falsenonenone
pageSizeinteger(int32)falsenonenone
offsetinteger(int64)falsenonenone
sortSortObjectfalsenonenone
pagedbooleanfalsenonenone
unpagedbooleanfalsenonenone

SortObject

{
"sorted": true,
"empty": true,
"unsorted": true
}

Properties

NameTypeRequiredRestrictionsDescription
sortedbooleanfalsenonenone
emptybooleanfalsenonenone
unsortedbooleanfalsenonenone

CompositionResourceMessage

{
"url": "https://storage.googleapis.com/bucket/6e6d5224-1919-48fa-a982-66cef9fa4c08/7edf1e1e-0109-4d92-9bad-ab43059a28e3/ca900103-16d3-4b34-884a-003fd8b8e9ca/7edf1e1e-0109-4d92-9bad-ab43059a28e3.mp4?GoogleAccessId=rtc-recorder-gcs@auvious.iam.gserviceaccount.com&Expires=1610649825&Signature=t2f4bXWN842Z7eHHVKaMZs1KHUzcqX8EXX4QoaWinjcKrMcq1AnADJ7iV2MjLgScnJFhlFYiFosHiLNUSqbjuar9IKEtH9JTyLdvkljEzBPPrkvZ5X0XIi5%2FsEQTekwdzKmTjjGRUZWCix%2FIMbizCl0qnX6Tpi%2BbKhTD7u9PjXk1PEum2P2siAnB0s8D9sow6IDuH8%2FrKYMjCe3jb2P%2Fi6asce9xOwmNjW7lxnyLMAeydxCWyZ66kcas0wXZ5BillG%2BA9NvqvnBXKQrGV5im6%2FnleElz9JhcFS%2B2U5suXt9tok3SScbgMvSWfLQ0PyttJuKtQ%2FxTzUnvGOc5WGkTNg%3D%3D",
"validFor": "PT5M",
"validUntil": "2021-01-14T18:43:45.569343Z"
}

Properties

NameTypeRequiredRestrictionsDescription
urlstring(url)falsenoneA signed URL of the given resource.
validForstringfalsenoneSignedUrl.validFor mirrored back to clients. Start countdown timers from this ISO-8601 duration to stay correct even if the consumer clock is fast/slow (example: PT5M).
validUntilstringfalsenoneISO-8601 instant when the link expires. Derived from validFor and current server time (STS TTL aware).