Skip to main content
POST
Create a connection

Authorizations

Authorization
string
header
required

An Igris API key. It acts with the current role and permission overrides of the member who created it.

Body

application/json
slug
string
required

Lowercase letters, digits, - and _. 3 to 64 characters, starts with a letter or digit.

Pattern: ^[a-z0-9][a-z0-9_-]{2,63}$
name
string
required
Required string length: 1 - 255
description
string
Maximum string length: 2000
serverType
enum<string>
default:http

stdio is rejected.

Available options:
http,
llm
upstreamUrl
string<uri>

Required for http.

authType
enum<string>
default:none

For MCP connections use none, bearer, or header. api_key is accepted only on LLM connections and needs authConfig: { "name": "...", "in": "header" | "query" }. oauth, mtls, azure, aws, and gcp are rejected with 400, because the gateway does not apply them.

Available options:
none,
bearer,
header,
api_key
credential
string

Required for bearer and api_key. Required for header except on self-hosted LLM providers.

Required string length: 1 - 8192
authHeaderName
string

Header name for header auth. Defaults to Authorization.

Required string length: 1 - 100
customHeaders
object
llmProvider
string

Required when serverType is llm. Must be a slug from GET /api/v1/llm-providers.

customBaseUrl
string<uri>
allowedModels
string[]
logFullContent
boolean
default:false
bodyRetentionDays
integer

Must be within your plan's retention limit, otherwise 403 with code PLAN_LIMIT_REACHED. Omit it to use the plan's default.

Required range: 1 <= x <= 1095
anomalyConfig
object | null
authConfig
object | null
timeoutSeconds
integer
default:30
Required range: 1 <= x <= 300
retries
integer
default:2
Required range: 0 <= x <= 5
rateLimitRpm
integer | null
Required range: 0 <= x <= 100000
denyByDefault
boolean
default:true
logSampling
enum<string>
default:all
Available options:
all,
10pct,
1pct,
errors_only

Response

The created connection.

data
object

A connection. Credentials are never returned. Custom header values come back blank (names only).