Introduction
Ethyx public HTTP API (API key authentication). Session-backed web app and Sanctum mobile routes are not fully documented here; see docs/releases/v1.0/flutter-client.md for first-party mobile (/api/v1/mobile/auth/*).
All endpoints under this reference use the `api` URL prefix (for example `GET /api/v1/health`).
**Authentication:** Endpoints except health and catalog require `Authorization: Bearer {api_key}` where `{api_key}` is the full secret shown once when you create a key in the Ethyx app. Keys use scopes (`chat:write`, `conversations:read`, `projects:read`, `projects:write`).
**Errors:** JSON error bodies use `message` (string) and `code` (string) such as `unauthorized`, `forbidden`, `validation_error`, `not_found`, and `chat_error`.
**Rate limits:** Layered throttles apply per IP and per API key; chat streaming has an additional per-key limit. Inspect `429` responses and standard rate-limit headers when present.
**First-party mobile:** Authenticated JSON under `/api/v1/mobile/auth/*` uses `Authorization: Bearer {sanctum_personal_access_token}` (not user API keys). See `docs/releases/v1.0/flutter-client.md`.
<aside>As you scroll, you'll see code examples for working with the API in different programming languages in the dark area to the right (or as part of the content on mobile).
You can switch the language used with the tabs at the top right (or from the nav menu at the top left on mobile).</aside>
Authenticating requests
To authenticate requests, include an Authorization header with the value "Bearer {YOUR_ETHYX_API_KEY}".
All authenticated endpoints are marked with a requires authentication badge in the documentation below.
Create an API key in the Ethyx web app (API keys section). Send the full key as a Bearer token. Required scopes are noted on each endpoint (conversations:read, projects:read, projects:write). chat:write is reserved for a future SDK.
Health
Health check
Returns server time (UTC) and application version metadata. Does not require an API key.
Example request:
curl --request GET \
--get "https://qa.ethyx.ai/api/v1/health" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://qa.ethyx.ai/api/v1/health"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://qa.ethyx.ai/api/v1/health';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://qa.ethyx.ai/api/v1/health'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200, success):
{
"serverTimeUtc": "2026-05-03T12:00:00+00:00",
"appVersion": "v1.0.0+abc1234"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Conversations
List conversations
requires authentication
Returns up to 200 conversations for the API key owner, newest updatedAt first. Requires scope conversations:read.
Example request:
curl --request GET \
--get "https://qa.ethyx.ai/api/v1/conversations" \
--header "Authorization: Bearer {YOUR_ETHYX_API_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://qa.ethyx.ai/api/v1/conversations"
);
const headers = {
"Authorization": "Bearer {YOUR_ETHYX_API_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://qa.ethyx.ai/api/v1/conversations';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_ETHYX_API_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://qa.ethyx.ai/api/v1/conversations'
headers = {
'Authorization': 'Bearer {YOUR_ETHYX_API_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200, success):
{
"data": [
{
"id": "019dda93-ab67-70a2-a950-d74bce2ae6fd",
"title": "Project kickoff",
"projectId": null,
"updatedAt": "2026-05-03T12:00:00+00:00",
"pinnedAt": null,
"isPinned": false
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show conversation
requires authentication
Returns a conversation with up to 500 ordered messages for the API key owner. Requires scope conversations:read.
Example request:
curl --request GET \
--get "https://qa.ethyx.ai/api/v1/conversations/architecto" \
--header "Authorization: Bearer {YOUR_ETHYX_API_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://qa.ethyx.ai/api/v1/conversations/architecto"
);
const headers = {
"Authorization": "Bearer {YOUR_ETHYX_API_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://qa.ethyx.ai/api/v1/conversations/architecto';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_ETHYX_API_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://qa.ethyx.ai/api/v1/conversations/architecto'
headers = {
'Authorization': 'Bearer {YOUR_ETHYX_API_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200, success):
{
"data": {
"id": "019dda93-ab67-70a2-a950-d74bce2ae6fd",
"title": "Example",
"projectId": null,
"updatedAt": "2026-05-03T12:00:00+00:00",
"pinnedAt": null,
"isPinned": false,
"messages": []
}
}
Example response (404, not_found):
{
"message": "Conversation not found.",
"code": "not_found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Endpoints
GET api/v1/catalog
requires authentication
Example request:
curl --request GET \
--get "https://qa.ethyx.ai/api/v1/catalog" \
--header "Authorization: Bearer {YOUR_ETHYX_API_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://qa.ethyx.ai/api/v1/catalog"
);
const headers = {
"Authorization": "Bearer {YOUR_ETHYX_API_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://qa.ethyx.ai/api/v1/catalog';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_ETHYX_API_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://qa.ethyx.ai/api/v1/catalog'
headers = {
'Authorization': 'Bearer {YOUR_ETHYX_API_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 59
x-request-id: 49013d12-cd6b-49be-8d1f-ff2be6c3d29a
access-control-allow-origin: *
{
"data": {
"providers": [
{
"id": "openai",
"label": "OpenAI"
},
{
"id": "anthropic",
"label": "Anthropic"
},
{
"id": "xai",
"label": "xAI"
},
{
"id": "deepseek",
"label": "DeepSeek"
},
{
"id": "gemini",
"label": "Gemini"
},
{
"id": "perplexity",
"label": "Perplexity"
},
{
"id": "kimi",
"label": "Kimi"
},
{
"id": "recraft",
"label": "Recraft"
}
],
"provider_display_order": [
"openai",
"xai",
"recraft",
"anthropic",
"deepseek",
"kimi",
"gemini",
"perplexity"
],
"default_chat_model_id": "claude-sonnet-5-5",
"default_image_model_id": "grok-imagine-image",
"model_workload_legend": [
{
"tier": "very_light",
"label": "Very light",
"summary": "Inexpensive, fast, little or no reasoning"
},
{
"tier": "light",
"label": "Light",
"summary": "Low cost, good for straightforward tasks"
},
{
"tier": "balanced",
"label": "Balanced",
"summary": "General work; moderate cost and capability"
},
{
"tier": "heavy",
"label": "Heavy",
"summary": "Larger context, stronger reasoning, higher cost"
},
{
"tier": "very_heavy",
"label": "Very heavy",
"summary": "Maximum capability; slowest and most expensive"
}
],
"model_speed_legend": [
{
"tier": "instant",
"label": "Instant",
"summary": "Lowest latency; best for quick replies"
},
{
"tier": "fast",
"label": "Fast",
"summary": "Responsive for everyday chat"
},
{
"tier": "standard",
"label": "Standard",
"summary": "Typical turnaround for balanced work"
},
{
"tier": "slower",
"label": "Slower-paced",
"summary": "Higher latency; frontier and deep reasoning models"
}
],
"model_privacy_legend": [
{
"tier": "platinum",
"label": "Platinum",
"summary": "No training per provider terms — under its commercial API terms, this provider does not train on your conversations."
},
{
"tier": "gold",
"label": "Gold",
"summary": "No-retention requested — by default, Ethyx sends a per-request no-retention flag (store: false) with chat requests."
},
{
"tier": "bronze",
"label": "Bronze",
"summary": "Caution — this provider may store and train on your messages. Avoid sharing sensitive details."
}
],
"featured_chat_model_ids": [
"claude-sonnet-5-5",
"gpt-5.6-luna",
"grok-4.7"
],
"chat_models": [
{
"id": "gpt-6-astra",
"label": "GPT-6 Astra",
"provider": "openai",
"provider_label": "OpenAI",
"workload_tier": "very_heavy",
"workload_label": "Very heavy",
"task_hint": "OpenAI flagship for the hardest reasoning, coding, and research.",
"when_to_use": "GPT-6 Astra is OpenAI’s most capable model for complex reasoning, coding, research, and document creation. It costs well above GPT-6.1 Sol—use Sol or Terra when the task does not demand the frontier tier.",
"price_band": 4,
"price_indicator": "$$$$",
"simple_budget_tier": "heavy",
"supports_reasoning": true,
"speed_tier": "slower",
"speed_label": "Slower-paced",
"supports_images": true,
"supports_documents": true,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "gold",
"privacy_rating_label": "Gold",
"privacy_rating_summary": "No-retention requested — by default, Ethyx sends a per-request no-retention flag (store: false) with chat requests.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "gpt-6.1-sol",
"label": "GPT-6.1 Sol",
"provider": "openai",
"provider_label": "OpenAI",
"workload_tier": "very_heavy",
"workload_label": "Very heavy",
"task_hint": "Near-Astra OpenAI model for complex coding and professional work.",
"when_to_use": "GPT-6.1 Sol is for complex coding and professional work when you want performance close to GPT-6 Astra at a lower list price. Use Astra when the task needs the frontier tier, or Terra for everyday professional work.",
"price_band": 3,
"price_indicator": "$$$",
"simple_budget_tier": "heavy",
"supports_reasoning": true,
"speed_tier": "slower",
"speed_label": "Slower-paced",
"supports_images": true,
"supports_documents": true,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "gold",
"privacy_rating_label": "Gold",
"privacy_rating_summary": "No-retention requested — by default, Ethyx sends a per-request no-retention flag (store: false) with chat requests.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "gpt-5.4",
"label": "GPT-5.4",
"provider": "openai",
"provider_label": "OpenAI",
"workload_tier": "heavy",
"workload_label": "Heavy",
"task_hint": "Frontier GPT-5.4 for demanding professional work.",
"when_to_use": "GPT-5.4 remains a strong OpenAI frontier tier for demanding professional work. GPT-5.6 Terra/Sol are the newer family—use 5.5 or Sol when you need the absolute top OpenAI tier.",
"price_band": 3,
"price_indicator": "$$$",
"simple_budget_tier": null,
"supports_reasoning": true,
"speed_tier": "slower",
"speed_label": "Slower-paced",
"supports_images": true,
"supports_documents": true,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "gold",
"privacy_rating_label": "Gold",
"privacy_rating_summary": "No-retention requested — by default, Ethyx sends a per-request no-retention flag (store: false) with chat requests.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "gpt-5.5",
"label": "GPT-5.5",
"provider": "openai",
"provider_label": "OpenAI",
"workload_tier": "very_heavy",
"workload_label": "Very heavy",
"task_hint": "Top OpenAI frontier model for the hardest tasks.",
"when_to_use": "GPT-5.5 remains OpenAI’s proven frontier model for the hardest tasks while GPT-5.6 Sol soaks. Prefer Sol when you want the newest flagship generation.",
"price_band": 4,
"price_indicator": "$$$$",
"simple_budget_tier": "heavy",
"supports_reasoning": true,
"speed_tier": "slower",
"speed_label": "Slower-paced",
"supports_images": true,
"supports_documents": true,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "gold",
"privacy_rating_label": "Gold",
"privacy_rating_summary": "No-retention requested — by default, Ethyx sends a per-request no-retention flag (store: false) with chat requests.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "gpt-5.6-sol",
"label": "GPT-5.6 Sol",
"provider": "openai",
"provider_label": "OpenAI",
"workload_tier": "very_heavy",
"workload_label": "Very heavy",
"task_hint": "Flagship GPT-5.6 for the hardest OpenAI tasks.",
"when_to_use": "GPT-5.6 Sol is OpenAI’s flagship GPT-5.6 model for complex reasoning and coding. Expect higher latency and cost than Terra; GPT-5.5 remains available while 5.6 soaks.",
"price_band": 4,
"price_indicator": "$$$$",
"simple_budget_tier": "heavy",
"supports_reasoning": true,
"speed_tier": "slower",
"speed_label": "Slower-paced",
"supports_images": true,
"supports_documents": true,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "gold",
"privacy_rating_label": "Gold",
"privacy_rating_summary": "No-retention requested — by default, Ethyx sends a per-request no-retention flag (store: false) with chat requests.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "gpt-5.6-terra",
"label": "GPT-5.6 Terra",
"provider": "openai",
"provider_label": "OpenAI",
"workload_tier": "heavy",
"workload_label": "Heavy",
"task_hint": "Balanced GPT-5.6 for everyday professional work.",
"when_to_use": "GPT-5.6 Terra balances intelligence and cost for everyday professional work. Prefer Sol for the hardest OpenAI tasks, or Luna when volume and price dominate.",
"price_band": 3,
"price_indicator": "$$$",
"simple_budget_tier": null,
"supports_reasoning": true,
"speed_tier": "standard",
"speed_label": "Standard",
"supports_images": true,
"supports_documents": true,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "gold",
"privacy_rating_label": "Gold",
"privacy_rating_summary": "No-retention requested — by default, Ethyx sends a per-request no-retention flag (store: false) with chat requests.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "gpt-5.6-luna",
"label": "GPT-5.6 Luna",
"provider": "openai",
"provider_label": "OpenAI",
"workload_tier": "light",
"workload_label": "Light",
"task_hint": "Cost-efficient GPT-5.6 for high-volume workloads.",
"when_to_use": "GPT-5.6 Luna is the efficient GPT-5.6 tier for cost-sensitive, high-volume workloads. Step up to Terra or Sol when quality matters more than price.",
"price_band": 2,
"price_indicator": "$$",
"simple_budget_tier": "light",
"supports_reasoning": true,
"speed_tier": "fast",
"speed_label": "Fast",
"supports_images": true,
"supports_documents": true,
"featured": true,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "gold",
"privacy_rating_label": "Gold",
"privacy_rating_summary": "No-retention requested — by default, Ethyx sends a per-request no-retention flag (store: false) with chat requests.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "gpt-5.4-mini",
"label": "GPT-5.4 Mini",
"provider": "openai",
"provider_label": "OpenAI",
"workload_tier": "light",
"workload_label": "Light",
"task_hint": "Strong mini model for coding helpers and subagents.",
"when_to_use": "GPT-5.4 Mini balances capability and cost for coding helpers, subagents, and daily professional chat. It is a strong default when Nano feels too thin but GPT-5.4 full tier is more than you need.",
"price_band": 1,
"price_indicator": "$",
"simple_budget_tier": "regular",
"supports_reasoning": false,
"speed_tier": "fast",
"speed_label": "Fast",
"supports_images": true,
"supports_documents": true,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "gold",
"privacy_rating_label": "Gold",
"privacy_rating_summary": "No-retention requested — by default, Ethyx sends a per-request no-retention flag (store: false) with chat requests.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "gpt-5.4-nano",
"label": "GPT-5.4 Nano",
"provider": "openai",
"provider_label": "OpenAI",
"workload_tier": "very_light",
"workload_label": "Very light",
"task_hint": "Cheapest GPT-5.4 tier; quick drafts and simple Q&A.",
"when_to_use": "Reach for GPT-5.4 Nano when you need the lowest-cost OpenAI tier for quick drafts, classification, and simple Q&A. It trades depth for speed—step up to Mini, Luna, or GPT-5.4 when answers need more nuance.",
"price_band": 1,
"price_indicator": "$",
"simple_budget_tier": "light",
"supports_reasoning": false,
"speed_tier": "instant",
"speed_label": "Instant",
"supports_images": true,
"supports_documents": true,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "gold",
"privacy_rating_label": "Gold",
"privacy_rating_summary": "No-retention requested — by default, Ethyx sends a per-request no-retention flag (store: false) with chat requests.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "gpt-5.3-codex",
"label": "GPT-5.3 Codex",
"provider": "openai",
"provider_label": "OpenAI",
"workload_tier": "heavy",
"workload_label": "Heavy",
"task_hint": "Latest Codex for agentic coding and tool use.",
"when_to_use": "GPT-5.3 Codex is OpenAI’s current agentic coding model for refactors, tool use, and long coding sessions. Prefer it over general chat models when the task is code-first; use Sonnet or Opus when prose quality matters more.",
"price_band": 3,
"price_indicator": "$$$",
"simple_budget_tier": "heavy",
"supports_reasoning": true,
"speed_tier": "slower",
"speed_label": "Slower-paced",
"supports_images": true,
"supports_documents": true,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "gold",
"privacy_rating_label": "Gold",
"privacy_rating_summary": "No-retention requested — by default, Ethyx sends a per-request no-retention flag (store: false) with chat requests.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "claude-sonnet-5-5",
"label": "Claude Sonnet 5.5",
"provider": "anthropic",
"provider_label": "Anthropic",
"workload_tier": "balanced",
"workload_label": "Balanced",
"task_hint": "Balanced Claude for writing, analysis, and code.",
"when_to_use": "Claude Sonnet 5.5 is Ethyx’s balanced default—everyday writing, analysis, and code, faster than Sonnet 5 at the same list price. Use it for most projects; reserve Opus or Fable for maximum quality on hard problems.",
"price_band": 3,
"price_indicator": "$$$",
"simple_budget_tier": "regular",
"supports_reasoning": true,
"speed_tier": "standard",
"speed_label": "Standard",
"supports_images": true,
"supports_documents": true,
"featured": true,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "platinum",
"privacy_rating_label": "Platinum",
"privacy_rating_summary": "No training per provider terms — under its commercial API terms, this provider does not train on your conversations.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "claude-sonnet-5",
"label": "Claude Sonnet 5",
"provider": "anthropic",
"provider_label": "Anthropic",
"workload_tier": "balanced",
"workload_label": "Balanced",
"task_hint": "Prior Claude Sonnet for writing, analysis, and code.",
"when_to_use": "Claude Sonnet 5 remains available for writing, analysis, and code. Prefer Sonnet 5.5 for the current generation; reserve Opus or Fable for maximum quality on hard problems.",
"price_band": 3,
"price_indicator": "$$$",
"simple_budget_tier": null,
"supports_reasoning": true,
"speed_tier": "standard",
"speed_label": "Standard",
"supports_images": true,
"supports_documents": true,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "platinum",
"privacy_rating_label": "Platinum",
"privacy_rating_summary": "No training per provider terms — under its commercial API terms, this provider does not train on your conversations.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "claude-fable-5-1",
"label": "Claude Fable 5.1",
"provider": "anthropic",
"provider_label": "Anthropic",
"workload_tier": "very_heavy",
"workload_label": "Very heavy",
"task_hint": "Anthropic flagship for demanding reasoning and long-horizon agentic work.",
"when_to_use": "Claude Fable 5.1 is Anthropic’s most capable widely released model for demanding reasoning, long-horizon agentic coding, and high-autonomy work. Use Opus 5.5 when you want near-flagship quality at a lower price.",
"price_band": 4,
"price_indicator": "$$$$",
"simple_budget_tier": "heavy",
"supports_reasoning": true,
"speed_tier": "slower",
"speed_label": "Slower-paced",
"supports_images": true,
"supports_documents": true,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "platinum",
"privacy_rating_label": "Platinum",
"privacy_rating_summary": "No training per provider terms — under its commercial API terms, this provider does not train on your conversations.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "claude-fable-5",
"label": "Claude Fable 5",
"provider": "anthropic",
"provider_label": "Anthropic",
"workload_tier": "very_heavy",
"workload_label": "Very heavy",
"task_hint": "Prior Anthropic flagship for demanding reasoning and long-horizon work.",
"when_to_use": "Claude Fable 5 remains available for demanding reasoning and long-horizon work. Prefer Fable 5.1 for the newest flagship. Use Opus 5.5 when you want strong Opus quality at a lower price than Fable.",
"price_band": 4,
"price_indicator": "$$$$",
"simple_budget_tier": "heavy",
"supports_reasoning": true,
"speed_tier": "slower",
"speed_label": "Slower-paced",
"supports_images": true,
"supports_documents": true,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "platinum",
"privacy_rating_label": "Platinum",
"privacy_rating_summary": "No training per provider terms — under its commercial API terms, this provider does not train on your conversations.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "claude-opus-5-5",
"label": "Claude Opus 5.5",
"provider": "anthropic",
"provider_label": "Anthropic",
"workload_tier": "very_heavy",
"workload_label": "Very heavy",
"task_hint": "Latest Opus for long-running agentic coding and knowledge work.",
"when_to_use": "Claude Opus 5.5 is Anthropic’s latest Opus tier for long-running agentic coding and knowledge work, priced below Opus 5. Prefer Sonnet for everyday work, or Fable 5.1 when evals still fall short.",
"price_band": 4,
"price_indicator": "$$$$",
"simple_budget_tier": "heavy",
"supports_reasoning": true,
"speed_tier": "slower",
"speed_label": "Slower-paced",
"supports_images": true,
"supports_documents": true,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "platinum",
"privacy_rating_label": "Platinum",
"privacy_rating_summary": "No training per provider terms — under its commercial API terms, this provider does not train on your conversations.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "claude-opus-5",
"label": "Claude Opus 5",
"provider": "anthropic",
"provider_label": "Anthropic",
"workload_tier": "very_heavy",
"workload_label": "Very heavy",
"task_hint": "Prior Opus tier for deep reasoning and long-horizon work.",
"when_to_use": "Claude Opus 5 remains available for deep reasoning and long-horizon work. Prefer Opus 5.5 for the newest Opus generation; use Sonnet for everyday work.",
"price_band": 4,
"price_indicator": "$$$$",
"simple_budget_tier": "heavy",
"supports_reasoning": true,
"speed_tier": "slower",
"speed_label": "Slower-paced",
"supports_images": true,
"supports_documents": true,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "platinum",
"privacy_rating_label": "Platinum",
"privacy_rating_summary": "No training per provider terms — under its commercial API terms, this provider does not train on your conversations.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "claude-opus-4-8",
"label": "Claude Opus 4.8",
"provider": "anthropic",
"provider_label": "Anthropic",
"workload_tier": "very_heavy",
"workload_label": "Very heavy",
"task_hint": "Deprecated Opus tier. Prefer Opus 5.5.",
"when_to_use": "Claude Opus 4.8 is deprecated—prefer Claude Opus 5.5. It remains available briefly for continuity. Use Sonnet for everyday work.",
"price_band": 4,
"price_indicator": "$$$$",
"simple_budget_tier": null,
"supports_reasoning": true,
"speed_tier": "slower",
"speed_label": "Slower-paced",
"supports_images": true,
"supports_documents": true,
"featured": false,
"deprecated": true,
"deprecated_replacement_id": "claude-opus-5-5",
"privacy_rating": "platinum",
"privacy_rating_label": "Platinum",
"privacy_rating_summary": "No training per provider terms — under its commercial API terms, this provider does not train on your conversations.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "claude-haiku-5-5",
"label": "Claude Haiku 5.5",
"provider": "anthropic",
"provider_label": "Anthropic",
"workload_tier": "very_light",
"workload_label": "Very light",
"task_hint": "Current Haiku for light chat and summaries.",
"when_to_use": "Haiku 5.5 is Anthropic’s current fast lane—summaries, short edits, and responsive everyday chat, at a lower list price than Haiku 4.5. Choose Sonnet when you need stronger writing or code review, or Opus/Fable for the hardest reasoning.",
"price_band": 1,
"price_indicator": "$",
"simple_budget_tier": "light",
"supports_reasoning": true,
"speed_tier": "instant",
"speed_label": "Instant",
"supports_images": true,
"supports_documents": true,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "platinum",
"privacy_rating_label": "Platinum",
"privacy_rating_summary": "No training per provider terms — under its commercial API terms, this provider does not train on your conversations.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "claude-haiku-4-5",
"label": "Claude Haiku 4.5",
"provider": "anthropic",
"provider_label": "Anthropic",
"workload_tier": "very_light",
"workload_label": "Very light",
"task_hint": "Prior Haiku for light chat and summaries.",
"when_to_use": "Haiku 4.5 remains available for summaries, short edits, and responsive everyday chat. Prefer Haiku 5.5 for the current generation. Choose Sonnet when you need stronger writing or code review, or Opus/Fable for the hardest reasoning.",
"price_band": 2,
"price_indicator": "$$",
"simple_budget_tier": null,
"supports_reasoning": false,
"speed_tier": "instant",
"speed_label": "Instant",
"supports_images": true,
"supports_documents": true,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "platinum",
"privacy_rating_label": "Platinum",
"privacy_rating_summary": "No training per provider terms — under its commercial API terms, this provider does not train on your conversations.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "grok-4.7",
"label": "Grok 4.7",
"provider": "xai",
"provider_label": "xAI",
"workload_tier": "heavy",
"workload_label": "Heavy",
"task_hint": "xAI flagship for agentic coding, long-running tasks, and knowledge work.",
"when_to_use": "Grok 4.7 is xAI’s current flagship for agentic coding, long-running research, and ambitious interactive work. Use Grok 4.6 when you want the prior flagship, or Grok 4.3 for general chat.",
"price_band": 2,
"price_indicator": "$$",
"simple_budget_tier": "heavy",
"supports_reasoning": true,
"speed_tier": "slower",
"speed_label": "Slower-paced",
"supports_images": true,
"supports_documents": false,
"featured": true,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "gold",
"privacy_rating_label": "Gold",
"privacy_rating_summary": "No-retention requested — by default, Ethyx sends a per-request no-retention flag (store: false) with chat requests.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "grok-4.6",
"label": "Grok 4.6",
"provider": "xai",
"provider_label": "xAI",
"workload_tier": "heavy",
"workload_label": "Heavy",
"task_hint": "Prior xAI flagship for agentic coding and knowledge work.",
"when_to_use": "Grok 4.6 is xAI’s prior flagship for agentic coding, long-running research, and ambitious interactive work. Prefer Grok 4.7 for the newest flagship. Use Grok 4.5 when you specifically need the prior coding line, or Grok 4.3 for general chat.",
"price_band": 2,
"price_indicator": "$$",
"simple_budget_tier": null,
"supports_reasoning": true,
"speed_tier": "slower",
"speed_label": "Slower-paced",
"supports_images": true,
"supports_documents": false,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "gold",
"privacy_rating_label": "Gold",
"privacy_rating_summary": "No-retention requested — by default, Ethyx sends a per-request no-retention flag (store: false) with chat requests.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "grok-4.5",
"label": "Grok 4.5",
"provider": "xai",
"provider_label": "xAI",
"workload_tier": "heavy",
"workload_label": "Heavy",
"task_hint": "xAI coding model for agentic software and engineering tasks.",
"when_to_use": "Grok 4.5 is xAI’s prior coding-focused model for agentic software and engineering tasks. Prefer Grok 4.7 for the newest flagship; use Grok 4.3 for general chat and mixed workloads.",
"price_band": 2,
"price_indicator": "$$",
"simple_budget_tier": null,
"supports_reasoning": true,
"speed_tier": "slower",
"speed_label": "Slower-paced",
"supports_images": true,
"supports_documents": false,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "gold",
"privacy_rating_label": "Gold",
"privacy_rating_summary": "No-retention requested — by default, Ethyx sends a per-request no-retention flag (store: false) with chat requests.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "grok-4.3",
"label": "Grok 4.3",
"provider": "xai",
"provider_label": "xAI",
"workload_tier": "balanced",
"workload_label": "Balanced",
"task_hint": "Strong general Grok for mixed workloads.",
"when_to_use": "Grok 4.3 is xAI’s strong general model for mixed workloads that benefit from reasoning. Pair it with Sonar when you need citations, Grok 4.6 for coding-first work, or Grok 4.20 Non-Reasoning when speed dominates.",
"price_band": 1,
"price_indicator": "$",
"simple_budget_tier": "regular",
"supports_reasoning": true,
"speed_tier": "standard",
"speed_label": "Standard",
"supports_images": true,
"supports_documents": false,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "gold",
"privacy_rating_label": "Gold",
"privacy_rating_summary": "No-retention requested — by default, Ethyx sends a per-request no-retention flag (store: false) with chat requests.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "grok-4.20-reasoning",
"label": "Grok 4.20 Reasoning",
"provider": "xai",
"provider_label": "xAI",
"workload_tier": "heavy",
"workload_label": "Heavy",
"task_hint": "Grok with deeper reasoning and analysis.",
"when_to_use": "Grok 4.20 Reasoning is for analysis-heavy Grok workloads where non-reasoning Grok would feel too shallow. Consider Grok 4.3, Grok 4.6, or a frontier Claude/OpenAI model for the hardest tasks.",
"price_band": 3,
"price_indicator": "$$$",
"simple_budget_tier": "heavy",
"supports_reasoning": true,
"speed_tier": "slower",
"speed_label": "Slower-paced",
"supports_images": true,
"supports_documents": false,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "gold",
"privacy_rating_label": "Gold",
"privacy_rating_summary": "No-retention requested — by default, Ethyx sends a per-request no-retention flag (store: false) with chat requests.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "grok-4.20-non-reasoning",
"label": "Grok 4.20 Non-Reasoning",
"provider": "xai",
"provider_label": "xAI",
"workload_tier": "very_light",
"workload_label": "Very light",
"task_hint": "Quick Grok responses when reasoning is not needed.",
"when_to_use": "Use Grok 4.20 Non-Reasoning for quick Grok replies on straightforward prompts. It keeps cost and latency down—move to Grok 4.20 Reasoning, Grok 4.3, or Grok 4.6 when the task needs deeper analysis or coding.",
"price_band": 3,
"price_indicator": "$$$",
"simple_budget_tier": "light",
"supports_reasoning": false,
"speed_tier": "instant",
"speed_label": "Instant",
"supports_images": true,
"supports_documents": false,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "gold",
"privacy_rating_label": "Gold",
"privacy_rating_summary": "No-retention requested — by default, Ethyx sends a per-request no-retention flag (store: false) with chat requests.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "deepseek-flash",
"label": "DeepSeek V4.1 Flash",
"provider": "deepseek",
"provider_label": "DeepSeek",
"workload_tier": "light",
"workload_label": "Light",
"task_hint": "Current DeepSeek Flash for affordable general chat.",
"when_to_use": "DeepSeek V4.1 Flash is the current affordable DeepSeek chat model. Choose DeepSeek V4 Pro when problems need visible extended thinking.",
"price_band": 1,
"price_indicator": "$",
"simple_budget_tier": "light",
"supports_reasoning": false,
"speed_tier": "fast",
"speed_label": "Fast",
"supports_images": false,
"supports_documents": false,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "bronze",
"privacy_rating_label": "Bronze",
"privacy_rating_summary": "Caution — this provider may store and train on your messages. Avoid sharing sensitive details.",
"privacy_retention_warning": true,
"can_open_in_chat": false
},
{
"id": "deepseek-v4-flash",
"label": "DeepSeek V4 Flash",
"provider": "deepseek",
"provider_label": "DeepSeek",
"workload_tier": "light",
"workload_label": "Light",
"task_hint": "Prior DeepSeek Flash. Requests now run on V4.1 Flash.",
"when_to_use": "DeepSeek V4 Flash is deprecated—requests route to V4.1 Flash. Prefer DeepSeek V4.1 Flash.",
"price_band": 1,
"price_indicator": "$",
"simple_budget_tier": null,
"supports_reasoning": false,
"speed_tier": "fast",
"speed_label": "Fast",
"supports_images": false,
"supports_documents": false,
"featured": false,
"deprecated": true,
"deprecated_replacement_id": "deepseek-flash",
"privacy_rating": "bronze",
"privacy_rating_label": "Bronze",
"privacy_rating_summary": "Caution — this provider may store and train on your messages. Avoid sharing sensitive details.",
"privacy_retention_warning": true,
"can_open_in_chat": false
},
{
"id": "deepseek-v4-pro",
"label": "DeepSeek V4 Pro",
"provider": "deepseek",
"provider_label": "DeepSeek",
"workload_tier": "heavy",
"workload_label": "Heavy",
"task_hint": "DeepSeek flagship with extended reasoning for hard problems.",
"when_to_use": "DeepSeek V4 Pro adds extended thinking for math, logic, and multi-step problems. Use DeepSeek V4 Flash when you want faster, cheaper general conversation.",
"price_band": 1,
"price_indicator": "$",
"simple_budget_tier": "heavy",
"supports_reasoning": true,
"speed_tier": "slower",
"speed_label": "Slower-paced",
"supports_images": false,
"supports_documents": false,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "bronze",
"privacy_rating_label": "Bronze",
"privacy_rating_summary": "Caution — this provider may store and train on your messages. Avoid sharing sensitive details.",
"privacy_retention_warning": true,
"can_open_in_chat": false
},
{
"id": "gemini-3.8-flash",
"label": "Gemini 3.8 Flash",
"provider": "gemini",
"provider_label": "Gemini",
"workload_tier": "light",
"workload_label": "Light",
"task_hint": "Newest Gemini Flash for agentic coding and knowledge work.",
"when_to_use": "Gemini 3.8 Flash is Google’s newest Flash workhorse—strong for agentic loops, coding, and responsive general chat. Prefer it over 3.7 Flash unless you specifically need the prior generation.",
"price_band": 2,
"price_indicator": "$$",
"simple_budget_tier": "regular",
"supports_reasoning": true,
"speed_tier": "fast",
"speed_label": "Fast",
"supports_images": true,
"supports_documents": true,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "gold",
"privacy_rating_label": "Gold",
"privacy_rating_summary": "No-retention requested — by default, Ethyx sends a per-request no-retention flag (store: false) with chat requests.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "gemini-3.7-flash",
"label": "Gemini 3.7 Flash",
"provider": "gemini",
"provider_label": "Gemini",
"workload_tier": "light",
"workload_label": "Light",
"task_hint": "Prior Gemini Flash for agentic, coding, and knowledge work.",
"when_to_use": "Gemini 3.7 Flash is Google’s prior Flash workhorse—strong for agentic loops, coding, and responsive general chat. Step up to Gemini 3.8 Flash for the newest Flash generation.",
"price_band": 2,
"price_indicator": "$$",
"simple_budget_tier": null,
"supports_reasoning": true,
"speed_tier": "fast",
"speed_label": "Fast",
"supports_images": true,
"supports_documents": true,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "gold",
"privacy_rating_label": "Gold",
"privacy_rating_summary": "No-retention requested — by default, Ethyx sends a per-request no-retention flag (store: false) with chat requests.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "gemini-3.6-flash",
"label": "Gemini 3.6 Flash",
"provider": "gemini",
"provider_label": "Gemini",
"workload_tier": "light",
"workload_label": "Light",
"task_hint": "Latest Gemini Flash for agentic and coding workloads.",
"when_to_use": "Gemini 3.6 Flash is deprecated—prefer Gemini 3.8 Flash. It remains available briefly for continuity.",
"price_band": 2,
"price_indicator": "$$",
"simple_budget_tier": null,
"supports_reasoning": true,
"speed_tier": "fast",
"speed_label": "Fast",
"supports_images": true,
"supports_documents": true,
"featured": false,
"deprecated": true,
"deprecated_replacement_id": "gemini-3.8-flash",
"privacy_rating": "gold",
"privacy_rating_label": "Gold",
"privacy_rating_summary": "No-retention requested — by default, Ethyx sends a per-request no-retention flag (store: false) with chat requests.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "gemini-3.5-flash",
"label": "Gemini 3.5 Flash",
"provider": "gemini",
"provider_label": "Gemini",
"workload_tier": "light",
"workload_label": "Light",
"task_hint": "Fast Gemini 3.5 for agentic and coding workloads.",
"when_to_use": "Gemini 3.5 Flash is deprecated—prefer Gemini 3.7 Flash for the current Flash generation. It remains available briefly for continuity.",
"price_band": 2,
"price_indicator": "$$",
"simple_budget_tier": null,
"supports_reasoning": true,
"speed_tier": "fast",
"speed_label": "Fast",
"supports_images": true,
"supports_documents": true,
"featured": false,
"deprecated": true,
"deprecated_replacement_id": "gemini-3.7-flash",
"privacy_rating": "gold",
"privacy_rating_label": "Gold",
"privacy_rating_summary": "No-retention requested — by default, Ethyx sends a per-request no-retention flag (store: false) with chat requests.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "gemini-3.1-pro-preview",
"label": "Gemini 3.1 Pro",
"provider": "gemini",
"provider_label": "Gemini",
"workload_tier": "heavy",
"workload_label": "Heavy",
"task_hint": "Top Gemini tier for difficult multimodal and analytical work.",
"when_to_use": "Gemini 3.1 Pro is Google’s top chat tier for difficult multimodal and analytical work. Gemini 3.7 Flash is the better fit when responsiveness and agentic speed matter more than depth.",
"price_band": 3,
"price_indicator": "$$$",
"simple_budget_tier": null,
"supports_reasoning": true,
"speed_tier": "standard",
"speed_label": "Standard",
"supports_images": true,
"supports_documents": true,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "gold",
"privacy_rating_label": "Gold",
"privacy_rating_summary": "No-retention requested — by default, Ethyx sends a per-request no-retention flag (store: false) with chat requests.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "gemini-3.5-flash-lite",
"label": "Gemini 3.5 Flash-Lite",
"provider": "gemini",
"provider_label": "Gemini",
"workload_tier": "very_light",
"workload_label": "Very light",
"task_hint": "Newest Gemini lite tier for high-volume chat.",
"when_to_use": "Gemini 3.5 Flash-Lite is Google’s current lite tier for high-volume chat and subagent work. Keep 3.1 Flash-Lite when you specifically need that generation; step up to Gemini 3.6 Flash for stronger agentic performance.",
"price_band": 1,
"price_indicator": "$",
"simple_budget_tier": "light",
"supports_reasoning": false,
"speed_tier": "instant",
"speed_label": "Instant",
"supports_images": true,
"supports_documents": true,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "gold",
"privacy_rating_label": "Gold",
"privacy_rating_summary": "No-retention requested — by default, Ethyx sends a per-request no-retention flag (store: false) with chat requests.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "gemini-3.1-flash-lite",
"label": "Gemini 3.1 Flash-Lite",
"provider": "gemini",
"provider_label": "Gemini",
"workload_tier": "very_light",
"workload_label": "Very light",
"task_hint": "Lowest-cost Gemini tier for high-volume chat.",
"when_to_use": "Gemini 3.1 Flash-Lite remains available for high-volume chat where cost matters most. Prefer Gemini 3.5 Flash-Lite for the newer lite generation, or Gemini 3.6 Flash when you need stronger agentic and coding performance.",
"price_band": 1,
"price_indicator": "$",
"simple_budget_tier": "light",
"supports_reasoning": false,
"speed_tier": "instant",
"speed_label": "Instant",
"supports_images": true,
"supports_documents": true,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "gold",
"privacy_rating_label": "Gold",
"privacy_rating_summary": "No-retention requested — by default, Ethyx sends a per-request no-retention flag (store: false) with chat requests.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "sonar",
"label": "Sonar",
"provider": "perplexity",
"provider_label": "Perplexity",
"workload_tier": "light",
"workload_label": "Light",
"task_hint": "Web-grounded chat with built-in search and citations.",
"when_to_use": "Sonar in chat combines conversational replies with built-in web search and citations—great when answers should be grounded in current sources rather than model memory alone.",
"price_band": 1,
"price_indicator": "$",
"simple_budget_tier": "regular",
"supports_reasoning": false,
"speed_tier": "fast",
"speed_label": "Fast",
"supports_images": false,
"supports_documents": false,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "platinum",
"privacy_rating_label": "Platinum",
"privacy_rating_summary": "No training per provider terms — under its commercial API terms, this provider does not train on your conversations.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "sonar-pro",
"label": "Sonar Pro",
"provider": "perplexity",
"provider_label": "Perplexity",
"workload_tier": "heavy",
"workload_label": "Heavy",
"task_hint": "Deeper Perplexity research with built-in web and sources.",
"when_to_use": "Sonar Pro in chat delivers deeper Perplexity research with stronger synthesis and citations—use it when Sonar’s everyday web grounding is not enough.",
"price_band": 3,
"price_indicator": "$$$",
"simple_budget_tier": null,
"supports_reasoning": true,
"speed_tier": "standard",
"speed_label": "Standard",
"supports_images": false,
"supports_documents": false,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "platinum",
"privacy_rating_label": "Platinum",
"privacy_rating_summary": "No training per provider terms — under its commercial API terms, this provider does not train on your conversations.",
"privacy_retention_warning": false,
"can_open_in_chat": false
},
{
"id": "kimi-k3",
"label": "kimi-k3",
"provider": "kimi",
"provider_label": "Kimi",
"workload_tier": "heavy",
"workload_label": "Heavy",
"task_hint": "Moonshot flagship with 1M context, native multimodal, and deep reasoning.",
"when_to_use": "Kimi K3 is Moonshot’s flagship for long-context knowledge work, native image and video understanding, and deep reasoning. Choose K2.6 when you want a lower-cost Kimi tier with strong multimodal chat.",
"price_band": 3,
"price_indicator": "$$$",
"simple_budget_tier": "heavy",
"supports_reasoning": true,
"speed_tier": "slower",
"speed_label": "Slower-paced",
"supports_images": true,
"supports_documents": false,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "bronze",
"privacy_rating_label": "Bronze",
"privacy_rating_summary": "Caution — this provider may store and train on your messages. Avoid sharing sensitive details.",
"privacy_retention_warning": true,
"can_open_in_chat": false
},
{
"id": "kimi-k2.6",
"label": "Kimi K2.6",
"provider": "kimi",
"provider_label": "Kimi",
"workload_tier": "balanced",
"workload_label": "Balanced",
"task_hint": "Long-context Kimi with visible thinking, coding, and multimodal chat.",
"when_to_use": "Kimi K2.6 shines on long-context work, visible thinking, coding, and multimodal chat. Choose K3 when you need Moonshot’s newest flagship intelligence.",
"price_band": 2,
"price_indicator": "$$",
"simple_budget_tier": "regular",
"supports_reasoning": true,
"speed_tier": "standard",
"speed_label": "Standard",
"supports_images": true,
"supports_documents": false,
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "bronze",
"privacy_rating_label": "Bronze",
"privacy_rating_summary": "Caution — this provider may store and train on your messages. Avoid sharing sensitive details.",
"privacy_retention_warning": true,
"can_open_in_chat": false
}
],
"image_models": [
{
"id": "grok-imagine-image",
"label": "Grok Imagine",
"provider": "xai",
"provider_label": "xAI",
"workload_tier": "balanced",
"workload_label": "Balanced",
"task_hint": "Fast image generation and edits via xAI.",
"when_to_use": "Grok Imagine is the fast xAI option for everyday image generation and edits—concepts, social visuals, and iterative tweaks. Choose GPT Image 2.5 Sunburst when fidelity and fine detail matter more than speed.",
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "gold",
"privacy_rating_label": "Gold",
"privacy_rating_summary": "No-retention requested — by default, Ethyx sends a per-request no-retention flag (store: false) with chat requests.",
"privacy_retention_warning": false,
"defaults": {
"aspect_ratio": "1:1",
"resolution": "1k"
}
},
{
"id": "gpt-image-2",
"label": "GPT Image 2",
"provider": "openai",
"provider_label": "OpenAI",
"workload_tier": "heavy",
"workload_label": "Heavy",
"task_hint": "Higher-quality OpenAI images and detailed edits.",
"when_to_use": "GPT Image 2 remains available for detailed scenes, product mockups, and careful edits. Prefer GPT Image 2.5 Sunburst for newer precision work, or Flare when you want that generation faster. Use Grok Imagine when you want quicker iteration.",
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "gold",
"privacy_rating_label": "Gold",
"privacy_rating_summary": "No-retention requested — by default, Ethyx sends a per-request no-retention flag (store: false) with chat requests.",
"privacy_retention_warning": false,
"defaults": {
"size": "1024x1024",
"quality": "auto"
}
},
{
"id": "gpt-image-2.5-flare",
"label": "GPT Image 2.5 Flare",
"provider": "openai",
"provider_label": "OpenAI",
"workload_tier": "balanced",
"workload_label": "Balanced",
"task_hint": "Fast OpenAI images for everyday generation and edits.",
"when_to_use": "GPT Image 2.5 Flare is the fast OpenAI option for everyday images and edits. Choose Sunburst when precise edits and subject preservation matter more, or Grok Imagine for the quickest xAI path.",
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "gold",
"privacy_rating_label": "Gold",
"privacy_rating_summary": "No-retention requested — by default, Ethyx sends a per-request no-retention flag (store: false) with chat requests.",
"privacy_retention_warning": false,
"defaults": {
"size": "1024x1024",
"quality": "auto"
}
},
{
"id": "gpt-image-2.5-sunburst",
"label": "GPT Image 2.5 Sunburst",
"provider": "openai",
"provider_label": "OpenAI",
"workload_tier": "heavy",
"workload_label": "Heavy",
"task_hint": "Higher-precision OpenAI images and careful edits.",
"when_to_use": "GPT Image 2.5 Sunburst is OpenAI’s precision tier for product imagery, campaign creative, and careful edits. Use Flare when you want the same family faster, or Grok Imagine for quicker iteration.",
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "gold",
"privacy_rating_label": "Gold",
"privacy_rating_summary": "No-retention requested — by default, Ethyx sends a per-request no-retention flag (store: false) with chat requests.",
"privacy_retention_warning": false,
"defaults": {
"size": "1024x1024",
"quality": "auto"
}
},
{
"id": "recraftv4_1",
"label": "Recraft V4.1",
"provider": "recraft",
"provider_label": "Recraft",
"workload_tier": "heavy",
"workload_label": "Heavy",
"task_hint": "Design-quality raster images and single-image restyles.",
"when_to_use": "Recraft V4.1 is the specialist raster model for polished images, illustration, and one reference restyle. HD generates the 2K Pro variant. Grok Imagine is the faster everyday option, and GPT Image can edit several reference images in one turn.",
"featured": false,
"deprecated": false,
"deprecated_replacement_id": null,
"privacy_rating": "platinum",
"privacy_rating_label": "Platinum",
"privacy_rating_summary": "No training per provider terms — under its commercial API terms, this provider does not train on your conversations.",
"privacy_retention_warning": false,
"defaults": {
"size": "1:1"
}
}
],
"image_preferences": {
"quality": [
{
"value": "quick",
"label": "Quick",
"description": "Lower fidelity, faster."
},
{
"value": "balanced",
"label": "Balanced",
"description": "Default quality."
},
{
"value": "hd",
"label": "HD",
"description": "Higher fidelity, slower."
}
],
"aspect_ratio": [
{
"value": "auto",
"label": "Auto",
"description": "Let the model choose framing."
},
{
"value": "square",
"label": "Square",
"description": "1:1 aspect ratio."
},
{
"value": "landscape",
"label": "Landscape",
"description": "Wider than tall."
},
{
"value": "portrait",
"label": "Portrait",
"description": "Taller than wide."
}
],
"visual_style": [
{
"value": "balanced",
"label": "Balanced",
"description": "No style steering; follow your prompt."
},
{
"value": "photorealistic",
"label": "Photorealistic",
"description": "Life-like photographic detail."
},
{
"value": "illustration",
"label": "Illustration",
"description": "Clean digital illustration."
},
{
"value": "cartoon",
"label": "Cartoon",
"description": "Animated or cartoon look."
},
{
"value": "watercolor",
"label": "Watercolor",
"description": "Soft watercolor painting."
},
{
"value": "gothic",
"label": "Gothic",
"description": "Dark, dramatic gothic mood."
},
{
"value": "anime",
"label": "Anime",
"description": "Anime or manga visual style."
},
{
"value": "cinematic",
"label": "Cinematic",
"description": "Film-like composition and lighting."
},
{
"value": "minimalist",
"label": "Minimalist",
"description": "Simple shapes and limited palette."
}
],
"option_count": [
{
"value": 1,
"label": "1"
},
{
"value": 2,
"label": "2"
},
{
"value": 4,
"label": "4"
}
],
"defaults": {
"quality": "balanced",
"aspect_ratio": "auto",
"visual_style": "balanced",
"option_count": 4
}
},
"simple_picker_model_ids": [
"gpt-5.4-nano",
"gpt-5.6-luna",
"claude-haiku-5-5",
"grok-4.20-non-reasoning",
"gemini-3.5-flash-lite",
"gemini-3.1-flash-lite",
"deepseek-flash",
"claude-sonnet-5-5",
"grok-4.3",
"kimi-k2.6",
"sonar",
"gpt-5.4-mini",
"gemini-3.8-flash",
"gpt-6-astra",
"gpt-6.1-sol",
"gpt-5.5",
"gpt-5.6-sol",
"claude-fable-5-1",
"claude-fable-5",
"claude-opus-5-5",
"claude-opus-5",
"gpt-5.3-codex",
"grok-4.7",
"grok-4.20-reasoning",
"deepseek-v4-pro",
"kimi-k3"
],
"simple_picker_groups": [
{
"tier": "light",
"label": "Light",
"summary": "Cheapest tiers — nano and non-reasoning models for quick, low-cost chat.",
"model_ids": [
"gpt-5.4-nano",
"gpt-5.6-luna",
"claude-haiku-5-5",
"grok-4.20-non-reasoning",
"gemini-3.5-flash-lite",
"gemini-3.1-flash-lite",
"deepseek-flash"
]
},
{
"tier": "regular",
"label": "Regular",
"summary": "Everyday models for balanced quality and cost (GPT-4.1, Sonnet, and similar).",
"model_ids": [
"claude-sonnet-5-5",
"grok-4.3",
"kimi-k2.6",
"sonar",
"gpt-5.4-mini",
"gemini-3.8-flash"
]
},
{
"tier": "heavy",
"label": "Heavy",
"summary": "Top reasoning models with higher per-token cost (Opus, GPT-5.5, Codex, and similar).",
"model_ids": [
"gpt-6-astra",
"gpt-6.1-sol",
"gpt-5.5",
"gpt-5.6-sol",
"claude-fable-5-1",
"claude-fable-5",
"claude-opus-5-5",
"claude-opus-5",
"gpt-5.3-codex",
"grok-4.7",
"grok-4.20-reasoning",
"deepseek-v4-pro",
"kimi-k3"
]
}
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/projects
requires authentication
Example request:
curl --request GET \
--get "https://qa.ethyx.ai/api/v1/projects" \
--header "Authorization: Bearer {YOUR_ETHYX_API_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"limit\": 1,
\"offset\": 39
}"
const url = new URL(
"https://qa.ethyx.ai/api/v1/projects"
);
const headers = {
"Authorization": "Bearer {YOUR_ETHYX_API_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"limit": 1,
"offset": 39
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://qa.ethyx.ai/api/v1/projects';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_ETHYX_API_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'limit' => 1,
'offset' => 39,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://qa.ethyx.ai/api/v1/projects'
payload = {
"limit": 1,
"offset": 39
}
headers = {
'Authorization': 'Bearer {YOUR_ETHYX_API_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, json=payload)
response.json()Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 30
x-ratelimit-remaining: 29
x-request-id: 9527bf53-7bc8-4783-a515-55c619d2fd65
access-control-allow-origin: *
{
"message": "Invalid API key format.",
"code": "unauthorized"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/v1/projects
requires authentication
Example request:
curl --request POST \
"https://qa.ethyx.ai/api/v1/projects" \
--header "Authorization: Bearer {YOUR_ETHYX_API_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\",
\"custom_agent_instructions\": \"n\",
\"notes\": \"g\",
\"chat_model\": \"grok-4.6\",
\"image_model\": \"gpt-image-2.5-sunburst\",
\"default_skills\": [
\"z\"
]
}"
const url = new URL(
"https://qa.ethyx.ai/api/v1/projects"
);
const headers = {
"Authorization": "Bearer {YOUR_ETHYX_API_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b",
"custom_agent_instructions": "n",
"notes": "g",
"chat_model": "grok-4.6",
"image_model": "gpt-image-2.5-sunburst",
"default_skills": [
"z"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://qa.ethyx.ai/api/v1/projects';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_ETHYX_API_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'b',
'custom_agent_instructions' => 'n',
'notes' => 'g',
'chat_model' => 'grok-4.6',
'image_model' => 'gpt-image-2.5-sunburst',
'default_skills' => [
'z',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://qa.ethyx.ai/api/v1/projects'
payload = {
"name": "b",
"custom_agent_instructions": "n",
"notes": "g",
"chat_model": "grok-4.6",
"image_model": "gpt-image-2.5-sunburst",
"default_skills": [
"z"
]
}
headers = {
'Authorization': 'Bearer {YOUR_ETHYX_API_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1/projects/{id}
requires authentication
Example request:
curl --request GET \
--get "https://qa.ethyx.ai/api/v1/projects/019e5c15-aa47-72c4-b95d-6b47cf23b9ec" \
--header "Authorization: Bearer {YOUR_ETHYX_API_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://qa.ethyx.ai/api/v1/projects/019e5c15-aa47-72c4-b95d-6b47cf23b9ec"
);
const headers = {
"Authorization": "Bearer {YOUR_ETHYX_API_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://qa.ethyx.ai/api/v1/projects/019e5c15-aa47-72c4-b95d-6b47cf23b9ec';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_ETHYX_API_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://qa.ethyx.ai/api/v1/projects/019e5c15-aa47-72c4-b95d-6b47cf23b9ec'
headers = {
'Authorization': 'Bearer {YOUR_ETHYX_API_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 30
x-ratelimit-remaining: 28
x-request-id: c497567d-ab2f-42f6-a23d-1d216d28693d
access-control-allow-origin: *
{
"message": "Invalid API key format.",
"code": "unauthorized"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PATCH api/v1/projects/{id}
requires authentication
Example request:
curl --request PATCH \
"https://qa.ethyx.ai/api/v1/projects/019e5c15-aa47-72c4-b95d-6b47cf23b9ec" \
--header "Authorization: Bearer {YOUR_ETHYX_API_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\",
\"custom_agent_instructions\": \"n\",
\"notes\": \"g\",
\"chat_model\": \"claude-haiku-5-5\",
\"image_model\": \"gpt-image-2.5-sunburst\",
\"default_skills\": [
\"z\"
]
}"
const url = new URL(
"https://qa.ethyx.ai/api/v1/projects/019e5c15-aa47-72c4-b95d-6b47cf23b9ec"
);
const headers = {
"Authorization": "Bearer {YOUR_ETHYX_API_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b",
"custom_agent_instructions": "n",
"notes": "g",
"chat_model": "claude-haiku-5-5",
"image_model": "gpt-image-2.5-sunburst",
"default_skills": [
"z"
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://qa.ethyx.ai/api/v1/projects/019e5c15-aa47-72c4-b95d-6b47cf23b9ec';
$response = $client->patch(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_ETHYX_API_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'b',
'custom_agent_instructions' => 'n',
'notes' => 'g',
'chat_model' => 'claude-haiku-5-5',
'image_model' => 'gpt-image-2.5-sunburst',
'default_skills' => [
'z',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://qa.ethyx.ai/api/v1/projects/019e5c15-aa47-72c4-b95d-6b47cf23b9ec'
payload = {
"name": "b",
"custom_agent_instructions": "n",
"notes": "g",
"chat_model": "claude-haiku-5-5",
"image_model": "gpt-image-2.5-sunburst",
"default_skills": [
"z"
]
}
headers = {
'Authorization': 'Bearer {YOUR_ETHYX_API_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('PATCH', url, headers=headers, json=payload)
response.json()Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
DELETE api/v1/projects/{id}
requires authentication
Example request:
curl --request DELETE \
"https://qa.ethyx.ai/api/v1/projects/019e5c15-aa47-72c4-b95d-6b47cf23b9ec" \
--header "Authorization: Bearer {YOUR_ETHYX_API_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://qa.ethyx.ai/api/v1/projects/019e5c15-aa47-72c4-b95d-6b47cf23b9ec"
);
const headers = {
"Authorization": "Bearer {YOUR_ETHYX_API_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://qa.ethyx.ai/api/v1/projects/019e5c15-aa47-72c4-b95d-6b47cf23b9ec';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_ETHYX_API_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://qa.ethyx.ai/api/v1/projects/019e5c15-aa47-72c4-b95d-6b47cf23b9ec'
headers = {
'Authorization': 'Bearer {YOUR_ETHYX_API_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('DELETE', url, headers=headers)
response.json()Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/v1/projects/{project_id}/uploads
requires authentication
Example request:
curl --request POST \
"https://qa.ethyx.ai/api/v1/projects/019e5c15-aa47-72c4-b95d-6b47cf23b9ec/uploads" \
--header "Authorization: Bearer {YOUR_ETHYX_API_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"upload_id\": \"6ff8f7f6-1eb3-3525-be4a-3932c805afed\"
}"
const url = new URL(
"https://qa.ethyx.ai/api/v1/projects/019e5c15-aa47-72c4-b95d-6b47cf23b9ec/uploads"
);
const headers = {
"Authorization": "Bearer {YOUR_ETHYX_API_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"upload_id": "6ff8f7f6-1eb3-3525-be4a-3932c805afed"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://qa.ethyx.ai/api/v1/projects/019e5c15-aa47-72c4-b95d-6b47cf23b9ec/uploads';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_ETHYX_API_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'upload_id' => '6ff8f7f6-1eb3-3525-be4a-3932c805afed',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://qa.ethyx.ai/api/v1/projects/019e5c15-aa47-72c4-b95d-6b47cf23b9ec/uploads'
payload = {
"upload_id": "6ff8f7f6-1eb3-3525-be4a-3932c805afed"
}
headers = {
'Authorization': 'Bearer {YOUR_ETHYX_API_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
DELETE api/v1/projects/{project_id}/uploads/{id}
requires authentication
Example request:
curl --request DELETE \
"https://qa.ethyx.ai/api/v1/projects/019e5c15-aa47-72c4-b95d-6b47cf23b9ec/uploads/019f30bc-535e-70e3-a193-5bafdf29d708" \
--header "Authorization: Bearer {YOUR_ETHYX_API_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://qa.ethyx.ai/api/v1/projects/019e5c15-aa47-72c4-b95d-6b47cf23b9ec/uploads/019f30bc-535e-70e3-a193-5bafdf29d708"
);
const headers = {
"Authorization": "Bearer {YOUR_ETHYX_API_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://qa.ethyx.ai/api/v1/projects/019e5c15-aa47-72c4-b95d-6b47cf23b9ec/uploads/019f30bc-535e-70e3-a193-5bafdf29d708';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_ETHYX_API_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://qa.ethyx.ai/api/v1/projects/019e5c15-aa47-72c4-b95d-6b47cf23b9ec/uploads/019f30bc-535e-70e3-a193-5bafdf29d708'
headers = {
'Authorization': 'Bearer {YOUR_ETHYX_API_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('DELETE', url, headers=headers)
response.json()Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.