curl --request POST \
--url https://app.base44.com/api/workspace/invitations/bulk-resend \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"emails": [
"dana@acme.com",
"sam@acme.com"
]
}
'import requests
url = "https://app.base44.com/api/workspace/invitations/bulk-resend"
payload = { "emails": ["dana@acme.com", "sam@acme.com"] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({emails: ['dana@acme.com', 'sam@acme.com']})
};
fetch('https://app.base44.com/api/workspace/invitations/bulk-resend', 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/workspace/invitations/bulk-resend",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'emails' => [
'dana@acme.com',
'sam@acme.com'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.base44.com/api/workspace/invitations/bulk-resend"
payload := strings.NewReader("{\n \"emails\": [\n \"dana@acme.com\",\n \"sam@acme.com\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.base44.com/api/workspace/invitations/bulk-resend")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"emails\": [\n \"dana@acme.com\",\n \"sam@acme.com\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/workspace/invitations/bulk-resend")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"emails\": [\n \"dana@acme.com\",\n \"sam@acme.com\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"total_sent": 1,
"successful": [
"dana@acme.com"
],
"failed": [
{
"email": "sam@acme.com",
"error": "User already has a pending invitation"
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Resend workspace invitations in bulk
Resends up to 50 pending workspace invitations at once, the same way as Resend workspace invitation.
Each invitation succeeds or fails on its own, so a 200 doesn’t mean every invitation went out. Check failed, which lists emails with no pending invitation, people who already joined, invitations resent too often, invitations for admin when the plan no longer allows admins, and invitations that couldn’t be saved or emailed. Each invitation can be resent 3 times every 10 minutes.
Inviting is limited to 6 requests per minute, shared by Invite workspace member, Invite workspace members in bulk, Resend workspace invitation, and Resend workspace invitations in bulk. A signed-in session has its own limit, and every personal access token for the workspace shares one. Some workspaces have a different limit.
curl --request POST \
--url https://app.base44.com/api/workspace/invitations/bulk-resend \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"emails": [
"dana@acme.com",
"sam@acme.com"
]
}
'import requests
url = "https://app.base44.com/api/workspace/invitations/bulk-resend"
payload = { "emails": ["dana@acme.com", "sam@acme.com"] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({emails: ['dana@acme.com', 'sam@acme.com']})
};
fetch('https://app.base44.com/api/workspace/invitations/bulk-resend', 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/workspace/invitations/bulk-resend",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'emails' => [
'dana@acme.com',
'sam@acme.com'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.base44.com/api/workspace/invitations/bulk-resend"
payload := strings.NewReader("{\n \"emails\": [\n \"dana@acme.com\",\n \"sam@acme.com\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.base44.com/api/workspace/invitations/bulk-resend")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"emails\": [\n \"dana@acme.com\",\n \"sam@acme.com\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/workspace/invitations/bulk-resend")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"emails\": [\n \"dana@acme.com\",\n \"sam@acme.com\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"total_sent": 1,
"successful": [
"dana@acme.com"
],
"failed": [
{
"email": "sam@acme.com",
"error": "User already has a pending invitation"
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Personal access token, sent as Authorization: Bearer <token>.
Query Parameters
Body
Pending invitations to send again.
Emails the pending invitations were sent to, 1 to 50. Each email can appear once.
1 - 50 elements["dana@acme.com", "sam@acme.com"]
Response
Which invitations went out.
Which invitations went out.
Number of invitations sent, the length of successful.
1
Emails an invitation was sent to.
["dana@acme.com"]
Invitations that weren't sent, with the reason. Empty when every invitation went out.
Show child attributes
Show child attributes
[
{
"email": "sam@acme.com",
"error": "User already has a pending invitation"
}
]
Was this page helpful?