openapi: 3.1.0 info: title: Anam AI Auth Voices API version: '1.0' servers: - url: https://api.anam.ai description: Anam API security: - BearerAuth: [] tags: - name: Voices paths: /v1/voices/{id}: get: summary: Get voice description: Returns a voice by ID x-mint: mcp: enabled: true name: get-voice description: Get details of a specific voice by its ID parameters: - in: path name: id schema: type: string format: uuid required: true description: Voice ID responses: '200': description: Successfully retrieved voice content: application/json: schema: type: object properties: id: type: string displayName: type: string provider: type: string providerVoiceId: type: string providerModelId: type: string nullable: true sampleUrl: type: string nullable: true gender: type: string enum: - male - female - neutral nullable: true country: type: string nullable: true description: ISO 3166-1 alpha-2 country code description: type: string nullable: true createdAt: type: string updatedAt: type: string createdByOrganizationId: type: string nullable: true '400': description: Bad request - Invalid voice ID '401': description: Unauthorized - Invalid or missing API key '404': description: Not Found - Voice not found '500': description: Server error operationId: getVoice tags: - Voices put: summary: Update voice description: Update a voice by ID (display name and provider model ID can be updated) x-mint: mcp: enabled: true name: update-voice description: Update a voice's display name, provider model ID, gender, country, and description parameters: - in: path name: id schema: type: string format: uuid required: true description: Voice ID requestBody: required: true content: application/json: schema: type: object required: - displayName properties: displayName: type: string description: New display name for the voice providerModelId: type: string description: New provider model ID for the voice (e.g. sonic-3 for Cartesia, eleven_turbo_v2_5 for ElevenLabs) example: sonic-3 gender: type: string enum: - male - female - neutral nullable: true description: Voice gender country: type: string nullable: true description: ISO 3166-1 alpha-2 country code description: type: string nullable: true description: Voice description responses: '200': description: Successfully updated voice '400': description: Bad request - Invalid voice data '401': description: Unauthorized - Invalid or missing API key '404': description: Not Found - Voice not found '500': description: Server error operationId: updateVoice tags: - Voices delete: summary: Delete voice description: Delete a voice by ID x-mint: mcp: enabled: true name: delete-voice description: Delete a voice. Use with caution as this cannot be undone. parameters: - in: path name: id schema: type: string format: uuid required: true description: Voice ID responses: '200': description: Successfully deleted voice '400': description: Bad request - Invalid voice ID '401': description: Unauthorized - Invalid or missing API key '404': description: Not Found - Voice not found '500': description: Server error operationId: deleteVoice tags: - Voices /v1/voices: get: summary: List voices description: Returns a list of all voices with pagination support x-mint: mcp: enabled: true name: list-voices description: Get a paginated list of all voices with optional search filtering parameters: - in: query name: page schema: type: integer minimum: 1 default: 1 description: Page number for pagination - in: query name: perPage schema: type: integer minimum: 1 maximum: 100 default: 10 description: Number of voices per page (max 100) - in: query name: search schema: type: string description: Search term to filter voices by display name responses: '200': description: Successfully retrieved voices content: application/json: schema: type: object properties: data: type: array items: type: object properties: id: type: string displayName: type: string provider: type: string providerVoiceId: type: string providerModelId: type: string nullable: true sampleUrl: type: string nullable: true gender: type: string enum: - male - female - neutral nullable: true country: type: string nullable: true description: ISO 3166-1 alpha-2 country code description: type: string nullable: true createdAt: type: string updatedAt: type: string meta: type: object properties: total: type: integer lastPage: type: integer currentPage: type: integer perPage: type: integer prev: type: integer nullable: true next: type: integer nullable: true '401': description: Unauthorized - Invalid or missing API key '403': description: Forbidden - Account does not have access '404': description: Not Found - No voices found '500': description: Server error operationId: listVoices tags: - Voices post: summary: Create voice description: Create a new voice by cloning from an audio file x-mint: mcp: enabled: true name: create-voice description: Create a new voice by cloning from an audio file (Enterprise plans only) requestBody: required: true content: multipart/form-data: schema: type: object required: - name - audioFile properties: name: type: string description: Display name for the cloned voice audioFile: type: string format: binary description: Audio file to clone the voice from description: type: string description: Optional description of the voice language: type: string default: en description: Language code for the voice enhance: type: boolean default: true description: Whether to enhance the voice quality responses: '201': description: Successfully created voice clone '400': description: Bad request - Invalid voice data '401': description: Unauthorized - Invalid or missing API key '403': description: Forbidden - Requires enterprise plan '500': description: Server error operationId: createVoice tags: - Voices components: securitySchemes: BearerAuth: type: http scheme: bearer x-mint: mcp: enabled: true