OpenAI

Route OpenAI model calls through Respan Gateway and track requests.
  1. Sign up — Create an account at platform.respan.ai
  2. Create an API key — Generate one on the API keys page
  3. Add credits or a provider key — Add credits on the Credits page or connect your own provider key on the Integrations page

Add the Docs MCP to your AI coding tool to get help building with Respan. No API key needed.

1{
2 "mcpServers": {
3 "respan-docs": {
4 "url": "https://docs.respan.ai/mcp"
5 }
6 }
7}
This section is for Respan LLM gateway users.

Use Respan Gateway to call OpenAI models while keeping unified observability (logs, cost, latency, and reliability metrics) in Respan.

Prerequisites

  • A Respan API key
  • An OpenAI API key (BYOK)

Supported SDKs / integrations

Configuration

There are 2 ways to add your OpenAI credentials to your requests:

Via UI (Global)

2

Add your OpenAI API Key

Select OpenAI and paste your API key.

Add OpenAI Credentials
3

Configure Load Balancing (Optional)

You can add multiple OpenAI API keys for redundancy. Use the Load balancing weight field to determine how traffic is distributed between keys.

Via code (Per-Request)

You can pass credentials dynamically in the request body. This is useful if you need to use your users’ own API keys (BYOK).

Add the customer_credentials parameter to your Gateway request:

1{
2 // Rest of the request body
3 "customer_credentials": {
4 "openai": {
5 "api_key": "YOUR_OPENAI_API_KEY",
6 }
7 }
8}

Log OpenAI requests

If you are not using the Gateway to proxy requests, you can still log your OpenAI requests to Respan asynchronously. This allows you to track cost, latency, and performance metrics for external calls.

OpenAI Python SDK
1import requests
2
3url = "https://api.respan.ai/api/request-logs/create/"
4payload = {
5 "model": "gpt-4o",
6 "prompt_messages": [
7 {
8 "role": "user",
9 "content": "Hello, how are you?"
10 }
11 ],
12 "completion_message": {
13 "role": "assistant",
14 "content": "I'm doing well, thank you for asking!"
15 },
16 "cost": 0.0015,
17 "generation_time": 2.3,
18 "customer_params": {
19 "customer_identifier": "user_123"
20 }
21}
22headers = {
23 "Authorization": "Bearer YOUR_RESPAN_API_KEY",
24 "Content-Type": "application/json"
25}
26
27response = requests.post(url, headers=headers, json=payload)