Process generic AI query
curl --request POST \
--url https://ai.platform.arb.inc/process \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"prompt": "Summarize the key points from the attached document and identify any potential legal issues.",
"files": [
{
"gsUrl": "gs://platform-uploads/2025/document.pdf",
"mimeType": "application/pdf"
}
],
"model": "gemini-3-pro-preview"
}
'import requests
url = "https://ai.platform.arb.inc/process"
payload = {
"prompt": "Summarize the key points from the attached document and identify any potential legal issues.",
"files": [
{
"gsUrl": "gs://platform-uploads/2025/document.pdf",
"mimeType": "application/pdf"
}
],
"model": "gemini-3-pro-preview"
}
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({
prompt: 'Summarize the key points from the attached document and identify any potential legal issues.',
files: [
{gsUrl: 'gs://platform-uploads/2025/document.pdf', mimeType: 'application/pdf'}
],
model: 'gemini-3-pro-preview'
})
};
fetch('https://ai.platform.arb.inc/process', 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://ai.platform.arb.inc/process",
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([
'prompt' => 'Summarize the key points from the attached document and identify any potential legal issues.',
'files' => [
[
'gsUrl' => 'gs://platform-uploads/2025/document.pdf',
'mimeType' => 'application/pdf'
]
],
'model' => 'gemini-3-pro-preview'
]),
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://ai.platform.arb.inc/process"
payload := strings.NewReader("{\n \"prompt\": \"Summarize the key points from the attached document and identify any potential legal issues.\",\n \"files\": [\n {\n \"gsUrl\": \"gs://platform-uploads/2025/document.pdf\",\n \"mimeType\": \"application/pdf\"\n }\n ],\n \"model\": \"gemini-3-pro-preview\"\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://ai.platform.arb.inc/process")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"prompt\": \"Summarize the key points from the attached document and identify any potential legal issues.\",\n \"files\": [\n {\n \"gsUrl\": \"gs://platform-uploads/2025/document.pdf\",\n \"mimeType\": \"application/pdf\"\n }\n ],\n \"model\": \"gemini-3-pro-preview\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://ai.platform.arb.inc/process")
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 \"prompt\": \"Summarize the key points from the attached document and identify any potential legal issues.\",\n \"files\": [\n {\n \"gsUrl\": \"gs://platform-uploads/2025/document.pdf\",\n \"mimeType\": \"application/pdf\"\n }\n ],\n \"model\": \"gemini-3-pro-preview\"\n}"
response = http.request(request)
puts response.read_body{
"response": "The document outlines a parking dispute involving unpaid fees. Key legal issues include potential breach of contract and the enforceability of the arbitration clause.",
"model": "gemini-3-pro-preview"
}process
Process generic AI query
Processes generic AI queries with optional Google Cloud Storage file attachments and returns AI-generated text responses. Supports multiple AI models and can analyze various file types. Requires ai.agent.user permission.
POST
/
process
Process generic AI query
curl --request POST \
--url https://ai.platform.arb.inc/process \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"prompt": "Summarize the key points from the attached document and identify any potential legal issues.",
"files": [
{
"gsUrl": "gs://platform-uploads/2025/document.pdf",
"mimeType": "application/pdf"
}
],
"model": "gemini-3-pro-preview"
}
'import requests
url = "https://ai.platform.arb.inc/process"
payload = {
"prompt": "Summarize the key points from the attached document and identify any potential legal issues.",
"files": [
{
"gsUrl": "gs://platform-uploads/2025/document.pdf",
"mimeType": "application/pdf"
}
],
"model": "gemini-3-pro-preview"
}
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({
prompt: 'Summarize the key points from the attached document and identify any potential legal issues.',
files: [
{gsUrl: 'gs://platform-uploads/2025/document.pdf', mimeType: 'application/pdf'}
],
model: 'gemini-3-pro-preview'
})
};
fetch('https://ai.platform.arb.inc/process', 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://ai.platform.arb.inc/process",
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([
'prompt' => 'Summarize the key points from the attached document and identify any potential legal issues.',
'files' => [
[
'gsUrl' => 'gs://platform-uploads/2025/document.pdf',
'mimeType' => 'application/pdf'
]
],
'model' => 'gemini-3-pro-preview'
]),
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://ai.platform.arb.inc/process"
payload := strings.NewReader("{\n \"prompt\": \"Summarize the key points from the attached document and identify any potential legal issues.\",\n \"files\": [\n {\n \"gsUrl\": \"gs://platform-uploads/2025/document.pdf\",\n \"mimeType\": \"application/pdf\"\n }\n ],\n \"model\": \"gemini-3-pro-preview\"\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://ai.platform.arb.inc/process")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"prompt\": \"Summarize the key points from the attached document and identify any potential legal issues.\",\n \"files\": [\n {\n \"gsUrl\": \"gs://platform-uploads/2025/document.pdf\",\n \"mimeType\": \"application/pdf\"\n }\n ],\n \"model\": \"gemini-3-pro-preview\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://ai.platform.arb.inc/process")
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 \"prompt\": \"Summarize the key points from the attached document and identify any potential legal issues.\",\n \"files\": [\n {\n \"gsUrl\": \"gs://platform-uploads/2025/document.pdf\",\n \"mimeType\": \"application/pdf\"\n }\n ],\n \"model\": \"gemini-3-pro-preview\"\n}"
response = http.request(request)
puts response.read_body{
"response": "The document outlines a parking dispute involving unpaid fees. Key legal issues include potential breach of contract and the enforceability of the arbitration clause.",
"model": "gemini-3-pro-preview"
}Authorizations
access token
Body
application/json
AI prompt for processing
Required string length:
1 - 50000Example:
"Summarize the key points from the attached document and identify any potential legal issues."
Optional list of Google Cloud Storage files to include in context
Show child attributes
Show child attributes
AI model to use (defaults to gemini-3-pro-preview)
Available options:
gemini-3-flash-preview, gemini-3-pro-preview Example:
"gemini-3-pro-preview"
Response
200 - application/json
AI-generated response
⌘I