Studies
Upload Concept Image
Upload a participant-facing image stimulus, up to 10 MB, to an owned study.
POST
/
api
/
public
/
v1
/
studies
/
{study_id}
/
concept-images
Upload Concept Image
curl --request POST \
--url https://api.userintuition.ai/api/public/v1/studies/{study_id}/concept-images \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: multipart/form-data' \
--form file=@example-file \
--form 'label=Concept A'import requests
url = "https://api.userintuition.ai/api/public/v1/studies/{study_id}/concept-images"
files = { "file": ("example-file", open("example-file", "rb")) }
payload = { "label": "Concept A" }
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, data=payload, files=files, headers=headers)
print(response.text)const form = new FormData();
form.append('file', '<image binary>');
form.append('label', 'Concept A');
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
options.body = form;
fetch('https://api.userintuition.ai/api/public/v1/studies/{study_id}/concept-images', 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.userintuition.ai/api/public/v1/studies/{study_id}/concept-images",
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=\"file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<image binary>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"label\"\r\n\r\nConcept A\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.userintuition.ai/api/public/v1/studies/{study_id}/concept-images"
payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<image binary>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"label\"\r\n\r\nConcept A\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.userintuition.ai/api/public/v1/studies/{study_id}/concept-images")
.header("Authorization", "Bearer <token>")
.body("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<image binary>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"label\"\r\n\r\nConcept A\r\n-----011000010111000001101001--")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.userintuition.ai/api/public/v1/studies/{study_id}/concept-images")
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=\"file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<image binary>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"label\"\r\n\r\nConcept A\r\n-----011000010111000001101001--"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"url": "<string>",
"label": "<string>"
}{
"detail": "<unknown>",
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"outcome": "not_started",
"recovery_action": "<string>",
"docs_url": "<string>"
}
}{
"detail": "<unknown>",
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"outcome": "not_started",
"recovery_action": "<string>",
"docs_url": "<string>"
}
}Authorizations
Authenticate with an API key (prefixed ui_sk_) or a JWT token from the dashboard.
Headers
Choose an organization you belong to for scoped reads, writes, and billing. Users can belong to multiple organizations. Platform administrators may select any organization in this app.
Maximum string length:
128Path Parameters
Was this page helpful?
⌘I
Upload Concept Image
curl --request POST \
--url https://api.userintuition.ai/api/public/v1/studies/{study_id}/concept-images \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: multipart/form-data' \
--form file=@example-file \
--form 'label=Concept A'import requests
url = "https://api.userintuition.ai/api/public/v1/studies/{study_id}/concept-images"
files = { "file": ("example-file", open("example-file", "rb")) }
payload = { "label": "Concept A" }
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, data=payload, files=files, headers=headers)
print(response.text)const form = new FormData();
form.append('file', '<image binary>');
form.append('label', 'Concept A');
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
options.body = form;
fetch('https://api.userintuition.ai/api/public/v1/studies/{study_id}/concept-images', 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.userintuition.ai/api/public/v1/studies/{study_id}/concept-images",
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=\"file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<image binary>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"label\"\r\n\r\nConcept A\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.userintuition.ai/api/public/v1/studies/{study_id}/concept-images"
payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<image binary>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"label\"\r\n\r\nConcept A\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.userintuition.ai/api/public/v1/studies/{study_id}/concept-images")
.header("Authorization", "Bearer <token>")
.body("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<image binary>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"label\"\r\n\r\nConcept A\r\n-----011000010111000001101001--")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.userintuition.ai/api/public/v1/studies/{study_id}/concept-images")
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=\"file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<image binary>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"label\"\r\n\r\nConcept A\r\n-----011000010111000001101001--"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"url": "<string>",
"label": "<string>"
}{
"detail": "<unknown>",
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"outcome": "not_started",
"recovery_action": "<string>",
"docs_url": "<string>"
}
}{
"detail": "<unknown>",
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"outcome": "not_started",
"recovery_action": "<string>",
"docs_url": "<string>"
}
}
