import requests
assistant_id = "your-assistant-id"
api_key = "your-api-key"
url = f"https://api.ai21.com/studio/v1/assistants/{assistant_id}"
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
payload = {
"input": [
{
"role": "user",
"content": "string"
}
],
"output_type": "json",
"include": [
"data_sources",
"requirements_result",
"requirements_result.metadata"
]
}
response = requests.post(url, headers=headers, json=payload)
print("Status Code:", response.status_code)
print("Response:", response.json())
import fetch from "node-fetch";
const assistantId = "your-assistant-id";
const apiKey = "your-api-key";
const url = `https://api.ai21.com/studio/v1/assistants/${assistantId}`;
const payload = {
input: [
{
role: "user",
content: "string"
}
],
output_type: "json",
include: [
"data_sources",
"requirements_result",
"requirements_result.metadata"
]
};
const headers = {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json"
};
async function runAssistant() {
try {
const response = await fetch(url, {
method: "POST",
headers,
body: JSON.stringify(payload)
});
const data = await response.json();
console.log("Status:", response.status);
console.log("Response:", data);
} catch (error) {
console.error("Error:", error);
}
}
runAssistant();
<?php
$assistant_id = "your-assistant-id";
$api_key = "your-api-key";
$url = "https://api.ai21.com/studio/v1/assistants/" . $assistant_id;
$payload = [
"input" => [
[
"role" => "user",
"content" => "string"
]
],
"output_type" => "json",
"include" => [
"data_sources",
"requirements_result",
"requirements_result.metadata"
]
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer " . $api_key,
"Content-Type: application/json"
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
$response = curl_exec($ch);
if (curl_errno($ch)) {
echo "Error: " . curl_error($ch);
} else {
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo "Status Code: " . $statusCode . "\n";
echo "Response: " . $response . "\n";
}
curl_close($ch);
?>
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"os"
)
func main() {
assistantID := "your-assistant-id"
apiKey := "your-api-key"
url := fmt.Sprintf("https://api.ai21.com/studio/v1/assistants/%s", assistantID)
payload := map[string]interface{}{
"input": []map[string]string{
{
"role": "user",
"content": "string",
},
},
"output_type": "json",
"include": []string{"data_sources", "requirements_result", "requirements_result.metadata"},
}
jsonData, err := json.Marshal(payload)
if err != nil {
fmt.Println("Error encoding JSON:", err)
os.Exit(1)
}
req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
if err != nil {
fmt.Println("Error creating request:", err)
os.Exit(1)
}
req.Header.Set("Authorization", "Bearer "+apiKey)
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println("Error sending request:", err)
os.Exit(1)
}
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil {
fmt.Println("Error reading response:", err)
os.Exit(1)
}
fmt.Println("Status Code:", resp.StatusCode)
fmt.Println("Response:", string(body))
}
curl -X POST "https://api.ai21.com/studio/v1/assistants/your-assistant-id" \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{
"input": [
{
"role": "user",
"content": "string"
}
],
"output_type": "json",
"include": [
"data_sources",
"requirements_result",
"requirements_result.metadata"
]
}'
import java.io.OutputStream;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class InvokeAssistant {
public static void main(String[] args) {
String assistantId = "your-assistant-id";
String apiKey = "your-api-key";
String urlString = "https://api.ai21.com/studio/v1/assistants/" + assistantId;
String jsonPayload = "{"
+ "\"input\":[{\"role\":\"user\",\"content\":\"string\"}],"
+ "\"output_type\":\"json\","
+ "\"include\":[\"data_sources\",\"requirements_result\",\"requirements_result.metadata\"]"
+ "}";
try {
URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Authorization", "Bearer " + apiKey);
conn.setRequestProperty("Content-Type", "application/json");
conn.setDoOutput(true);
// Send JSON payload
OutputStream os = conn.getOutputStream();
os.write(jsonPayload.getBytes("UTF-8"));
os.close();
// Read response
int status = conn.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(
conn.getInputStream()));
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println("Status Code: " + status);
System.out.println("Response: " + response.toString());
conn.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
}
{
"input": [
{
"role": "user",
"content": "string"
}
],
"output_type": "json",
"include": [
"data_sources",
"requirements_result",
"requirements_result.metadata"
]
}
Invoke assistant [Beta]
Run Assistant by ID
POST
/
studio
/
v1
/
assistants
/
{assistant_id}
/
run
import requests
assistant_id = "your-assistant-id"
api_key = "your-api-key"
url = f"https://api.ai21.com/studio/v1/assistants/{assistant_id}"
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
payload = {
"input": [
{
"role": "user",
"content": "string"
}
],
"output_type": "json",
"include": [
"data_sources",
"requirements_result",
"requirements_result.metadata"
]
}
response = requests.post(url, headers=headers, json=payload)
print("Status Code:", response.status_code)
print("Response:", response.json())
import fetch from "node-fetch";
const assistantId = "your-assistant-id";
const apiKey = "your-api-key";
const url = `https://api.ai21.com/studio/v1/assistants/${assistantId}`;
const payload = {
input: [
{
role: "user",
content: "string"
}
],
output_type: "json",
include: [
"data_sources",
"requirements_result",
"requirements_result.metadata"
]
};
const headers = {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json"
};
async function runAssistant() {
try {
const response = await fetch(url, {
method: "POST",
headers,
body: JSON.stringify(payload)
});
const data = await response.json();
console.log("Status:", response.status);
console.log("Response:", data);
} catch (error) {
console.error("Error:", error);
}
}
runAssistant();
<?php
$assistant_id = "your-assistant-id";
$api_key = "your-api-key";
$url = "https://api.ai21.com/studio/v1/assistants/" . $assistant_id;
$payload = [
"input" => [
[
"role" => "user",
"content" => "string"
]
],
"output_type" => "json",
"include" => [
"data_sources",
"requirements_result",
"requirements_result.metadata"
]
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer " . $api_key,
"Content-Type: application/json"
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
$response = curl_exec($ch);
if (curl_errno($ch)) {
echo "Error: " . curl_error($ch);
} else {
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo "Status Code: " . $statusCode . "\n";
echo "Response: " . $response . "\n";
}
curl_close($ch);
?>
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"os"
)
func main() {
assistantID := "your-assistant-id"
apiKey := "your-api-key"
url := fmt.Sprintf("https://api.ai21.com/studio/v1/assistants/%s", assistantID)
payload := map[string]interface{}{
"input": []map[string]string{
{
"role": "user",
"content": "string",
},
},
"output_type": "json",
"include": []string{"data_sources", "requirements_result", "requirements_result.metadata"},
}
jsonData, err := json.Marshal(payload)
if err != nil {
fmt.Println("Error encoding JSON:", err)
os.Exit(1)
}
req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
if err != nil {
fmt.Println("Error creating request:", err)
os.Exit(1)
}
req.Header.Set("Authorization", "Bearer "+apiKey)
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println("Error sending request:", err)
os.Exit(1)
}
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil {
fmt.Println("Error reading response:", err)
os.Exit(1)
}
fmt.Println("Status Code:", resp.StatusCode)
fmt.Println("Response:", string(body))
}
curl -X POST "https://api.ai21.com/studio/v1/assistants/your-assistant-id" \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{
"input": [
{
"role": "user",
"content": "string"
}
],
"output_type": "json",
"include": [
"data_sources",
"requirements_result",
"requirements_result.metadata"
]
}'
import java.io.OutputStream;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class InvokeAssistant {
public static void main(String[] args) {
String assistantId = "your-assistant-id";
String apiKey = "your-api-key";
String urlString = "https://api.ai21.com/studio/v1/assistants/" + assistantId;
String jsonPayload = "{"
+ "\"input\":[{\"role\":\"user\",\"content\":\"string\"}],"
+ "\"output_type\":\"json\","
+ "\"include\":[\"data_sources\",\"requirements_result\",\"requirements_result.metadata\"]"
+ "}";
try {
URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Authorization", "Bearer " + apiKey);
conn.setRequestProperty("Content-Type", "application/json");
conn.setDoOutput(true);
// Send JSON payload
OutputStream os = conn.getOutputStream();
os.write(jsonPayload.getBytes("UTF-8"));
os.close();
// Read response
int status = conn.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(
conn.getInputStream()));
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println("Status Code: " + status);
System.out.println("Response: " + response.toString());
conn.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
}
{
"input": [
{
"role": "user",
"content": "string"
}
],
"output_type": "json",
"include": [
"data_sources",
"requirements_result",
"requirements_result.metadata"
]
}
Path Parameters
string
required
The unique identifier of the assistant to invoke.
Use
Use
agent_id when you want repeatable behavior without re-specifying name, instructions, tools, or the tool config each call.When you invoke an
assistant_id and override a specific configuration (for example, updating only the requirements), the assistant uses your updated value for that field, while all other settings (such as name, description, and budget) are still taken from the assistant_id.Request Body
object[]
required
object
Reserved for specifying structured output format.
string[]
Specify which extra fields should be included in the output. If not provided, none of these fields will be included. Supported values:
-
data_sources— Includes thedata_sourcesfield in the output. -
requirements_result— Includes detailed results for each requirement in therequirements_resultfield.import requests assistant_id = "your-assistant-id" api_key = "your-api-key" url = f"https://api.ai21.com/studio/v1/assistants/{assistant_id}" headers = { "Authorization": f"Bearer {api_key}", "Content-Type": "application/json" } payload = { "input": [ { "role": "user", "content": "string" } ], "output_type": "json", "include": [ "data_sources", "requirements_result", "requirements_result.metadata" ] } response = requests.post(url, headers=headers, json=payload) print("Status Code:", response.status_code) print("Response:", response.json())import fetch from "node-fetch"; const assistantId = "your-assistant-id"; const apiKey = "your-api-key"; const url = `https://api.ai21.com/studio/v1/assistants/${assistantId}`; const payload = { input: [ { role: "user", content: "string" } ], output_type: "json", include: [ "data_sources", "requirements_result", "requirements_result.metadata" ] }; const headers = { "Authorization": `Bearer ${apiKey}`, "Content-Type": "application/json" }; async function runAssistant() { try { const response = await fetch(url, { method: "POST", headers, body: JSON.stringify(payload) }); const data = await response.json(); console.log("Status:", response.status); console.log("Response:", data); } catch (error) { console.error("Error:", error); } } runAssistant();<?php $assistant_id = "your-assistant-id"; $api_key = "your-api-key"; $url = "https://api.ai21.com/studio/v1/assistants/" . $assistant_id; $payload = [ "input" => [ [ "role" => "user", "content" => "string" ] ], "output_type" => "json", "include" => [ "data_sources", "requirements_result", "requirements_result.metadata" ] ]; $ch = curl_init($url); curl_setopt($ch, CURLOPT_HTTPHEADER, [ "Authorization: Bearer " . $api_key, "Content-Type: application/json" ]); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload)); $response = curl_exec($ch); if (curl_errno($ch)) { echo "Error: " . curl_error($ch); } else { $statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); echo "Status Code: " . $statusCode . "\n"; echo "Response: " . $response . "\n"; } curl_close($ch); ?>package main import ( "bytes" "encoding/json" "fmt" "io" "net/http" "os" ) func main() { assistantID := "your-assistant-id" apiKey := "your-api-key" url := fmt.Sprintf("https://api.ai21.com/studio/v1/assistants/%s", assistantID) payload := map[string]interface{}{ "input": []map[string]string{ { "role": "user", "content": "string", }, }, "output_type": "json", "include": []string{"data_sources", "requirements_result", "requirements_result.metadata"}, } jsonData, err := json.Marshal(payload) if err != nil { fmt.Println("Error encoding JSON:", err) os.Exit(1) } req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData)) if err != nil { fmt.Println("Error creating request:", err) os.Exit(1) } req.Header.Set("Authorization", "Bearer "+apiKey) req.Header.Set("Content-Type", "application/json") client := &http.Client{} resp, err := client.Do(req) if err != nil { fmt.Println("Error sending request:", err) os.Exit(1) } defer resp.Body.Close() body, err := io.ReadAll(resp.Body) if err != nil { fmt.Println("Error reading response:", err) os.Exit(1) } fmt.Println("Status Code:", resp.StatusCode) fmt.Println("Response:", string(body)) }curl -X POST "https://api.ai21.com/studio/v1/assistants/your-assistant-id" \ -H "Authorization: Bearer your-api-key" \ -H "Content-Type: application/json" \ -d '{ "input": [ { "role": "user", "content": "string" } ], "output_type": "json", "include": [ "data_sources", "requirements_result", "requirements_result.metadata" ] }'import java.io.OutputStream; import java.io.InputStreamReader; import java.io.BufferedReader; import java.net.HttpURLConnection; import java.net.URL; public class InvokeAssistant { public static void main(String[] args) { String assistantId = "your-assistant-id"; String apiKey = "your-api-key"; String urlString = "https://api.ai21.com/studio/v1/assistants/" + assistantId; String jsonPayload = "{" + "\"input\":[{\"role\":\"user\",\"content\":\"string\"}]," + "\"output_type\":\"json\"," + "\"include\":[\"data_sources\",\"requirements_result\",\"requirements_result.metadata\"]" + "}"; try { URL url = new URL(urlString); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Authorization", "Bearer " + apiKey); conn.setRequestProperty("Content-Type", "application/json"); conn.setDoOutput(true); // Send JSON payload OutputStream os = conn.getOutputStream(); os.write(jsonPayload.getBytes("UTF-8")); os.close(); // Read response int status = conn.getResponseCode(); BufferedReader in = new BufferedReader(new InputStreamReader( conn.getInputStream())); String inputLine; StringBuilder response = new StringBuilder(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); System.out.println("Status Code: " + status); System.out.println("Response: " + response.toString()); conn.disconnect(); } catch (Exception e) { e.printStackTrace(); } } }{ "input": [ { "role": "user", "content": "string" } ], "output_type": "json", "include": [ "data_sources", "requirements_result", "requirements_result.metadata" ] }
Was this page helpful?
⌘I

