Connections API
Quick Access: Manage Connections
The Connections API allows you to manage provider connections - the API keys that link LangMart to AI providers like OpenAI, Anthropic, and others.
Endpoints Overview
| Endpoint | Method | Description |
|---|---|---|
/api/connections |
GET | List connections |
/api/connections |
POST | Create connection |
/api/connections/{id} |
PUT | Update connection |
/api/connections/{id} |
DELETE | Delete connection |
/api/connections/{id}/test |
POST | Test connection |
List Connections
Get all your provider connections.
Endpoint
GET /api/connectionsExample Request
curl https://api.langmart.ai/api/connections \
-H "Authorization: Bearer YOUR_API_KEY"Response
{
"connections": [
{
"id": "conn_abc123",
"name": "My OpenAI Key",
"provider": "openai",
"gateway_type": 2,
"status": "active",
"is_default": true,
"last_tested_at": "2025-01-10T12:00:00Z",
"created_at": "2025-01-01T00:00:00Z"
},
{
"id": "conn_xyz789",
"name": "Anthropic Production",
"provider": "anthropic",
"gateway_type": 2,
"status": "active",
"is_default": false,
"last_tested_at": "2025-01-10T11:00:00Z",
"created_at": "2025-01-05T00:00:00Z"
}
]
}Create Connection
Add a new provider connection.
Endpoint
POST /api/connectionsRequest Body
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Connection name |
provider |
string | Yes | Provider key (e.g., openai) |
api_key |
string | Yes | Provider API key |
endpoint_url |
string | No | Custom endpoint URL |
gateway_type |
integer | No | Gateway type (2=cloud, 3=self-hosted) |
is_default |
boolean | No | Set as default for provider |
Example Request
curl -X POST https://api.langmart.ai/api/connections \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "OpenAI Production",
"provider": "openai",
"api_key": "sk-openai-key-here",
"is_default": true
}'Response
{
"id": "conn_new123",
"name": "OpenAI Production",
"provider": "openai",
"gateway_type": 2,
"status": "active",
"is_default": true,
"created_at": "2025-01-10T12:00:00Z"
}Update Connection
Update an existing connection.
Endpoint
PUT /api/connections/{connection_id}Request Body
{
"name": "OpenAI Production (Updated)",
"is_default": true
}Example
curl -X PUT https://api.langmart.ai/api/connections/conn_abc123 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "OpenAI Primary"}'Update API Key
Update the API key for a connection.
Endpoint
POST /api/connections/{connection_id}/update-keyRequest Body
{
"api_key": "sk-new-api-key-here"
}Example
curl -X POST https://api.langmart.ai/api/connections/conn_abc123/update-key \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api_key": "sk-new-openai-key"}'Test Connection
Verify a connection is working.
Endpoint
POST /api/connections/{connection_id}/testExample Request
curl -X POST https://api.langmart.ai/api/connections/conn_abc123/test \
-H "Authorization: Bearer YOUR_API_KEY"Response (Success)
{
"success": true,
"latency_ms": 245,
"models_available": 15,
"tested_at": "2025-01-10T12:00:00Z"
}Response (Failure)
{
"success": false,
"error": "Invalid API key",
"tested_at": "2025-01-10T12:00:00Z"
}Delete Connection
Remove a connection.
Endpoint
DELETE /api/connections/{connection_id}Example
curl -X DELETE https://api.langmart.ai/api/connections/conn_abc123 \
-H "Authorization: Bearer YOUR_API_KEY"Response
{
"success": true,
"message": "Connection deleted"
}Supported Providers
| Provider | Key | Documentation |
|---|---|---|
| OpenAI | openai |
platform.openai.com |
| Anthropic | anthropic |
console.anthropic.com |
google |
aistudio.google.com | |
| Groq | groq |
console.groq.com |
| Mistral | mistral |
console.mistral.ai |
| Together | together |
api.together.xyz |
| OpenRouter | openrouter |
openrouter.ai |
Connection Types
Gateway Type 2 (Cloud)
Your API keys are stored encrypted in LangMart:
{
"gateway_type": 2,
"description": "Keys stored in LangMart cloud"
}Best for: Most users, quick setup.
Gateway Type 3 (Self-Hosted)
Your API keys stay on your infrastructure:
{
"gateway_type": 3,
"description": "Keys stored in your local vault"
}Best for: Enterprise, compliance requirements.
Python Example
import requests
API_KEY = "your-langmart-api-key"
BASE_URL = "https://api.langmart.ai"
def list_connections():
response = requests.get(
f"{BASE_URL}/api/connections",
headers={"Authorization": f"Bearer {API_KEY}"}
)
return response.json()
def create_connection(name, provider, provider_api_key):
response = requests.post(
f"{BASE_URL}/api/connections",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"name": name,
"provider": provider,
"api_key": provider_api_key
}
)
return response.json()
def test_connection(connection_id):
response = requests.post(
f"{BASE_URL}/api/connections/{connection_id}/test",
headers={"Authorization": f"Bearer {API_KEY}"}
)
return response.json()
# List all connections
connections = list_connections()
for conn in connections["connections"]:
print(f"{conn['name']} ({conn['provider']}): {conn['status']}")
# Create new connection
new_conn = create_connection(
name="My Groq Key",
provider="groq",
provider_api_key="gsk_..."
)
print(f"Created: {new_conn['id']}")
# Test it
result = test_connection(new_conn["id"])
if result["success"]:
print(f"Connection works! Latency: {result['latency_ms']}ms")
else:
print(f"Connection failed: {result['error']}")Platform Links
| Feature | Direct Link |
|---|---|
| Connections | https://langmart.ai/connections |
| Connection Pools | https://langmart.ai/connection-pools |
| Gateways | https://langmart.ai/gateways |
Related Documentation
- Authentication - API key management
- Models - Available models per provider
- Errors - Connection error codes