Getting started with the Models API
Get a monday API token, point your client at the Models API, and call chat, embeddings, images, and audio through the OpenAI-compatible API.
The Models API is OpenAI-compatible: request bodies, parameters, and response objects match the OpenAI HTTP API, so you can reuse existing OpenAI tutorials and SDKs by swapping the base URL and API key.
Before you begin
- A monday.com Pro or Enterprise workspace with AI features available for your use case.
1. Get your API token
Use a monday.com personal API token as the credential for the Models API (not an OpenAI API key). How to create and copy your token, regenerate it, and what it can access is documented in Authentication.
If you authenticate with an app token instead, configure scopes and tokens as described in the apps documentation so the token can use AI features. The app associated with the token must include the ai:consume scope.
2. Point your client at the Models API
Set:
| Setting | Value |
|---|---|
| Base URL | https://api.monday.com/platform-ai-gateway/openai/v1 |
| Authorization | Bearer <MONDAY_API_TOKEN> |
If you use the OpenAI SDKs, set baseURL / base_url to the value above and apiKey / api_key to your monday token.
3. Send a test request
cURL (chat completion)
curl -sS -X POST "https://api.monday.com/platform-ai-gateway/openai/v1/chat/completions" \
-H "Authorization: Bearer <MONDAY_API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"model": "monday-standard",
"messages": [{ "role": "user", "content": "Reply with the word: ok" }]
}'We recommend monday-standard (or monday-fast / monday-powerful) for tests. See Recommended chat model aliases. You can also pass a direct model ID from the supported models list.
Prefer GraphQL? For simple, single-turn chat completions you can use the
run_promptmutation in the core GraphQL API instead of the OpenAI-compatible REST endpoint — no separate base URL or client required. It's a simplified wrapper over the same AI gateway, so the same access requirements and monday AI token consumption apply. Available in API versions2026-10and later. For streaming, tools / function calling, embeddings, images, or audio, use the Models API. See the AI reference.
Supported capabilities
| Capability | Endpoint | Notes |
|---|---|---|
| Text / chat | POST /chat/completions | Streaming SSE, tools / function calling, JSON response modes—same concepts as OpenAI. |
| Embeddings | POST /embeddings | Text embeddings for search, RAG, and similarity. |
| Images | POST /images/generations | Image generation from a text prompt. |
| Audio | POST /audio/speech | Text-to-speech; response is binary audio (for example MP3). |
Together, these cover text, embeddings, images, and audio through one API.
Chat model aliases (recommended)
For /chat/completions, pass one of the monday-* aliases instead of hard coding a vendor model ID whenever you can:
monday-fast→claude-haiku-4-5monday-standard→claude-sonnet-4-6(also used whenmodelis omitted)monday-powerful→claude-opus-4-6
Why aliases: They are more stable for your product. monday controls how each alias maps to an underlying model, so improvements (for example switching to a newer Sonnet) do not require you to redeploy new model strings everywhere. See Supported models and Pricing and metering.
Using official OpenAI SDKs
Point the client at the Models API base URL and use your monday token as the API key. The request and response types match what the OpenAI SDKs expect, so you can follow any tutorial written for OpenAI by swapping base URL and API key.
- Full method list and parameters: OpenAI API reference
- Cookbook and patterns: OpenAI documentation — use the same request shapes; validate model IDs against Supported models because not every OpenAI model name is available on the Models API.
TipSome OpenAI SDKs require an explicit
modelargument even when the upstream server has a default. When you must pass a value, usemonday-standard(or anothermonday-*alias) rather than a raw vendor ID. If you rely on server-side defaults via REST, the Models API defaults tomonday-standard.
Behavior notes
A few practical differences from calling OpenAI directly are worth planning for:
- Images: Responses may return image data as
b64_jsonrather than a hostedurl—decode base64 in your app. - Errors: Some HTTP errors (for example authentication failures) may use a platform-specific JSON shape instead of the OpenAI
errorobject. Handle both raw HTTP failures and structurederrorbodies. - Models: Unsupported model names can surface as generic upstream errors—prefer the supported models list and pin explicit IDs in production.
Metering
There is no separate fee to use the Models API itself. Usage draws down monday AI tokens, which are intended to approximate the cost of the underlying model to the best of our ability and may reflect a small additional cost depending on the model used. See Pricing and metering for details.
Check response headers (such as x-monday-credits-used) while integrating so your app can log or display usage consistently.
