Time Analysis: get result
GET/api/technology/time-analysis/:task_id
Request the result of a Time Analysis task.
Request
Path Parameters
ID of the task to get result of
Header Parameters
Correlation ID is a special type of request ID which is unique over a series of requests and responses, identifying a transaction in a distributed system. Correlation ID will be generated if not provided.
In distributed system architecture (microservices architecture) it is a unique ID of request and response combination throughout all components of a distributed system. Request ID will be generated if not provided.
Responses
- 200
- 400
- 404
- 422
- 429
Result response of Time Analysis task.
The response body contains task info in the task
field. Depending on the task processing outcome, either result
or error
field is populated.
- application/json
- Schema
- Example (from schema)
- task done
- task rejected
- task failed
Schema
- TimeAnalysisResult
Array [
- MOD1
]
Array [
Array [
]
]
- TaskErrorResult
Array [
Array [
- MOD1
- MOD2
]
- MOD1
- MOD2
- MOD3
- MOD4
- MOD5
Array [
- MOD1
- MOD2
- MOD3
- MOD4
]
]
task
object
required
Possible values: [pending
, running
, rejected
, failed
, done
]
result
object
anyOf
Result of Time Analysis task.
Note:
reaction_analyses
is an empty list if any of the channels contains no speech, or there is
only one channel.
channel_analyses
object[]
required
Channel number (0-base indexed).
Duration of speech in the channel (in seconds)
speech_rate
object
required
anyOf
Speech rate as the ratio of phonemes per second. Empty if the channel contains no speech.
number
Possible values: > 0
Total duration of audio in the channel (in seconds)
reaction_analyses
object[]
required
Index of the channel whose reactions are analyzed.
Number of reactions of this channel to the other channel. A 'reaction' is defined as the act when the speaker in the reacting channel starts speaking AFTER the speaker in the other channel has stopped speaking.
Average time that elapsed between when the speaker in the other channel stopped speaking and the speaker in the reacting channel started speaking.
slowest_reaction_position
object
required
Position of this channel's slowest reaction (longest reaction time).
Start time of the range (seconds)
End time of the range (seconds)
fastest_reaction_position
object
required
Position of this channel's fastest reaction (shortest reaction time).
Start time of the range (seconds)
End time of the range (seconds)
crosstalks
object[]
required
List of positions of this channel's crosstalks. A 'crosstalk' is defined as the act when the speaker in the reacting channel starts speaking WHILE the speaker in the other channel is still speaking. The crosstalk lasts as long as both speakers are speaking.
Start time of the range (seconds)
End time of the range (seconds)
error
object
anyOf
Result schema for a failed or rejected task.
Possible values: [internal
, task.validation-error
]
Machine-readable error type.
Human-readable summary of the error.
detail
object[]
Optional higher level of detail. It is intended for better understanding of the error or advanced error handling.
location
object[]
required
Location of the error.
anyOf
integer
string
Human-readable summary of the error.
Machine-readable error type.
context
object
Optional key-value object with additional context
property name*
object
anyOf
string
integer
number
boolean
anyOf
string
integer
number
boolean
{
"task": {
"task_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"state": "pending"
},
"result": {},
"error": {}
}
Time Analysis task done
{
"task": {
"task_id": "123e4567-e89b-12d3-a456-426614174000",
"state": "done"
},
"result": {
"channel_analyses": [
{
"channel_number": 0,
"speech_duration": 34,
"speech_rate": 8.6,
"total_duration": 58.3
},
{
"channel_number": 1,
"speech_duration": 14,
"speech_rate": 9.5,
"total_duration": 58.3
}
],
"reaction_analyses": [
{
"reacting_channel": 0,
"reactions_count": 3,
"average_reaction_time": 1.3,
"slowest_reaction_position": {
"start_time": 14.5,
"end_time": 16.3
},
"fastest_reaction_position": {
"start_time": 10.5,
"end_time": 10.7
},
"crosstalks": [
{
"start_time": 0.6,
"end_time": 1.3
},
{
"start_time": 5,
"end_time": 7.3
}
]
},
{
"reacting_channel": 1,
"reactions_count": 4,
"average_reaction_time": 1.9,
"slowest_reaction_position": {
"start_time": 24.4,
"end_time": 19.1
},
"fastest_reaction_position": {
"start_time": 5.5,
"end_time": 5.7
},
"crosstalks": [
{
"start_time": 10.6,
"end_time": 11.3
},
{
"start_time": 25.1,
"end_time": 27.2
}
]
}
]
}
}
Time Analysis task rejected
{
"task": {
"task_id": "123e4567-e89b-12d3-a456-426614174000",
"state": "rejected"
},
"error": {
"type": "task.validation-error",
"message": "Task validation error.",
"detail": []
}
}
Time Analysis task failed
{
"task": {
"task_id": "123e4567-e89b-12d3-a456-426614174000",
"state": "failed"
},
"error": {
"type": "internal",
"message": "Service error.",
"detail": []
}
}
Request payload data was invalid and could not be parsed.
- application/json
- Schema
- Example (from schema)
- request.invalid
Schema
Array [
Array [
- MOD1
- MOD2
]
- MOD1
- MOD2
- MOD3
- MOD4
- MOD5
Array [
- MOD1
- MOD2
- MOD3
- MOD4
]
]
Possible values: [internal
, resource.not-found
, method.invalid
, request.forbidden
, request.invalid
, request.validation-error
, request.rate-limit-exceeded
, request.size-limit-exceeded
, storage.capacity-exceeded
]
Machine-readable error type.
Human-readable summary of the error.
detail
object[]
Optional higher level of detail. It is intended for better understanding of the error or advanced error handling.
location
object[]
required
Location of the error.
anyOf
integer
string
Human-readable summary of the error.
Machine-readable error type.
context
object
Optional key-value object with additional context
property name*
object
anyOf
string
integer
number
boolean
anyOf
string
integer
number
boolean
{
"type": "internal",
"message": "string",
"detail": [
{
"location": [
0,
"string"
],
"message": "string",
"type": "string",
"context": {}
}
]
}
Invalid request.
{
"type": "request.invalid",
"message": "Invalid request.",
"detail": []
}
The requested task does not exist.
The provided task_id
may be wrong or the task may have expired already.
- application/json
- Schema
- Example (from schema)
- not found
Schema
Array [
Array [
- MOD1
- MOD2
]
- MOD1
- MOD2
- MOD3
- MOD4
- MOD5
Array [
- MOD1
- MOD2
- MOD3
- MOD4
]
]
Possible values: [internal
, resource.not-found
, method.invalid
, request.forbidden
, request.invalid
, request.validation-error
, request.rate-limit-exceeded
, request.size-limit-exceeded
, storage.capacity-exceeded
]
Machine-readable error type.
Human-readable summary of the error.
detail
object[]
Optional higher level of detail. It is intended for better understanding of the error or advanced error handling.
location
object[]
required
Location of the error.
anyOf
integer
string
Human-readable summary of the error.
Machine-readable error type.
context
object
Optional key-value object with additional context
property name*
object
anyOf
string
integer
number
boolean
anyOf
string
integer
number
boolean
{
"type": "internal",
"message": "string",
"detail": [
{
"location": [
0,
"string"
],
"message": "string",
"type": "string",
"context": {}
}
]
}
Task not found.
{
"type": "resource.not-found",
"message": "Resource not found.",
"detail": [
{
"location": [
"root"
],
"message": "Task not found.",
"type": "task.not-found",
"context": {
"task_id": "123e4567-e89b-12d3-a456-426614174000"
}
}
]
}
Error during validation of request payload data occurred.
- application/json
- Schema
- Example (from schema)
- request validation error
Schema
Array [
Array [
- MOD1
- MOD2
]
- MOD1
- MOD2
- MOD3
- MOD4
- MOD5
Array [
- MOD1
- MOD2
- MOD3
- MOD4
]
]
Possible values: [internal
, resource.not-found
, method.invalid
, request.forbidden
, request.invalid
, request.validation-error
, request.rate-limit-exceeded
, request.size-limit-exceeded
, storage.capacity-exceeded
]
Machine-readable error type.
Human-readable summary of the error.
detail
object[]
Optional higher level of detail. It is intended for better understanding of the error or advanced error handling.
location
object[]
required
Location of the error.
anyOf
integer
string
Human-readable summary of the error.
Machine-readable error type.
context
object
Optional key-value object with additional context
property name*
object
anyOf
string
integer
number
boolean
anyOf
string
integer
number
boolean
{
"type": "internal",
"message": "string",
"detail": [
{
"location": [
0,
"string"
],
"message": "string",
"type": "string",
"context": {}
}
]
}
Request validation error.
{
"type": "request.validation-error",
"message": "Request validation error.",
"detail": []
}
Request rate limit exceeded.
The request may be retried after a while. The following response headers may be checked for details: retry-after
, x-ratelimit-limit
, x-ratelimit-remaining
, x-ratelimit-reset
.
Response Headers
retry-after
number
Header indicates how long the user agent should wait before making a follow-up request.
x-ratelimit-limit
number
Size of the current rate limiting window.
x-ratelimit-remaining
number
Remaining number of requests in the current rate limiting window.
x-ratelimit-reset
number
Time at which the current rate limiting window resets (in UTC epoch).
- application/json
- Schema
- Example (from schema)
- request.rate-limit-exceeded
Schema
Array [
Array [
- MOD1
- MOD2
]
- MOD1
- MOD2
- MOD3
- MOD4
- MOD5
Array [
- MOD1
- MOD2
- MOD3
- MOD4
]
]
Possible values: [internal
, resource.not-found
, method.invalid
, request.forbidden
, request.invalid
, request.validation-error
, request.rate-limit-exceeded
, request.size-limit-exceeded
, storage.capacity-exceeded
]
Machine-readable error type.
Human-readable summary of the error.
detail
object[]
Optional higher level of detail. It is intended for better understanding of the error or advanced error handling.
location
object[]
required
Location of the error.
anyOf
integer
string
Human-readable summary of the error.
Machine-readable error type.
context
object
Optional key-value object with additional context
property name*
object
anyOf
string
integer
number
boolean
anyOf
string
integer
number
boolean
{
"type": "internal",
"message": "string",
"detail": [
{
"location": [
0,
"string"
],
"message": "string",
"type": "string",
"context": {}
}
]
}
Rate limit exceeded.
{
"type": "request.rate-limit-exceeded",
"message": "Rate limit exceeded: 1 per 5 second.",
"detail": []
}