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

Composition Command Controller

Re-execute a previously completed composition

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

Supported roles (AGENT, SUPERVISOR)

Request body

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

Parameters

ParameterInTypeRequiredDescription
bodybodyReExecuteCompositionWebCommandtruewebCommand

Responses

Overview
StatusMeaningDescriptionSchema
200OKOKCompositionIdentifier
201CreatedCreatedNone
401UnauthorizedUnauthorizedNone
403ForbiddenForbiddenNone
404Not FoundNot FoundNone
Examples

200 Response

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

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

Code samples

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

Create a new Composition

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

Supported roles (AGENT, SUPERVISOR, SERVICE)

Request body

{
"audioFormat": "MP3",
"conversationId": "string",
"layout": "GRID",
"name": "string",
"priority": 0,
"resolution": "320x240",
"type": "AUDIO",
"videoFormat": "MP4"
}

Parameters

ParameterInTypeRequiredDescription
bodybodyCreateCompositionWebCommandtruewebCommand

Responses

Overview
StatusMeaningDescriptionSchema
200OKOKCompositionIdentifier
201CreatedCreatedNone
401UnauthorizedUnauthorizedNone
403ForbiddenForbiddenNone
404Not FoundNot FoundNone
Examples

200 Response

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

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

Code samples

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

Cancel a running Composition

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

Supported roles (AGENT, SUPERVISOR)

Parameters

ParameterInTypeRequiredDescription
compositionIdpathstringtruecompositionId
conversationIdpathstringtrueconversationId

Responses

Overview
StatusMeaningDescriptionSchema
200OKOKInline
201CreatedCreatedNone
401UnauthorizedUnauthorizedNone
403ForbiddenForbiddenNone
404Not FoundNot FoundNone
Response Schema
Examples

200 Response

caution

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

Code samples

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

Delete existing Composition

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

Supported roles (SUPERVISOR)

Parameters

ParameterInTypeRequiredDescription
compositionIdpathstringtruecompositionId
conversationIdpathstringtrueconversationId

Responses

Overview
StatusMeaningDescriptionSchema
200OKOKInline
204No ContentNo ContentNone
401UnauthorizedUnauthorizedNone
403ForbiddenForbiddenNone
Response Schema
Examples

200 Response

caution

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

Code samples

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

Composition Media Player

Composition Media Controller

getAttachment

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

Parameters

ParameterInTypeRequiredDescription
compositionIdpathstringtruecompositionId
conversationIdpathstringtrueconversationId
DatequerystringtrueDate
ExpiresquerystringtrueExpires
fileNamepathstringtruefileName
RangeheaderstringfalseRange
SignaturequerystringtrueSignature

Responses

Overview
StatusMeaningDescriptionSchema
200OKOKResource
401UnauthorizedUnauthorizedNone
403ForbiddenForbiddenNone
404Not FoundNot FoundNone
Examples

200 Response

caution

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

Code samples

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

getInline

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

Parameters

ParameterInTypeRequiredDescription
compositionIdpathstringtruecompositionId
conversationIdpathstringtrueconversationId
DatequerystringtrueDate
ExpiresquerystringtrueExpires
fileNamepathstringtruefileName
RangeheaderstringfalseRange
SignaturequerystringtrueSignature

Responses

Overview
StatusMeaningDescriptionSchema
200OKOKResource
401UnauthorizedUnauthorizedNone
403ForbiddenForbiddenNone
404Not FoundNot FoundNone
Examples

200 Response

caution

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

Code samples

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

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

GET /auvious.video/composition/api/player/{conversationId}/{compositionId}/url/attachment?conversationId=string&id=string HTTP/1.1
Accept: */*
Referer: string

Supported roles (AGENT, SUPERVISOR)

Parameters

ParameterInTypeRequiredDescription
conversationIdquerystringtruenone
idquerystringtruenone
RefererheaderstringtrueReferer

Responses

Overview
StatusMeaningDescriptionSchema
200OKOKCompositionResourceMessage
401UnauthorizedUnauthorizedNone
403ForbiddenForbiddenNone
404Not FoundNot FoundNone
Examples

200 Response

caution

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

Code samples

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

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

GET /auvious.video/composition/api/player/{conversationId}/{compositionId}/url/inline?conversationId=string&id=string HTTP/1.1
Accept: */*
Referer: string

Supported roles (AGENT, SUPERVISOR)

Parameters

