curl https://api.arouter.ai/openai/v1/chat/completions \
-H "Authorization: Bearer lr_live_xxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.4",
"messages": [{"role": "user", "content": "Hello!"}]
}'
import requests
resp = requests.post(
"https://api.arouter.ai/anthropic/v1/messages",
headers={
"Authorization": "Bearer lr_live_xxxx",
"Content-Type": "application/json",
},
json={
"model": "claude-sonnet-4.6",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Hello!"}],
},
)
print(resp.json())
const response = await fetch("https://api.arouter.ai/google/v1beta/models/gemini-2.5-flash:generateContent", {
method: "POST",
headers: {
Authorization: "Bearer lr_live_xxxx",
"Content-Type": "application/json",
},
body: JSON.stringify({
contents: [
{ role: "user", parts: [{ text: "Hello!" }] }
],
}),
});
console.log(await response.json());
Provider Proxy
Proxy Provider Request
Proxy a native provider request through ARouter using your ARouter API key.
POST
/
{provider}
/
{path}
curl https://api.arouter.ai/openai/v1/chat/completions \
-H "Authorization: Bearer lr_live_xxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.4",
"messages": [{"role": "user", "content": "Hello!"}]
}'
import requests
resp = requests.post(
"https://api.arouter.ai/anthropic/v1/messages",
headers={
"Authorization": "Bearer lr_live_xxxx",
"Content-Type": "application/json",
},
json={
"model": "claude-sonnet-4.6",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Hello!"}],
},
)
print(resp.json())
const response = await fetch("https://api.arouter.ai/google/v1beta/models/gemini-2.5-flash:generateContent", {
method: "POST",
headers: {
Authorization: "Bearer lr_live_xxxx",
"Content-Type": "application/json",
},
body: JSON.stringify({
contents: [
{ role: "user", parts: [{ text: "Hello!" }] }
],
}),
});
console.log(await response.json());
ARouter’s provider proxy forwards requests directly to a supported provider’s native API while handling provider authentication for you.
curl https://api.arouter.ai/openai/v1/chat/completions \
-H "Authorization: Bearer lr_live_xxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.4",
"messages": [{"role": "user", "content": "Hello!"}]
}'
import requests
resp = requests.post(
"https://api.arouter.ai/anthropic/v1/messages",
headers={
"Authorization": "Bearer lr_live_xxxx",
"Content-Type": "application/json",
},
json={
"model": "claude-sonnet-4.6",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Hello!"}],
},
)
print(resp.json())
const response = await fetch("https://api.arouter.ai/google/v1beta/models/gemini-2.5-flash:generateContent", {
method: "POST",
headers: {
Authorization: "Bearer lr_live_xxxx",
"Content-Type": "application/json",
},
body: JSON.stringify({
contents: [
{ role: "user", parts: [{ text: "Hello!" }] }
],
}),
});
console.log(await response.json());
Path Parameters
| Parameter | Description |
|---|---|
provider | Provider slug such as openai, anthropic, google, deepseek, or groq |
path | Native API path to forward after the provider prefix |
Notes
- Requests and responses are passed through in the provider’s native format.
- ARouter injects the provider credential automatically. You only send your ARouter API key.
- Usage is still metered against your ARouter account.
- Use this endpoint when you need provider-native features that are not represented in the normalized ARouter request schema.