Get connector detail
/connector/{slug}
Catalog detail plus `restricted`, which reports whether the caller's restrictions block this connector — a restricted connector still resolves here but cannot be connected or executed. For an org-owned connector the response also carries its config, `owner_user_id`/`owner_member`, `can_use`, `can_manage`, `can_share` (mirrors `POST /:slug/share`'s own gate: edit access or ownership AND `connector:share`, never a `connector:manage` fallback), `can_transfer` (ownership only), `can_delete` (owner only), `can_revoke_share`, `can_assign_owner`, `can_claim`, the bounded `access_summary` (same shape as connection/toolbox's — counts plus a few resolved names, the owner excluded; page `GET /:slug/share` for the full grant list) and `shares`, present only when the caller is the owner or has a real `edit` grant of their own — never for a bare `connector:manage` holder with no grant (removed 2026-09-04: org owners/admins do not see access details nobody explicitly shared with them, and there is no oversight audit trail for connectors any more). A custom connector the caller cannot see is `404`, never `403`. Platform catalog connectors need only `connector:view`.
Path Parameters
Connector slug (e.g. hubspot) — not an id.
Response Body
Why a connection cannot be started on this connector right now, or null when it can. oauth_app_required: byoa is true, this organization has not added its own OAuth app, and the connector has no API-key option; POST /connection answers 409 oauth_app_required for it. Always null for a remote MCP connector. Detail only — the check reads the organization's app, which a list row does not.
Whether THIS caller may add the OAuth app (the same answer as can_configure_oauth_app). False means point them at an admin, not at the connector page.
True for an org-owned connector, whose OAuth app is part of its own definition (its Edit screen) rather than an organization override added on the connector page.
oauth_app_required
Whether signing in with OAuth needs an app this organization has not added, and which other ways in exist. Null means unknown (the lookup failed) — never "not needed". Detail only, from the same single read of the organization's app as connect_blocked.
The auth formats this connector offers that connect without the app. Non-empty with needed_for_oauth: true is the mixed case: connectable by these now, and OAuth would first need an admin to add the app. Empty with needed_for_oauth: true is connect_blocked.
api_keyoauth2_client_credentialsjwt_bearer
True when OAuth sign-in on this connector needs an OAuth app this organization has NOT added. False when no app is needed (byoa false) or the organization already added its own: byoa stays true after that, so it cannot say this.
Remote MCP connectors only: markdown a person should read BEFORE connecting (an admin setting to turn on first, the plan it bills, which region or site to pick). The same text the sign-in page shows above its Connect button (the OAuth config's permissions_text). Render it as sanitized markdown. Null when there is none, and for every catalog connector. Detail only.
An https guide to that setup (the OAuth config's documentation_link). Null when unset.
remote_mcp for an organization's own remote MCP connector (POST /connector with remote_mcp, whose detail also carries remote_mcp and auth), catalog for every other connector. Read it instead of guessing from the slug.
catalogremote_mcp
Hint: exactly one auth method, it can redirect (OAuth), and it has no form fields and no permissions_text. direct_connect_url on the connect response stays authoritative.
The provider's total. For a remote MCP connector Elaichi publishes, the organization's switched-on tools once anyone in it has connected, and until then the length of the tool list staff published for it (never 0 for a server that publishes tools).
curl -X GET 'https://api.elaichi.ai/connector/<slug>' \
-H 'Authorization: Bearer $ELAICHI_API_TOKEN' \
-H 'Content-Type: application/json'const response = await fetch('https://api.elaichi.ai/connector/<slug>', {
method: 'GET',
headers: {
'Authorization': 'Bearer ' + process.env.ELAICHI_API_TOKEN,
'Content-Type': 'application/json',
},
});
const data = await response.json();
console.log(data);import os
import requests
url = "https://api.elaichi.ai/connector/<slug>"
headers = {
"Authorization": f"Bearer {os.environ['ELAICHI_API_TOKEN']}",
"Content-Type": "application/json",
}
response = requests.get(url, headers=headers)
print(response.json())