curl / raw HTTP
No SDK needed: the gateway speaks each provider’s native protocol on its native path, bare or /w/-prefixed. Send the provider’s own request shape and headers.
# OpenAI protocol (Chat Completions, Responses, embeddings):
curl http://127.0.0.1:8787/w/my-service/v1/chat/completions \
-H "authorization: Bearer $OPENAI_API_KEY" \
-H "content-type: application/json" \
-d '{"model":"gpt-4.1","messages":[{"role":"user","content":"Why is the sky blue?"}]}'
# Anthropic protocol:
curl http://127.0.0.1:8787/w/my-service/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-4-5","max_tokens":256,"messages":[{"role":"user","content":"hi"}]}'The gateway speaks each provider's native protocol on its native path — bare or /w/-prefixed.
Local vs. connected
The base URL above is the local proxy default (http://127.0.0.1:8787). Connected or managed use swaps in the cloud gateway URL and adds x-cave-api-key (gateway auth) plus x-cave-upstream-key (your per-request provider key) as extra -H headers on the same request.