curl "https://app.runtm.com/api/knowledge/integrations?scope=org&page_size=10" \
-H "Authorization: Bearer runtm_xxx" \
-H "X-Organization-Id: org_abc123"
import requests
resp = requests.get(
"https://app.runtm.com/api/knowledge/integrations",
params={"scope": "org", "page_size": 10},
headers={
"Authorization": "Bearer runtm_xxx",
"X-Organization-Id": "org_abc123",
},
)
print(resp.json())
const resp = await fetch(
"https://app.runtm.com/api/knowledge/integrations?scope=org&page_size=10",
{
headers: {
Authorization: "Bearer runtm_xxx",
"X-Organization-Id": "org_abc123",
},
}
);
const data = await resp.json();
{
"integrations": [
{
"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": "2026-05-08T12:00:00Z",
"created_at": "2026-04-20T09:30:00Z",
"updated_at": "2026-05-08T12:00:00Z"
}
],
"next_page_token": null,
"total_size": 1
}
Knowledge
List Knowledge Integrations
List knowledge integrations for the current organization.
GET
/
api
/
knowledge
/
integrations
curl "https://app.runtm.com/api/knowledge/integrations?scope=org&page_size=10" \
-H "Authorization: Bearer runtm_xxx" \
-H "X-Organization-Id: org_abc123"
import requests
resp = requests.get(
"https://app.runtm.com/api/knowledge/integrations",
params={"scope": "org", "page_size": 10},
headers={
"Authorization": "Bearer runtm_xxx",
"X-Organization-Id": "org_abc123",
},
)
print(resp.json())
const resp = await fetch(
"https://app.runtm.com/api/knowledge/integrations?scope=org&page_size=10",
{
headers: {
Authorization: "Bearer runtm_xxx",
"X-Organization-Id": "org_abc123",
},
}
);
const data = await resp.json();
{
"integrations": [
{
"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": "2026-05-08T12:00:00Z",
"created_at": "2026-04-20T09:30:00Z",
"updated_at": "2026-05-08T12:00:00Z"
}
],
"next_page_token": null,
"total_size": 1
}
Returns a paginated list of knowledge integrations visible to the caller.
Use
scope to filter between org-shared and personal integrations.
Required scope: integrations:read
Requires organization context via the
X-Organization-Id header.string
default:"all"
Filter by integration scope. One of
org, personal, or all.string
Filter by provider identifier (e.g.
bigquery).integer
default:"20"
Number of results per page. Range: 1–100.
string
Opaque token from a previous response’s
next_page_token to fetch the next page.string
required
The organization to scope the request to.
KnowledgeIntegrationResource[]
required
List of integration resources. See resource shape below.
string
Token for the next page, or
null if this is the last page.integer
required
Total number of integrations matching the query.
Resource shape
EachKnowledgeIntegrationResource contains:
| Field | Type | Description |
|---|---|---|
id | string | Integration ID |
organization_id | string | Owning organization |
user_id | string | null | Owner for personal-scope integrations |
provider | string | Provider identifier |
auth_method | string | Auth method identifier |
display_name | string | null | Optional display name |
status | string | active, revoked, error, or pending |
has_credentials | boolean | Whether credentials are stored |
has_oauth_refresh | boolean | Whether an OAuth refresh token is stored |
oauth_access_expires_at | string | null | ISO 8601 expiry of the OAuth access token |
provider_metadata | object | Provider-specific configuration |
default_mode | string | auto, allow, or ask |
tool_permissions | object | Per-tool permission overrides |
connected_by_user_id | string | User who connected this integration |
last_used_at | string | null | ISO 8601 timestamp of last use |
created_at | string | ISO 8601 creation timestamp |
updated_at | string | null | ISO 8601 last update timestamp |
curl "https://app.runtm.com/api/knowledge/integrations?scope=org&page_size=10" \
-H "Authorization: Bearer runtm_xxx" \
-H "X-Organization-Id: org_abc123"
import requests
resp = requests.get(
"https://app.runtm.com/api/knowledge/integrations",
params={"scope": "org", "page_size": 10},
headers={
"Authorization": "Bearer runtm_xxx",
"X-Organization-Id": "org_abc123",
},
)
print(resp.json())
const resp = await fetch(
"https://app.runtm.com/api/knowledge/integrations?scope=org&page_size=10",
{
headers: {
Authorization: "Bearer runtm_xxx",
"X-Organization-Id": "org_abc123",
},
}
);
const data = await resp.json();
{
"integrations": [
{
"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": "2026-05-08T12:00:00Z",
"created_at": "2026-04-20T09:30:00Z",
"updated_at": "2026-05-08T12:00:00Z"
}
],
"next_page_token": null,
"total_size": 1
}