Upload evidence to a case
curl --request POST \
--url https://api.platform.arb.inc/evidence/uploads/create \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: multipart/form-data' \
--form caseID=2025-08-00123 \
--form 'description=Photo from the incident on May 5, 2025' \
--form file='@example-file' \
--form makePublic=trueimport requests
url = "https://api.platform.arb.inc/evidence/uploads/create"
files = { "file": ("example-file", open("example-file", "rb")) }
payload = {
"caseID": "2025-08-00123",
"description": "Photo from the incident on May 5, 2025",
"makePublic": "true"
}
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, data=payload, files=files, headers=headers)
print(response.text)const form = new FormData();
form.append('caseID', '2025-08-00123');
form.append('description', 'Photo from the incident on May 5, 2025');
form.append('file', '(binary file contents)');
form.append('makePublic', 'true');
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
options.body = form;
fetch('https://api.platform.arb.inc/evidence/uploads/create', 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://api.platform.arb.inc/evidence/uploads/create",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"caseID\"\r\n\r\n2025-08-00123\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"description\"\r\n\r\nPhoto from the incident on May 5, 2025\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n(binary file contents)\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"makePublic\"\r\n\r\ntrue\r\n-----011000010111000001101001--",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: multipart/form-data"
],
]);
$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.platform.arb.inc/evidence/uploads/create"
payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"caseID\"\r\n\r\n2025-08-00123\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"description\"\r\n\r\nPhoto from the incident on May 5, 2025\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n(binary file contents)\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"makePublic\"\r\n\r\ntrue\r\n-----011000010111000001101001--")
req, _ := http.NewRequest("POST", url, payload)
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.post("https://api.platform.arb.inc/evidence/uploads/create")
.header("Authorization", "Bearer <token>")
.body("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"caseID\"\r\n\r\n2025-08-00123\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"description\"\r\n\r\nPhoto from the incident on May 5, 2025\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n(binary file contents)\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"makePublic\"\r\n\r\ntrue\r\n-----011000010111000001101001--")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.platform.arb.inc/evidence/uploads/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request.body = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"caseID\"\r\n\r\n2025-08-00123\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"description\"\r\n\r\nPhoto from the incident on May 5, 2025\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n(binary file contents)\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"makePublic\"\r\n\r\ntrue\r\n-----011000010111000001101001--"
response = http.request(request)
puts response.read_body{
"uploadID": "12"
}"you cannot upload evidence in this case""case not found""evidence submission is currently closed""maximum number of evidence uploads reached""uploaded file size is too large""file not supported"evidence
Upload evidence to a case
Upload one file to a case with a short description.
POST
/
evidence
/
uploads
/
create
Upload evidence to a case
curl --request POST \
--url https://api.platform.arb.inc/evidence/uploads/create \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: multipart/form-data' \
--form caseID=2025-08-00123 \
--form 'description=Photo from the incident on May 5, 2025' \
--form file='@example-file' \
--form makePublic=trueimport requests
url = "https://api.platform.arb.inc/evidence/uploads/create"
files = { "file": ("example-file", open("example-file", "rb")) }
payload = {
"caseID": "2025-08-00123",
"description": "Photo from the incident on May 5, 2025",
"makePublic": "true"
}
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, data=payload, files=files, headers=headers)
print(response.text)const form = new FormData();
form.append('caseID', '2025-08-00123');
form.append('description', 'Photo from the incident on May 5, 2025');
form.append('file', '(binary file contents)');
form.append('makePublic', 'true');
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
options.body = form;
fetch('https://api.platform.arb.inc/evidence/uploads/create', 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://api.platform.arb.inc/evidence/uploads/create",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"caseID\"\r\n\r\n2025-08-00123\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"description\"\r\n\r\nPhoto from the incident on May 5, 2025\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n(binary file contents)\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"makePublic\"\r\n\r\ntrue\r\n-----011000010111000001101001--",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: multipart/form-data"
],
]);
$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.platform.arb.inc/evidence/uploads/create"
payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"caseID\"\r\n\r\n2025-08-00123\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"description\"\r\n\r\nPhoto from the incident on May 5, 2025\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n(binary file contents)\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"makePublic\"\r\n\r\ntrue\r\n-----011000010111000001101001--")
req, _ := http.NewRequest("POST", url, payload)
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.post("https://api.platform.arb.inc/evidence/uploads/create")
.header("Authorization", "Bearer <token>")
.body("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"caseID\"\r\n\r\n2025-08-00123\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"description\"\r\n\r\nPhoto from the incident on May 5, 2025\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n(binary file contents)\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"makePublic\"\r\n\r\ntrue\r\n-----011000010111000001101001--")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.platform.arb.inc/evidence/uploads/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request.body = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"caseID\"\r\n\r\n2025-08-00123\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"description\"\r\n\r\nPhoto from the incident on May 5, 2025\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n(binary file contents)\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"makePublic\"\r\n\r\ntrue\r\n-----011000010111000001101001--"
response = http.request(request)
puts response.read_body{
"uploadID": "12"
}"you cannot upload evidence in this case""case not found""evidence submission is currently closed""maximum number of evidence uploads reached""uploaded file size is too large""file not supported"Authorizations
access token
Body
multipart/form-data
ID of the case to attach the evidence to. Must be sent before the file part.
Example:
"2025-08-00123"
Short description of the evidence. Must be sent before the file part.
Example:
"Photo from the incident on May 5, 2025"
The evidence file to upload (single file only).
Whether to immediately add the evidence to the docket before the evidence exchange phase.
Available options:
true, false Example:
"true"
Response
Evidence successfully uploaded.
ID of the created evidence upload.
Example:
"12"
⌘I