Approve multiple AI Sales Agent activities
curl --request POST \
--url https://api.instantly.ai/api/v2/ai-agents/sales/{id}/activities/approve \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"activity_ids": [
"01a0206f-f02f-7e7a-b16a-155cb4723154",
"01a0206f-f02f-7e7a-b16a-155db8502d6c"
]
}
'import requests
url = "https://api.instantly.ai/api/v2/ai-agents/sales/{id}/activities/approve"
payload = { "activity_ids": ["01a0206f-f02f-7e7a-b16a-155cb4723154", "01a0206f-f02f-7e7a-b16a-155db8502d6c"] }
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({
activity_ids: ['01a0206f-f02f-7e7a-b16a-155cb4723154', '01a0206f-f02f-7e7a-b16a-155db8502d6c']
})
};
fetch('https://api.instantly.ai/api/v2/ai-agents/sales/{id}/activities/approve', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.post("https://api.instantly.ai/api/v2/ai-agents/sales/{id}/activities/approve")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"activity_ids\": [\n \"01a0206f-f02f-7e7a-b16a-155cb4723154\",\n \"01a0206f-f02f-7e7a-b16a-155db8502d6c\"\n ]\n}")
.asString();<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.instantly.ai/api/v2/ai-agents/sales/{id}/activities/approve",
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([
'activity_ids' => [
'01a0206f-f02f-7e7a-b16a-155cb4723154',
'01a0206f-f02f-7e7a-b16a-155db8502d6c'
]
]),
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://api.instantly.ai/api/v2/ai-agents/sales/{id}/activities/approve"
payload := strings.NewReader("{\n \"activity_ids\": [\n \"01a0206f-f02f-7e7a-b16a-155cb4723154\",\n \"01a0206f-f02f-7e7a-b16a-155db8502d6c\"\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))
}{
"approved": 2
}{
"statusCode": 400,
"error": "Bad Request",
"message": "body must have required property 'name'"
}{
"statusCode": 401,
"error": "Unauthorized",
"message": "Missing Authorization header"
}{
"statusCode": 402,
"error": "Payment Required",
"message": "Workspace does not have an active paid plan"
}{
"statusCode": 404,
"error": "Not Found",
"message": "Resource not found"
}{
"statusCode": 429,
"error": "Too Many Requests",
"message": "Rate limit exceeded"
}AI Sales Agent
Approve multiple AI Sales Agent activities
Approve multiple pending AI Sales Agent activity actions. Returns 404 when none of the activities exist or none are pending.
Requires one of the following scopes: ai_sdr:update, ai_sdr:all, all:update, all:all
POST
/
api
/
v2
/
ai-agents
/
sales
/
{id}
/
activities
/
approve
Approve multiple AI Sales Agent activities
curl --request POST \
--url https://api.instantly.ai/api/v2/ai-agents/sales/{id}/activities/approve \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"activity_ids": [
"01a0206f-f02f-7e7a-b16a-155cb4723154",
"01a0206f-f02f-7e7a-b16a-155db8502d6c"
]
}
'import requests
url = "https://api.instantly.ai/api/v2/ai-agents/sales/{id}/activities/approve"
payload = { "activity_ids": ["01a0206f-f02f-7e7a-b16a-155cb4723154", "01a0206f-f02f-7e7a-b16a-155db8502d6c"] }
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({
activity_ids: ['01a0206f-f02f-7e7a-b16a-155cb4723154', '01a0206f-f02f-7e7a-b16a-155db8502d6c']
})
};
fetch('https://api.instantly.ai/api/v2/ai-agents/sales/{id}/activities/approve', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.post("https://api.instantly.ai/api/v2/ai-agents/sales/{id}/activities/approve")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"activity_ids\": [\n \"01a0206f-f02f-7e7a-b16a-155cb4723154\",\n \"01a0206f-f02f-7e7a-b16a-155db8502d6c\"\n ]\n}")
.asString();<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.instantly.ai/api/v2/ai-agents/sales/{id}/activities/approve",
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([
'activity_ids' => [
'01a0206f-f02f-7e7a-b16a-155cb4723154',
'01a0206f-f02f-7e7a-b16a-155db8502d6c'
]
]),
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://api.instantly.ai/api/v2/ai-agents/sales/{id}/activities/approve"
payload := strings.NewReader("{\n \"activity_ids\": [\n \"01a0206f-f02f-7e7a-b16a-155cb4723154\",\n \"01a0206f-f02f-7e7a-b16a-155db8502d6c\"\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))
}{
"approved": 2
}{
"statusCode": 400,
"error": "Bad Request",
"message": "body must have required property 'name'"
}{
"statusCode": 401,
"error": "Unauthorized",
"message": "Missing Authorization header"
}{
"statusCode": 402,
"error": "Payment Required",
"message": "Workspace does not have an active paid plan"
}{
"statusCode": 404,
"error": "Not Found",
"message": "Resource not found"
}{
"statusCode": 429,
"error": "Too Many Requests",
"message": "Rate limit exceeded"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
AI Sales Agent ID
Example:
"01a0206f-e414-76cf-8ce7-a2439b5bad4c"
Body
application/json
Array of activity IDs to approve (at most 100 per request)
Required array length:
1 - 100 elementsExample:
[ "01a0206f-f02f-7e7a-b16a-155cb4723154", "01a0206f-f02f-7e7a-b16a-155db8502d6c" ]
Response
The number of activities approved
Number of activities approved
Example:
2
⌘I