curl -X POST https://app.runtm.com/api/knowledge/integrations \
-H "Authorization: Bearer runtm_xxx" \
-H "X-Organization-Id: org_abc123" \
-H "Content-Type: application/json" \
-d '{
"provider": "bigquery",
"auth_method": "service_account",
"scope": "org",
"display_name": "Production warehouse",
"credentials": {
"service_account_json": "{...}"
},
"provider_metadata": {
"project_id": "my-gcp-project"
}
}'
import requests
resp = requests.post(
"https://app.runtm.com/api/knowledge/integrations",
headers={
"Authorization": "Bearer runtm_xxx",
"X-Organization-Id": "org_abc123",
"Content-Type": "application/json",
},
json={
"provider": "bigquery",
"auth_method": "service_account",
"scope": "org",
"display_name": "Production warehouse",
"credentials": {"service_account_json": "{...}"},
"provider_metadata": {"project_id": "my-gcp-project"},
},
)
print(resp.json())
const resp = await fetch("https://app.runtm.com/api/knowledge/integrations", {
method: "POST",
headers: {
Authorization: "Bearer runtm_xxx",
"X-Organization-Id": "org_abc123",
"Content-Type": "application/json",
},
body: JSON.stringify({
provider: "bigquery",
auth_method: "service_account",
scope: "org",
display_name: "Production warehouse",
credentials: { service_account_json: "{...}" },
provider_metadata: { project_id: "my-gcp-project" },
}),
});
const data = await resp.json();
{
"integration": {
"id": "ki_01J...",
"organization_id": "org_abc123",
"user_id": null,
"provider": "bigquery",
"auth_method": "service_account",
"display_name": "Production warehouse",
"status": "active",
"has_credentials": true,
"has_oauth_refresh": false,
"oauth_access_expires_at": null,
"provider_metadata": { "project_id": "my-gcp-project" },
"default_mode": "ask",
"tool_permissions": {},
"connected_by_user_id": "usr_xyz",
"last_used_at": null,
"created_at": "2026-05-09T18:00:00Z",
"updated_at": null
}
}
Knowledge
Create Knowledge Integration
Connect a new knowledge provider with static credentials.
POST
/
api
/
knowledge
/
integrations
curl -X POST https://app.runtm.com/api/knowledge/integrations \
-H "Authorization: Bearer runtm_xxx" \
-H "X-Organization-Id: org_abc123" \
-H "Content-Type: application/json" \
-d '{
"provider": "bigquery",
"auth_method": "service_account",
"scope": "org",
"display_name": "Production warehouse",
"credentials": {
"service_account_json": "{...}"
},
"provider_metadata": {
"project_id": "my-gcp-project"
}
}'
import requests
resp = requests.post(
"https://app.runtm.com/api/knowledge/integrations",
headers={
"Authorization": "Bearer runtm_xxx",
"X-Organization-Id": "org_abc123",
"Content-Type": "application/json",
},
json={
"provider": "bigquery",
"auth_method": "service_account",
"scope": "org",
"display_name": "Production warehouse",
"credentials": {"service_account_json": "{...}"},
"provider_metadata": {"project_id": "my-gcp-project"},
},
)
print(resp.json())
const resp = await fetch("https://app.runtm.com/api/knowledge/integrations", {
method: "POST",
headers: {
Authorization: "Bearer runtm_xxx",
"X-Organization-Id": "org_abc123",
"Content-Type": "application/json",
},
body: JSON.stringify({
provider: "bigquery",
auth_method: "service_account",
scope: "org",
display_name: "Production warehouse",
credentials: { service_account_json: "{...}" },
provider_metadata: { project_id: "my-gcp-project" },
}),
});
const data = await resp.json();
{
"integration": {
"id": "ki_01J...",
"organization_id": "org_abc123",
"user_id": null,
"provider": "bigquery",
"auth_method": "service_account",
"display_name": "Production warehouse",
"status": "active",
"has_credentials": true,
"has_oauth_refresh": false,
"oauth_access_expires_at": null,
"provider_metadata": { "project_id": "my-gcp-project" },
"default_mode": "ask",
"tool_permissions": {},
"connected_by_user_id": "usr_xyz",
"last_used_at": null,
"created_at": "2026-05-09T18:00:00Z",
"updated_at": null
}
}
Creates a knowledge integration for the current organization using a static auth method.
For OAuth-based providers, use the OAuth Install endpoint instead.
Required scope:
integrations:write
Requires organization context via the
X-Organization-Id header.string
required
The organization to create the integration in.
string
required
Auth method identifier from the provider’s catalog entry (e.g.
"service_account").string
default:"org"
"org" for a shared integration, "personal" for a user-scoped one, or "agent" for a connection that resolves only in sessions running as one roster agent. Sessions resolve one connection per provider in the order agent, then personal, then org; see the credential hierarchy.string
Required when
scope is "agent": the roster agent id (agents.id) whose sessions receive this connection.string
Optional human-readable name (max 200 characters).
object
required
Credential payload matching the auth method’s
credential_schema. Never returned in responses.object
default:"{}"
Provider-specific configuration (e.g.
{ "project_id": "my-gcp-project" }).string
Default tool permission mode:
"auto", "allow", or "ask".KnowledgeIntegrationResource
required
The newly created integration. See List for the full resource shape.
curl -X POST https://app.runtm.com/api/knowledge/integrations \
-H "Authorization: Bearer runtm_xxx" \
-H "X-Organization-Id: org_abc123" \
-H "Content-Type: application/json" \
-d '{
"provider": "bigquery",
"auth_method": "service_account",
"scope": "org",
"display_name": "Production warehouse",
"credentials": {
"service_account_json": "{...}"
},
"provider_metadata": {
"project_id": "my-gcp-project"
}
}'
import requests
resp = requests.post(
"https://app.runtm.com/api/knowledge/integrations",
headers={
"Authorization": "Bearer runtm_xxx",
"X-Organization-Id": "org_abc123",
"Content-Type": "application/json",
},
json={
"provider": "bigquery",
"auth_method": "service_account",
"scope": "org",
"display_name": "Production warehouse",
"credentials": {"service_account_json": "{...}"},
"provider_metadata": {"project_id": "my-gcp-project"},
},
)
print(resp.json())
const resp = await fetch("https://app.runtm.com/api/knowledge/integrations", {
method: "POST",
headers: {
Authorization: "Bearer runtm_xxx",
"X-Organization-Id": "org_abc123",
"Content-Type": "application/json",
},
body: JSON.stringify({
provider: "bigquery",
auth_method: "service_account",
scope: "org",
display_name: "Production warehouse",
credentials: { service_account_json: "{...}" },
provider_metadata: { project_id: "my-gcp-project" },
}),
});
const data = await resp.json();
{
"integration": {
"id": "ki_01J...",
"organization_id": "org_abc123",
"user_id": null,
"provider": "bigquery",
"auth_method": "service_account",
"display_name": "Production warehouse",
"status": "active",
"has_credentials": true,
"has_oauth_refresh": false,
"oauth_access_expires_at": null,
"provider_metadata": { "project_id": "my-gcp-project" },
"default_mode": "ask",
"tool_permissions": {},
"connected_by_user_id": "usr_xyz",
"last_used_at": null,
"created_at": "2026-05-09T18:00:00Z",
"updated_at": null
}
}