curl --request GET \
--url https://app.base44.com/api/apps/{app_id}/github/workspace-installations \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.base44.com/api/apps/{app_id}/github/workspace-installations"
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}/github/workspace-installations', 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}/github/workspace-installations",
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}/github/workspace-installations"
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}/github/workspace-installations")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/github/workspace-installations")
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[
{
"id": "66f1c2d9a4b7e80012ab34cd",
"github_installation_id": "58231904",
"account_login": "acme-inc",
"repository_selection": "all",
"account_avatar_url": "https://avatars.githubusercontent.com/u/1234567?v=4"
}
]List workspace GitHub installations
Lists the GitHub organizations connected to the app’s workspace that you can create the app’s repository in. Pass an installation’s id as workspace_installation_id to Connect a GitHub repository.
Only active installations on GitHub organizations appear, and only those the workspace allows for new apps. Organizations are connected to the workspace in its settings rather than through this API. Calling this re-checks repository_selection with GitHub for installations set to selected.
This endpoint is limited to 30 requests per minute. Some workspaces have a different limit.
curl --request GET \
--url https://app.base44.com/api/apps/{app_id}/github/workspace-installations \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.base44.com/api/apps/{app_id}/github/workspace-installations"
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}/github/workspace-installations', 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}/github/workspace-installations",
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}/github/workspace-installations"
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}/github/workspace-installations")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/github/workspace-installations")
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[
{
"id": "66f1c2d9a4b7e80012ab34cd",
"github_installation_id": "58231904",
"account_login": "acme-inc",
"repository_selection": "all",
"account_avatar_url": "https://avatars.githubusercontent.com/u/1234567?v=4"
}
]Authorizations
Personal access token, sent as Authorization: Bearer <token>.
Path Parameters
ID of the app whose workspace decides which GitHub organizations you can use.
Response
The workspace's GitHub installations you can use.
ID of the installation in Base44. Pass it as workspace_installation_id to Connect a GitHub repository.
"66f1c2d9a4b7e80012ab34cd"
ID of the Base44 GitHub App installation on GitHub.
"58231904"
GitHub organization the installation is on.
"acme-inc"
Whether the Base44 GitHub App can reach all of the organization's repositories (all) or only chosen ones (selected). You can't create a repository through an installation set to selected, so switch it to all repositories in GitHub first.
all, selected "all"
URL of the organization's GitHub avatar, or null when GitHub didn't return one.
"https://avatars.githubusercontent.com/u/1234567?v=4"
Was this page helpful?