curl --request GET \
--url https://app.base44.com/api/apps/{app_id}/external-auth/list \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.base44.com/api/apps/{app_id}/external-auth/list"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.base44.com/api/apps/{app_id}/external-auth/list', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.base44.com/api/apps/{app_id}/external-auth/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.base44.com/api/apps/{app_id}/external-auth/list"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.base44.com/api/apps/{app_id}/external-auth/list")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/external-auth/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"integrations": [
{
"auth_method": "oauth",
"connected_by_me": true,
"connection_id": "base44_6820f3a4e7b91d003c45a1f7",
"connection_ownership": "app",
"created_at": "2026-01-15T09:23:41Z",
"integration_account_identifier": "jane@acme.com",
"integration_type": "googlecalendar",
"requires_connection_config": false,
"scopes": [
"https://www.googleapis.com/auth/calendar.readonly"
],
"status": "active",
"user_email": "jane@acme.com"
}
],
"school_blocked_connector_types": [
"gmail"
]
}List connector connections
Returns the app’s connector connections, whether active, expired, or disconnected, with who made each one and the scopes it was granted. Read status to tell whether a connection still works. Connections made with a workspace connector’s own OAuth app aren’t included.
Each active connection is checked as you list it, so status can read expired before the app next uses the connector. The list isn’t paginated, since an app has at most one connection for each connector.
This is limited to 60 requests a minute per caller. Some workspaces have a different limit.
curl --request GET \
--url https://app.base44.com/api/apps/{app_id}/external-auth/list \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.base44.com/api/apps/{app_id}/external-auth/list"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.base44.com/api/apps/{app_id}/external-auth/list', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.base44.com/api/apps/{app_id}/external-auth/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.base44.com/api/apps/{app_id}/external-auth/list"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.base44.com/api/apps/{app_id}/external-auth/list")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/external-auth/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"integrations": [
{
"auth_method": "oauth",
"connected_by_me": true,
"connection_id": "base44_6820f3a4e7b91d003c45a1f7",
"connection_ownership": "app",
"created_at": "2026-01-15T09:23:41Z",
"integration_account_identifier": "jane@acme.com",
"integration_type": "googlecalendar",
"requires_connection_config": false,
"scopes": [
"https://www.googleapis.com/auth/calendar.readonly"
],
"status": "active",
"user_email": "jane@acme.com"
}
],
"school_blocked_connector_types": [
"gmail"
]
}Authorizations
Personal access token, sent as Authorization: Bearer <token>. Each operation lists the permission it needs: read_only or full_access. A full-access token can call every operation. A read-only token can call only the operations that list read_only; anything else returns 403 read_only_credential_route_not_allowed.
Path Parameters
ID of the app.
Response
The app's connector connections.
The app's connector connections.
One entry per connector the app has a connection for.
Show child attributes
Show child attributes
[
{
"auth_method": "oauth",
"connected_by_me": true,
"connection_id": "base44_6820f3a4e7b91d003c45a1f7",
"connection_ownership": "app",
"created_at": "2026-01-15T09:23:41Z",
"integration_account_identifier": "jane@acme.com",
"integration_type": "googlecalendar",
"requires_connection_config": false,
"scopes": [
"https://www.googleapis.com/auth/calendar.readonly"
],
"status": "active",
"user_email": "jane@acme.com"
}
]
Connectors requiring school approval before shared accounts can connect.
["gmail"]
Was this page helpful?