Skip to content
1 change: 1 addition & 0 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,7 @@
"expanded": false,
"pages": [
"v3/data-governance/servers-location",
"v3/data-governance/eu-endpoint",
"v3/data-governance/data-retention"
]
},
Expand Down
5 changes: 4 additions & 1 deletion v3/data-governance/data-retention.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import { TechArticleSchema } from "/snippets/TechArticleSchema.mdx";
proficiencyLevel="Intermediate"
keywords={["Eden AI", "AI API", "GDPR", "data residency"]}
datePublished="2026-05-06T00:00:00Z"
dateModified="2026-05-07T00:00:00Z"
dateModified="2026-05-22T00:00:00Z"
/>

Learn about Eden AI's data retention policies and log retention options.
Expand Down Expand Up @@ -56,6 +56,9 @@ Contact support@edenai.co for data requests.
## Next Steps

<CardGroup cols={2}>
<Card title="EU Endpoint" icon="earth-europe" href="/v3/data-governance/eu-endpoint">
Route requests through EU-eligible providers via api.eu.edenai.run
</Card>
<Card title="Plans & Pricing" icon="book-open" href="/v3/overview/plans-prices">
See data governance options available per plan
</Card>
Expand Down
204 changes: 204 additions & 0 deletions v3/data-governance/eu-endpoint.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,204 @@
---
sidebarTitle: "EU Endpoint"
title: "EU Endpoint"
icon: "earth-europe"
---

Eden AI exposes a regional endpoint that routes your requests exclusively through providers and models cleared for European processing. Use it when your workload requires data residency in the EU or when your compliance posture forbids fallback to providers outside the region.

## Base URLs

| Region | Base URL |
|---|---|
| Global (default) | `https://api.edenai.run` |
| EU | `https://api.eu.edenai.run` |

Everything else — your API key, authentication header, request bodies, response shapes — is identical. You only swap the host.

<Info>
Your API key works on both endpoints. There is no separate EU key to issue.
</Info>

## Calling the EU endpoint

<CodeGroup>
```bash cURL
curl -X POST https://api.eu.edenai.run/v3/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
Comment thread
coderabbitai[bot] marked this conversation as resolved.
-H "Content-Type: application/json" \
-d '{
"model": "mistral/mistral-large-latest",
"messages": [{"role": "user", "content": [{"type": "text", "text": "Bonjour"}]}]
}'
```

```python Python
import requests

response = requests.post(
"https://api.eu.edenai.run/v3/chat/completions",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
json={
"model": "mistral/mistral-large-latest",
"messages": [{"role": "user", "content": [{"type": "text", "text": "Bonjour"}]}],
},
)

print(response.status_code)
print(response.json())
```

```javascript JavaScript
const response = await fetch("https://api.eu.edenai.run/v3/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "mistral/mistral-large-latest",
messages: [{ role: "user", content: [{ type: "text", text: "Bonjour" }] }],
}),
});

console.log(response.status);
console.log(await response.json());
```
</CodeGroup>

## Discovering EU-available models

When you hit the discovery endpoints on `api.eu.edenai.run`, the response is automatically filtered to providers and models that are available in the EU.

<Info>
Discovery endpoints (`/v3/models`, `/v3/info`) are public — no API key needed to browse availability.
</Info>

<Tabs>
<Tab title="LLMs">
<CodeGroup>
```bash cURL
curl https://api.eu.edenai.run/v3/models
```

```python Python
import requests

response = requests.get("https://api.eu.edenai.run/v3/models")
for model in response.json()["data"]:
print(model["id"], [r["code"] for r in model.get("regions", [])])
```

```javascript JavaScript
const response = await fetch("https://api.eu.edenai.run/v3/models");
const { data } = await response.json();
data.forEach((m) => console.log(m.id, (m.regions || []).map((r) => r.code)));
```
</CodeGroup>
</Tab>

<Tab title="Expert Models">
<CodeGroup>
```bash cURL
curl https://api.eu.edenai.run/v3/info
```