ParameterInTypeRequiredDescription
conversationIdquerystringtruenone
idquerystringtruenone
RefererheaderstringtrueReferer

Responses

Overview
StatusMeaningDescriptionSchema
200OKOKCompositionResourceMessage
401UnauthorizedUnauthorizedNone
403ForbiddenForbiddenNone
404Not FoundNot FoundNone
Examples

200 Response

caution

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

Code samples

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

Composition Query Service

Composition Query Controller

Get all compositions initiated by the currently authenticated user

GET /auvious.video/composition/api/query/composition HTTP/1.1
Accept: application/json

Supported roles (AGENT, SUPERVISOR)

Parameters

ParameterInTypeRequiredDescription
offsetqueryinteger(int64)falsenone
pagedquerybooleanfalsenone
pageNumberqueryinteger(int32)falsenone
pageSizequeryinteger(int32)falsenone
sort.sortedquerybooleanfalsenone
sort.unsortedquerybooleanfalsenone
unpagedquerybooleanfalsenone

Responses

Overview
StatusMeaningDescriptionSchema
200OKOKPageCompositionView
401UnauthorizedUnauthorizedNone
403ForbiddenForbiddenNone
404Not FoundNot FoundNone
Examples

200 Response

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

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

Code samples

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

Get recording data and associated composition by conversationId

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

Supported roles (AGENT, SUPERVISOR)

Parameters

ParameterInTypeRequiredDescription
conversationIdpathstringtrueconversationId

Responses

Overview
StatusMeaningDescriptionSchema
200OKOKCompositionMessage
401UnauthorizedUnauthorizedNone
403ForbiddenForbiddenNone
404Not FoundNot FoundNone
Examples

200 Response

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

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

Code samples

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

Schemas

ComposedRecordingDataMessage

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

ComposedRecordingDataMessage

Properties

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

CompositionIdentifier

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

CompositionIdentifier

Properties

NameTypeRequiredRestrictionsDescription
conversationIdstringtruenonenone
idstringtruenonenone

CompositionMessage

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

CompositionMessage

Properties

NameTypeRequiredRestrictionsDescription
compositions[CompositionView]falsenonenone
recordingMetadataComposedRecordingDataMessagefalsenonenone

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",
"validUntil": "2021-01-14T18:43:45.569343Z"
}

CompositionResourceMessage

Properties

NameTypeRequiredRestrictionsDescription
urlstring(url)falsenoneA signed URL of the given resource.
validUntilstringfalsenoneThe date until this URL will remain valid.

CompositionView

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

CompositionView

Properties

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

CreateCompositionWebCommand

{
"audioFormat": "MP3",
"conversationId": "string",
"layout": "GRID",
"name": "string",
"priority": 0,
"resolution": "320x240",
"type": "AUDIO",
"videoFormat": "MP4"
}

CreateCompositionWebCommand

Properties

NameTypeRequiredRestrictionsDescription
audioFormatstringfalsenoneDefault value: MP3
conversationIdstringtruenonenone
layoutstringtruenonenone
namestringtruenonenone
priorityinteger(int32)falsenoneDefault value: 1
resolutionstringtruenonenone
typestringtruenonenone
videoFormatstringfalsenoneDefault value: MP4
Enumerated Values
PropertyValue
audioFormatMP3
layoutGRID
resolution320x240
typeAUDIO
typeVIDEO
videoFormatMP4

InputStream

{}

InputStream

Properties

None

Pageable

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

Pageable

Properties

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

ReExecuteCompositionWebCommand

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

ReExecuteCompositionWebCommand

Properties

NameTypeRequiredRestrictionsDescription
conversationIdstringtruenonenone
idstringtruenonenone
priorityinteger(int32)falsenoneDefault value: 1

Resource

{
"description": "string",
"file": null,
"filename": "string",
"inputStream": {},
"open": true,
"readable": true,
"uri": "http://example.com",
"url": "string"
}

Resource

Properties

NameTypeRequiredRestrictionsDescription
descriptionstringfalsenonenone
filefilefalsenonenone
filenamestringfalsenonenone
inputStreamInputStreamfalsenonenone
openbooleanfalsenonenone
readablebooleanfalsenonenone
uristring(uri)falsenonenone
urlstring(url)falsenonenone

Sort

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

Sort

Properties

NameTypeRequiredRestrictionsDescription
emptybooleanfalsenonenone
sortedbooleanfalsenonenone
unsortedbooleanfalsenonenone

PageCompositionView

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

Page«CompositionView»

Properties

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