# All endpoints

> Every route in the Munsit API on one page — regional base URLs first, then the full endpoint index grouped by product area. Everything authenticates the same way: your key in the x-api-key header.

## Regional base URLs

Munsit provides regional API endpoints to ensure optimal performance and data residency compliance. Use the endpoint closest to your users or the one that matches your data residency requirements. All API functionality is identical across regions.

| Region | Base URL | Dashboard |
| --- | --- | --- |
| **Global (Default)** | `https://api.munsit.com/api/v1` | [app.munsit.com](https://app.munsit.com) |
| **UAE** | `https://ae.api.faseeh.ai/api/v1` | [ae.app.munsit.com](https://ae.app.munsit.com) |

> Keys are per region. Each regional endpoint has its own dashboard. To use the UAE endpoint, you must sign up and generate your API key from the UAE dashboard at ae.app.munsit.com. API keys are not interchangeable between regions.

> Data residency. If you have data residency requirements for the UAE, use the UAE regional endpoint (ae.api.faseeh.ai).

## How to use

Four steps, and any endpoint below works against either region:

| Step | Do this |
| --- | --- |
| **1 · Sign up on the correct dashboard** | Use [app.munsit.com](https://app.munsit.com) for the global endpoint or [ae.app.munsit.com](https://ae.app.munsit.com) for the UAE endpoint. |
| **2 · Choose your base URL** | Select the regional endpoint that matches your dashboard. |
| **3 · Include your API key** | Add your API key in the `x-api-key` header for authentication. |
| **4 · Set Content-Type** | Include `Content-Type: application/json` for JSON requests. |

## Text to Speech & voices

Synthesis, streaming audio output, the voice catalogue, cloning, and Arabic diacritization.

[POST/text-to-speech/{model\_id}→Generate speech from text with a chosen model.](/text-to-speech/synthesize) [WSS/websocket/text-to-speech→Stream audio out as text arrives.](/text-to-speech/audio-streaming-output) [POST/text-to-speech/{model\_id}/with-timestamps→Generate speech with character-level timings.](/text-to-speech/word-timestamps) [GET/voices→List available voices.](/text-to-speech/voices) [POST/voices/preview→Preview a voice.](/text-to-speech/voice-preview) [POST/voices/clone→Clone a voice from a sample.](/text-to-speech/voice-cloning) [POST/tashkil/diacritize→Diacritize Arabic text (tashkīl).](/text-to-speech/tashkil) [GET/models→List available models.](/text-to-speech/models)

## Speech to Text

File transcription, live streaming, speaker separation and meeting summaries.

[WSS/listen→Live Arabic transcription with turn detection, word timestamps, and per-turn sentiment and gender.](/speech-to-text/streaming) [POST/audio/transcribe→Transcribe an audio file with the munsit ASR model.](/speech-to-text/transcribe) [WSS/websocket/speech-to-text→Legacy real-time transcription — deprecated, use `/listen`.](/speech-to-text/streaming) [POST/audio/diarization/transcribe→Transcribe with speaker diarization.](/speech-to-text/diarization) [POST/diarization/{diarizationId}/sentiment-analysis→Sentiment analysis on a diarized transcript.](/speech-to-text/diarization-sentiment) [POST/minutes-of-meeting/transcribe→Transcribe and produce minutes of a meeting.](/speech-to-text/minutes-of-meetings)

## Understanding

Analysis on top of any transcript you've produced.

[POST/audio/{transcriptionId}/sentiment-analysis→Sentiment analysis on a transcription.](/understanding/sentiment-analysis) [POST/minutes-of-meeting/{transcriptionId}/keyword-extraction→Extract keywords from a meeting transcription.](/understanding/keyword-extraction) [POST/translation/stream→Stream a translation of a transcript.](/understanding/translation)

## Audio

Clean audio before you use it — asynchronous denoise jobs with live progress.

[POST/denoise→Submit a denoise (voice isolation) job.](/audio/voice-isolation) [GET/denoise→List denoise history and final audio URLs.](/audio/voice-isolation) [GET/denoise/{denoiseId}/progress→Stream job progress over SSE.](/audio/denoise-progress)

## Direct API calls

Only the base URL changes between regions.

```
# Base URL: https://api.munsit.com/api/v1

curl -X POST "https://api.munsit.com/api/v1/text-to-speech/faseeh-v1-preview" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "voice_id": "ar-najdi-male-2",
    "text": "مرحبا بك في فصيح",
    "stability": 0.5,
    "streaming": true,
    "speed": 1
  }'
```

```
# Base URL: https://ae.api.faseeh.ai/api/v1

curl -X POST "https://ae.api.faseeh.ai/api/v1/text-to-speech/faseeh-v1-preview" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "voice_id": "ar-najdi-male-2",
    "text": "مرحبا بك في فصيح",
    "stability": 0.5,
    "streaming": true,
    "speed": 1
  }'
```
