curl --request GET \
--url https://app.base44.com/api/apps/{app_id}/access-requests/all \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.base44.com/api/apps/{app_id}/access-requests/all"
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}/access-requests/all', 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}/access-requests/all",
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}/access-requests/all"
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}/access-requests/all")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/access-requests/all")
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": "68d4a1f7c2b9e5001a7f3c60",
"app_id": "6820f3a4e7b91d003c45a1f2",
"email": "jane@acme.com",
"full_name": "Jane Cooper",
"role": "user",
"status": "pending",
"requested_at": "2026-09-20T08:12:44.201000Z",
"data": {
"department": "sales"
}
}
]List access requests
Returns the people who asked to join the app and the people invited to it who haven’t joined yet, newest first.
Check status on each entry. pending means the person asked for access and is waiting for you to approve or deny it. approved means they’re invited or approved but haven’t joined yet. completed means they’ve joined: the entry stays while they’re one of the app’s users, and they also appear in List app users. Requests still waiting for the person to confirm their email don’t appear.
Set role to list one role only. Every matching entry comes back at once, with no paging.
curl --request GET \
--url https://app.base44.com/api/apps/{app_id}/access-requests/all \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.base44.com/api/apps/{app_id}/access-requests/all"
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}/access-requests/all', 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}/access-requests/all",
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}/access-requests/all"
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}/access-requests/all")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/access-requests/all")
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": "68d4a1f7c2b9e5001a7f3c60",
"app_id": "6820f3a4e7b91d003c45a1f2",
"email": "jane@acme.com",
"full_name": "Jane Cooper",
"role": "user",
"status": "pending",
"requested_at": "2026-09-20T08:12:44.201000Z",
"data": {
"department": "sales"
}
}
]Authorizations
Personal access token, sent as Authorization: Bearer <token>.
Path Parameters
ID of the app.
Query Parameters
List only entries with this app role. all, or leaving it out, lists every role.
Response
The app's access requests and pending invitations.
ID of the access request.
"68d4a1f7c2b9e5001a7f3c60"
ID of the app.
"6820f3a4e7b91d003c45a1f2"
Email of the person.
"jane@acme.com"
Name of the person, or null when they didn't give one.
"Jane Cooper"
App role the person gets when they join.
"user"
pending when the person asked for access and is waiting for your review, approved when they're invited or approved but haven't joined yet, or completed once they've joined.
"pending"
When the request or invitation was made, as a UTC timestamp in ISO 8601 format.
"2026-09-20T08:12:44.201000Z"
Custom User fields stored on the invitation, limited by the User entity's field-level read rules.
{ "department": "sales" }
Was this page helpful?