```python Python
import requests

response = requests.get("https://api.eu.edenai.run/v3/info")
for feature in response.json()["features"]:
for subfeature in feature["subfeatures"]:
for model in subfeature["models"]:
print(model["model"], [r["code"] for r in model.get("regions", [])])
```

```javascript JavaScript
const response = await fetch("https://api.eu.edenai.run/v3/info");
const { features } = await response.json();
features.forEach((f) =>
f.subfeatures.forEach((sf) =>
sf.models.forEach((m) =>
console.log(m.model, (m.regions || []).map((r) => r.code))
)
)
);
```
</CodeGroup>
</Tab>
</Tabs>

Each model entry carries a `regions` array so you can see at a glance which regions cover it:

```json
{
"id": "mistral/mistral-large-latest",
"object": "model",
"owned_by": "mistral",
"regions": [{ "code": "eu", "name": "Europe" }],
"capabilities": { "pdf": true, "reasoning": false, "web_search": false, "tool_calling": true }
}
```

## Error: provider not available in the EU

If you call the EU endpoint with a model or provider that has not been cleared for European processing, Eden AI rejects the request before any provider is contacted.

**HTTP 451 — Unavailable For Legal Reasons**

LLM endpoints (`/v3/chat/completions`, `/v3/embeddings`, …) return the error in OpenAI-compatible shape:

```json
{
"error": {
"message": "Provider(s)/model(s) google/gemini-3.5-flash are not available on the EU endpoint.",
"type": "request_forbidden",
"param": null,
"code": "region_not_allowed"
}
}
```

Universal AI and expert-model endpoints (`/v3/universal-ai`) return the same status with the FastAPI envelope:

```json
{
"detail": {
"error": "Provider or model not available in this region",
"message": "Provider(s)/model(s) <provider/model> are not available on the EU endpoint."
}
}
```

In both cases the gate runs ahead of input validation and file fetching, so a rejected request never touches the upstream provider, never spends credits, and never leaves the EU boundary. Detect the rejection programmatically via the HTTP 451 status, or via `code: "region_not_allowed"` on LLM responses.

<Tip>
The same check applies to every provider you list in the request — including `fallbacks` and any provider you pass via `model`. A single non-EU entry in the list will reject the whole call.
</Tip>

## Behavior notes

- **Caching is region-scoped.** Cached responses on the global endpoint and the EU endpoint never share state.
- **Sandbox works the same way.** Calls authenticated with `sandbox_api_token` honor the same regional filtering — point your sandbox traffic at `api.eu.edenai.run` to mirror the production routing.
- **Fallback respects the region.** When a fallback list is provided, every entry must be EU-eligible. Non-EU fallbacks trigger a 451 the same way a non-EU primary does.
- **No silent downgrade.** There is no automatic re-route from the EU endpoint to the global endpoint. If no EU-eligible provider exists for your request, the call fails — it does not leak out of the region.

## Next Steps

<CardGroup cols={2}>
<Card title="LLM Models" icon="brain" href="/v3/llms/listing-models">
Browse available LLM models and their regions
</Card>
<Card title="Expert Model Providers" icon="microchip" href="/v3/expert-models/listing-models">
Discover providers per feature in the EU
</Card>
<Card title="Servers Location" icon="location-dot" href="/v3/data-governance/servers-location">
Where Eden AI and its providers host data
</Card>
<Card title="Data Retention" icon="clock-rotate-left" href="/v3/data-governance/data-retention">
How long Eden AI keeps your data
</Card>
</CardGroup>
17 changes: 16 additions & 1 deletion v3/data-governance/servers-location.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,15 @@ import { TechArticleSchema } from "/snippets/TechArticleSchema.mdx";
proficiencyLevel="Intermediate"
keywords={["Eden AI", "AI API", "GDPR", "data residency"]}
datePublished="2026-05-06T00:00:00Z"
dateModified="2026-05-07T00:00:00Z"
dateModified="2026-05-22T00:00:00Z"
/>

Eden AI's infrastructure is hosted in secure European data centers to ensure optimal performance and compliance.

