integrations

Create Instance Native

CONNECT-A-CAPABILITY FLOW step 1 (MCP-server variant): define the integration here, then install it for the current identity with integration_install. Register an external MCP server (HTTP or SSE transport) owned by the calling identity, mirroring the admin 'Connect MCP server' modal. Creates the registration row only. For an OAuth2 server pass auth_kind='oauth2' (the default) and no secret -- the row is created unauthenticated and the owner completes the OAuth connect flow afterward from the connection's Marketplace page (this is the 'add the row, authorize after' path). Pass oauth_scopes as a space-separated, least-privilege set when the provider advertises scopes; discovery will not widen an explicitly configured set. For a bearer- or header-key-protected server pass auth_kind='bearer' (or 'api_key_header' with auth_header_name) plus the token as plaintext_secret. Use integration_create_from_openapi instead for a REST API described by an OpenAPI spec. Fails with a clear message if a registration with that name already exists or the inputs are invalid. If this looks like a SERVICE integration (the app acting as itself — infra/DB/API-token vendors) on user-OAuth, the response includes a credential_fit_warning. Creation still succeeds; pass credential_fit_override_reason to acknowledge and suppress it. connection_mode is required, no default: pass 'shared' (one credential the whole folder uses) or 'per_caller' (each identity connects and uses their own credential) — you must always pick one.

post/api/integrations/instances

Request

  • Base URL: https://app.thinqos.com (the document declares no server; this is the origin it was published from)
  • URL: https://app.thinqos.com/api/integrations/instances
  • Auth: none declared

Headers

x-impersonate-identity-idstring nullable

Request body

namestring required
transport'http' | 'sse' | 'stdio_bridge' | 'rest' required
connection_mode'shared' | 'per_caller' required
base_urlstring
display_icon_urlstring nullable
auth_kind'none' | 'bearer' | 'api_key_header' | 'oauth2' | 'gcp_oidc' | 'gcp_service_account' | 'github_app' required
auth_header_namestring nullable
plaintext_secretstring nullable
auth_secret_refstring nullable
oauth_resource_urlstring nullable
oauth_scopesstring nullable
oauth_pkce_enabledboolean
descriptionstring nullable
trustedboolean
health_check_toolstring nullable
health_check_argumentsobject
health_check_declinedboolean
health_check_decline_reasonstring nullable
refresh_secondsinteger
rate_limit_per_minuteinteger nullable
request_max_bytesinteger
response_max_bytesinteger
stdio_commandstring nullable
stdio_envobject
rest_manifestobject nullable
rest_openapi_source_urlstring nullable
secret_refsobject
secret_valuesobject
talkableboolean
credential_fit_override_reasonstring nullable

Response

Successful Response

idstring uuid required
definition_idstring uuid required
definition_slugstring nullable
account_capture_source'gmail' | 'google-calendar' nullable
library_idstring uuid nullable
library_namestring nullable
my_rolestring nullable
connection_mode'shared' | 'per_caller' required
aliasstring required
namestring required
transport'http' | 'sse' | 'stdio_bridge' | 'rest' required
base_urlstring required
display_icon_urlstring nullable
display_icon_is_inferredboolean
auth_kind'none' | 'bearer' | 'api_key_header' | 'oauth2' | 'gcp_oidc' | 'gcp_service_account' | 'github_app' required
auth_header_namestring nullable required
auth_secret_refstring nullable
descriptionstring nullable required
trustedboolean required
enabledboolean required
health_check_toolstring nullable required
health_check_argumentsobject
health_check_declinedboolean
health_check_decline_reasonstring nullable
refresh_secondsinteger required
rate_limit_per_minuteinteger nullable required
request_max_bytesinteger required
response_max_bytesinteger required
talkableboolean
stdio_commandstring nullable
stdio_envobject
rest_manifestobject nullable
rest_openapi_source_urlstring nullable
icon_urlstring nullable
icon_data_urlstring nullable
secret_refsobject
config_versioninteger nullable
tool_overridesobject
installed_template_versioninteger nullable
latest_template_versioninteger nullable
template_update_availableboolean
published_as_templateboolean
published_template_versioninteger nullable
published_template_visibilitystring nullable
oauth_resource_urlstring nullable
oauth_authorization_urlstring nullable
oauth_token_urlstring nullable
oauth_client_idstring nullable
oauth_scopesstring nullable
oauth_pkce_enabledboolean
oauth_client_secret_setboolean
oauth_requires_manual_clientboolean
oauth_token_expires_atstring date-time nullable
oauth_connectedboolean
oauth_granted_scopesstring nullable
oauth_principalobject nullable
account_identifiableboolean nullable
permissions_summarystring nullable
provider_namestring nullable
provider_consent_urlstring nullable
sign_in_notestring nullable
owned_by_viewerboolean nullable
org_naming_mismatch_warningstring nullable
credential_connectedboolean
credential_status'connected' | 'needs_reconnect' | 'admin_repair' | 'unreachable' | 'missing'
viewer_removal'self' | 'other' nullable
credential_last_auth_errorstring nullable
credential_failure_codestring nullable
access_naturestring nullable
reauth_classstring nullable
server_namestring nullable
server_versionstring nullable
protocol_versionstring nullable
server_capabilitiesobject nullable
server_instructionsstring nullable
last_test_successboolean nullable
last_test_tool_countinteger nullable
last_test_errorstring nullable
last_test_duration_msinteger nullable
last_test_atstring date-time nullable
credential_fit_warningstring nullable

Changes

No recorded changes to this operation across all 2 revisions of this API.