Image imports
Review an event image import
PATCH
/
v1
/
studios
/
{studio_id}
/
events
/
{event_id}
/
image-imports
/
{import_id}
Review an event image import
curl --request PATCH \
--url https://api.batchrelay.com/v1/studios/{studio_id}/events/{event_id}/image-imports/{import_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"expected_revision": 2,
"resolution_overrides": [
{
"effective_ppi": 123,
"output": "<string>",
"policy_version": "<string>",
"reason": "<string>"
}
]
}
'import requests
url = "https://api.batchrelay.com/v1/studios/{studio_id}/events/{event_id}/image-imports/{import_id}"
payload = {
"expected_revision": 2,
"resolution_overrides": [
{
"effective_ppi": 123,
"output": "<string>",
"policy_version": "<string>",
"reason": "<string>"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
expected_revision: 2,
resolution_overrides: [
{
effective_ppi: 123,
output: '<string>',
policy_version: '<string>',
reason: '<string>'
}
]
})
};
fetch('https://api.batchrelay.com/v1/studios/{studio_id}/events/{event_id}/image-imports/{import_id}', 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.batchrelay.com/v1/studios/{studio_id}/events/{event_id}/image-imports/{import_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'expected_revision' => 2,
'resolution_overrides' => [
[
'effective_ppi' => 123,
'output' => '<string>',
'policy_version' => '<string>',
'reason' => '<string>'
]
]
]),
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.batchrelay.com/v1/studios/{studio_id}/events/{event_id}/image-imports/{import_id}"
payload := strings.NewReader("{\n \"expected_revision\": 2,\n \"resolution_overrides\": [\n {\n \"effective_ppi\": 123,\n \"output\": \"<string>\",\n \"policy_version\": \"<string>\",\n \"reason\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.batchrelay.com/v1/studios/{studio_id}/events/{event_id}/image-imports/{import_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"expected_revision\": 2,\n \"resolution_overrides\": [\n {\n \"effective_ppi\": 123,\n \"output\": \"<string>\",\n \"policy_version\": \"<string>\",\n \"reason\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.batchrelay.com/v1/studios/{studio_id}/events/{event_id}/image-imports/{import_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"expected_revision\": 2,\n \"resolution_overrides\": [\n {\n \"effective_ppi\": 123,\n \"output\": \"<string>\",\n \"policy_version\": \"<string>\",\n \"reason\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"duplicates": [
"<string>"
],
"id": "<string>",
"missing_files": [
"<string>"
],
"proposed_bindings": [
{
"asset_id": "<string>",
"confidence": "<string>",
"subject_key": "<string>"
}
],
"resolution_diagnostics": [
{
"effective_ppi": 123,
"grade": "ready",
"message": "<string>",
"output": "<string>",
"output_inches": {
"height": 123,
"width": 123
},
"source_pixels": {
"height": 123,
"width": 123
},
"acknowledgement": {
"acknowledged_at": 123,
"policy_version": "<string>",
"reason": "<string>"
}
}
],
"revision": 2,
"status": "<string>",
"unresolved": [
"<string>"
]
}Authorizations
Batch Relay scoped API key or an anonymous Test Mode session. Scope names document required capabilities. Anonymous sessions are sandbox-only and do not authorize studio, event, billing, or Live Mode operations.
Headers
Untrusted optional analytics hint naming the calling client surface. It never affects authorization, routing, pricing, or behavior.
Required string length:
1 - 100Untrusted optional analytics hint naming the calling client version. It never affects authorization, routing, pricing, or behavior.
Required string length:
1 - 100Untrusted optional analytics hint naming the invocation mode. It never affects authorization, routing, pricing, or behavior.
Required string length:
1 - 100Path Parameters
Stable public studio ID beginning with stu_. The API never selects a studio implicitly; a local CLI profile name is not a studio ID.
Required string length:
5 - 256Pattern:
^stu_[A-Za-z0-9_-]+$Required string length:
1 - 256Body
application/json
Response
Image import
⌘I
Review an event image import
curl --request PATCH \
--url https://api.batchrelay.com/v1/studios/{studio_id}/events/{event_id}/image-imports/{import_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"expected_revision": 2,
"resolution_overrides": [
{
"effective_ppi": 123,
"output": "<string>",
"policy_version": "<string>",
"reason": "<string>"
}
]
}
'import requests
url = "https://api.batchrelay.com/v1/studios/{studio_id}/events/{event_id}/image-imports/{import_id}"
payload = {
"expected_revision": 2,
"resolution_overrides": [
{
"effective_ppi": 123,
"output": "<string>",
"policy_version": "<string>",
"reason": "<string>"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
expected_revision: 2,
resolution_overrides: [
{
effective_ppi: 123,
output: '<string>',
policy_version: '<string>',
reason: '<string>'
}
]
})
};
fetch('https://api.batchrelay.com/v1/studios/{studio_id}/events/{event_id}/image-imports/{import_id}', 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.batchrelay.com/v1/studios/{studio_id}/events/{event_id}/image-imports/{import_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'expected_revision' => 2,
'resolution_overrides' => [
[
'effective_ppi' => 123,
'output' => '<string>',
'policy_version' => '<string>',
'reason' => '<string>'
]
]
]),
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.batchrelay.com/v1/studios/{studio_id}/events/{event_id}/image-imports/{import_id}"
payload := strings.NewReader("{\n \"expected_revision\": 2,\n \"resolution_overrides\": [\n {\n \"effective_ppi\": 123,\n \"output\": \"<string>\",\n \"policy_version\": \"<string>\",\n \"reason\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.batchrelay.com/v1/studios/{studio_id}/events/{event_id}/image-imports/{import_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"expected_revision\": 2,\n \"resolution_overrides\": [\n {\n \"effective_ppi\": 123,\n \"output\": \"<string>\",\n \"policy_version\": \"<string>\",\n \"reason\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.batchrelay.com/v1/studios/{studio_id}/events/{event_id}/image-imports/{import_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"expected_revision\": 2,\n \"resolution_overrides\": [\n {\n \"effective_ppi\": 123,\n \"output\": \"<string>\",\n \"policy_version\": \"<string>\",\n \"reason\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"duplicates": [
"<string>"
],
"id": "<string>",
"missing_files": [
"<string>"
],
"proposed_bindings": [
{
"asset_id": "<string>",
"confidence": "<string>",
"subject_key": "<string>"
}
],
"resolution_diagnostics": [
{
"effective_ppi": 123,
"grade": "ready",
"message": "<string>",
"output": "<string>",
"output_inches": {
"height": 123,
"width": 123
},
"source_pixels": {
"height": 123,
"width": 123
},
"acknowledgement": {
"acknowledged_at": 123,
"policy_version": "<string>",
"reason": "<string>"
}
}
],
"revision": 2,
"status": "<string>",
"unresolved": [
"<string>"
]
}