openapi: 3.0.3 info: title: Speechmatics Batch Transcription API Keys API version: 2.0.0 description: The Speechmatics Automatic Speech Recognition REST API is used to submit ASR jobs and receive the results. The supported job type is transcription of audio files. Supports 55+ languages, speaker diarization, translation, summarization, sentiment analysis, topic detection, and custom vocabulary. contact: email: support@speechmatics.com x-providerName: speechmatics x-serviceName: batch-transcription-api servers: - url: https://asr.api.speechmatics.com/v2 description: Speechmatics Batch ASR API (EU) - url: https://eu1.asr.api.speechmatics.com/v2 description: Speechmatics Batch ASR API (EU1) - url: https://usa.asr.api.speechmatics.com/v2 description: Speechmatics Batch ASR API (USA) security: - bearerAuth: [] tags: - name: API Keys paths: /api-keys: get: summary: Get all API keys operationId: listApiKeys tags: - API Keys parameters: - name: project_id in: query required: false schema: type: integer description: Filter API keys by project ID. responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ApiKeysResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Project not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '410': description: Gone content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' post: summary: Create an API key operationId: createApiKey tags: - API Keys parameters: - name: type in: query required: false schema: type: string enum: - rt - batch - flow - tts description: Product the token will be authorized to access (default batch). requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/CreateApiKeysRequest' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/CreateApiKeysResponse' '403': description: Forbidden (project has maximum API keys) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '410': description: Gone content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api-keys/{apikey_id}: delete: summary: Delete an API key operationId: deleteApiKey tags: - API Keys parameters: - name: apikey_id in: path required: true schema: type: string description: The API key ID to delete. responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OkResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '410': description: Gone content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' components: schemas: CreateApiKeysResponse: type: object required: - key_value - apikey_id properties: key_value: type: string description: The API key value (only returned on creation). apikey_id: type: string ErrorResponse: type: object required: - code - error properties: code: type: integer description: The HTTP status code. error: type: string description: The error message. detail: type: string description: Additional error details. CreateApiKeysRequest: type: object properties: project_id: type: integer nullable: true name: type: string nullable: true maxLength: 120 client_ref: type: string nullable: true ttl: type: integer nullable: true minimum: 60 maximum: 86400 description: Token time-to-live in seconds (60-86400). region: type: string nullable: true enum: - eu - usa - au ApiKeysResponse: type: array items: $ref: '#/components/schemas/ApiKey' OkResponse: type: object properties: status: type: string description: Status string. example: OK ApiKey: type: object required: - apikey_id properties: apikey_id: type: string name: type: string created_at: type: string format: date-time client_ref: type: string securitySchemes: bearerAuth: type: apiKey in: header name: Authorization description: 'Bearer token authentication. Use the format: Bearer $API_KEY_OR_JWT'