<Tip icon="earth-europe">
Need to keep your AI calls inside the EU? Use the dedicated **EU endpoint** (`api.eu.edenai.run`), which only routes requests through EU-eligible providers and models. See the [EU Endpoint](/v3/data-governance/eu-endpoint) page.
</Tip>

## Provider Data Centers

When you make API calls through Eden AI, your data is processed by the underlying AI providers. Each provider operates their own data centers — locations vary per provider and model.
Expand All @@ -28,3 +32,14 @@ When you make API calls through Eden AI, your data is processed by the underlyin
To check the server location of a specific provider or model, refer to the [Eden AI model catalog](https://app.edenai.run/models).
</Note>

## Next Steps

<CardGroup cols={2}>
<Card title="EU Endpoint" icon="earth-europe" href="/v3/data-governance/eu-endpoint">
Route requests through EU-eligible providers via api.eu.edenai.run
</Card>
<Card title="Data Retention" icon="clock-rotate-left" href="/v3/data-governance/data-retention">
How long Eden AI keeps your data
</Card>
</CardGroup>

6 changes: 5 additions & 1 deletion v3/expert-models/listing-models.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
proficiencyLevel="Intermediate"
keywords={["Eden AI", "AI API", "expert models", "multi-provider"]}
datePublished="2026-05-06T00:00:00Z"
dateModified="2026-05-07T00:00:00Z"
dateModified="2026-05-22T00:00:00Z"
/>

Use the `/v3/info` endpoints to discover all available expert model features, providers, and models.
Expand All @@ -24,7 +24,7 @@

| Endpoint | Description |
|----------|-------------|
| `GET /v3/info` | List all features and subfeatures |

Check warning on line 27 in v3/expert-models/listing-models.mdx

View check run for this annotation

Mintlify / Mintlify Validation (edenai) - vale-spellcheck

v3/expert-models/listing-models.mdx#L27

Did you really mean 'subfeatures'?
| `GET /v3/info/{feature}/{subfeature}` | Get providers, models, pricing, and schemas for a specific feature |

## List All Features
Expand Down Expand Up @@ -94,7 +94,11 @@
You can also browse all features and providers visually in the [Eden AI model catalog](https://app.edenai.run/models).
</Tip>

<Tip icon="earth-europe">
Need EU data residency? Hit `https://api.eu.edenai.run/v3/info` instead and the response is automatically filtered to EU-eligible providers and models. See [EU Endpoint](/v3/data-governance/eu-endpoint).
</Tip>

<Note>
Looking for LLMs like GPT-4o or Claude? See [List LLM Models](/v3/llms/listing-models) for the full list of chat models.

Check warning on line 102 in v3/expert-models/listing-models.mdx

View check run for this annotation

Mintlify / Mintlify Validation (edenai) - vale-spellcheck

v3/expert-models/listing-models.mdx#L102

Did you really mean 'LLMs'?
</Note>

6 changes: 5 additions & 1 deletion v3/llms/listing-models.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import { TechArticleSchema } from "/snippets/TechArticleSchema.mdx";
proficiencyLevel="Intermediate"
keywords={["Eden AI", "AI API", "LLM API", "chat completion", "OpenAI compatible"]}
datePublished="2026-05-06T00:00:00Z"
dateModified="2026-05-07T00:00:00Z"
dateModified="2026-05-22T00:00:00Z"
/>

Use the `/v3/models` endpoint to retrieve all LLM models available through Eden AI, along with their capabilities: PDF support, reasoning, web search, and tool calling.
Expand Down Expand Up @@ -115,6 +115,10 @@ The `capabilities` object describes what each model supports:
You can also browse all features and providers visually in the [Eden AI model catalog](https://app.edenai.run/models).
</Tip>

<Tip icon="earth-europe">
Need EU data residency? Hit `https://api.eu.edenai.run/v3/models` instead and the list is automatically filtered to EU-eligible models. See [EU Endpoint](/v3/data-governance/eu-endpoint).
</Tip>

<Note>
Looking for OCR, image, or audio models? See [List Expert Models](/v3/expert-models/listing-models) for the full catalog of expert model features.
</Note>
Expand Down
Loading