openapi: 3.2.0
info:
title: Speech To Text - Xdroid Upload audio API
version: 1.0.0
description: "Xdroid Speech To Text API provides a seamless audio transcription service. \n\n### Key highlights\n\n- **Sandbox:** Full-fledged capabilities.\n\n- **Security:** HTTPS, OAuth, Rate limit.\n\n- **Versioning:** Supports version-less API, version tight. If no version is provided (in header) it defaults to latest version. \n\n---\n\n[Source view](https://app.swaggerhub.com/apis/kpn/speech-to-text-Xdroid)
\n[Documentation view](https://app.swaggerhub.com/apis-docs/kpn/speech-to-text-Xdroid/)\n \n---\n \n[KPN Developer](https://developer.kpn.com/)
\n[Getting Started](https://developer.kpn.com/getting-started)\n \n---\n"
contact:
name: API Support Support
email: api_developer@kpn.com
url: https://developer.kpn.com/support
termsOfService: https://developer.kpn.com/legal
servers:
- url: https://api-prd.kpn.com/data/kpn/voiceanalytics
security:
- oauth2: []
tags:
- name: Upload audio
description: 'Uploads an audio file and start a new analytics job.
'
paths:
/job:
post:
tags:
- Upload audio
summary: Submits audio files for analyis.
description: "To create a new transcript use the following recommendations: \n+ Accepted container formats:\n - .wav\n - .mp3 / .mp4\n - .opus / .ogg\n \n+ Preferred requirements:\n - Bitrate: 64 Kbit/s per channel (stero recording is supported)\n - Sample rate: 8 KHz\n - Uncompressed files preferred\n\n+ Max audio file size: 150 MB."
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
config:
type: object
description: "A JSON object defining the language of the audio file. For example: \n\n`{\"language\":\"en\",\"recording_start\":\"20201119121111\" }` or\n`{\"language\":\"en\",\"recording_start\":\"\" }`\n\nBody parameter | Description\n---------------|----------------------\n`language` | The parameter `language` is required in ISO language code. Supported language codes: Global English: `en` Global Spanish: `es` Dutch: `nl` French: `fr ` Example: `{\"language\":\"en\"}`\n`recording_start` | Day and time when the recording starts. Optional Format: `YmdHis`. Example: `20201216081228`\n"
audio_file:
type: string
format: binary
description: Attach the audio file to be transcribed. Requirements see above.
responses:
200:
$ref: '#/components/responses/ok'
400:
$ref: '#/components/responses/bad_request'
401:
$ref: '#/components/responses/unauthorized'
404:
$ref: '#/components/responses/not_found'
413:
$ref: '#/components/responses/request_entity_too_large'
500:
$ref: '#/components/responses/server_error'
components:
schemas:
job:
type: object
properties:
job_id:
type: integer
description: The job_id identifies your request, you should refer to this identifier later.
example: 17424
error:
type: object
properties:
transactionId:
type: string
description: Transaction ID of the the request.
title: Transaction ID
status:
type: string
description: Status
title: Status
name:
type: string
description: Error name
title: Error name
message:
type: string
description: Error message
title: Error message
info:
type: string
description: Additional information about error.
title: Info
responses:
ok:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/job'
not_found:
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/error'
bad_request:
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/error'
unauthorized:
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/error'
request_entity_too_large:
description: Request entity too large
content:
application/json:
schema:
$ref: '#/components/schemas/error'
server_error:
description: Server error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
securitySchemes:
oauth2:
type: oauth2
flows:
clientCredentials:
tokenUrl: https://api-prd.kpn.com/oauth/client_credential/accesstoken?grant_type=client_credentials
scopes: {}