Save HTTP and MCP connections, authorize OAuth connections and list what runs can use. Configuring connections needs an admin key or a signed-in owner or admin; members can read the catalog. See connections for how calls are brokered.
Save a connection
/v1/connections/{name}typestringrequiredhttp or mcp.urlstringrequiredauthobjectallowed_methodsstring[]["GET"]. Empty allows all.allowed_toolsstring[]instructionsstringThe auth object
typestringnone, bearer, header, basic or oauth2.tokenstringbearer and header.headerstringheader: the header name, such as X-API-Key.username, passwordstringbasic. The username cannot contain a colon.client_idstringoauth2. Required, with authorization_url and token_url.client_secretstringoauth2 clients that have one.authorization_url, token_urlstringtoken_auth_methodstringclient_secret_basic, client_secret_post or none.scopesstring[]resourcestring{
"type": "http",
"url": "https://api.example.com/v2",
"auth": { "type": "header", "header": "X-API-Key", "token": "sk_live_…" },
"allowed_methods": ["GET"],
"instructions": "Look up a payment with GET /v1/payments/{id}. Amounts are in cents."
}The response is {"name": "...", "type": "..."}. Ephemeral validates the URL and credentials format before saving.
To update a connection without resending its secrets, save it with the secret fields left out and the same auth.type. The stored token, password, client secret and OAuth tokens are kept. Changing auth.type replaces the authentication entirely.
List connections
/v1/connectionsname, type, url, allowed_methods, allowed_tools, authenticated and the non-secret parts of auth.Get a connection
/v1/connections/{name}Delete a connection
/v1/connections/{name}204 No Content.Authorize an OAuth connection
/v1/connections/{name}/oauth/start{"url": "..."}, the provider's authorization page.Open the URL in a browser and approve access. The provider redirects to /oauth/callback on the engine, Ephemeral exchanges the code and stores the tokens, and the browser returns to the dashboard. Each URL works once. Register https://app.ephemer.al/oauth/callback as the redirect URI with your provider, or your own domain on a self-hosted installation.
If the connection's client ID or OAuth endpoints change while authorization is in progress, the callback is refused with 409; start again. The CLI does this in one step with ephemeral oauth connect NAME.
Connection catalog
/v1/catalog/connections[
{ "name": "docs-mcp", "type": "mcp", "allowed_methods": [], "allowed_tools": ["search", "get_document"], "authenticated": true },
{ "name": "payments-api", "type": "http", "allowed_methods": ["GET"], "allowed_tools": null, "authenticated": true }
]