Update Experiment
curl --request PATCH \
--url https://api.heybee.app/v1/experiments/{experiment_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"allow_playback_speed": true,
"allow_public_voting": true,
"comparison_policy": {
"anchor_rotation": true,
"coverage_strategy": "balanced_edges",
"pairing_scope": "cross_candidate_all",
"require_distinct_candidates": true,
"require_same_anchor": true
},
"description": "<string>",
"enforce_playback": true,
"is_active": true,
"is_discoverable": true,
"is_public_readable": true,
"min_playback_percent": 50,
"min_viewing_seconds": 1,
"name": "<string>",
"require_feedback": true,
"requires_anchor": true
}
'import requests
url = "https://api.heybee.app/v1/experiments/{experiment_id}"
payload = {
"allow_playback_speed": True,
"allow_public_voting": True,
"comparison_policy": {
"anchor_rotation": True,
"coverage_strategy": "balanced_edges",
"pairing_scope": "cross_candidate_all",
"require_distinct_candidates": True,
"require_same_anchor": True
},
"description": "<string>",
"enforce_playback": True,
"is_active": True,
"is_discoverable": True,
"is_public_readable": True,
"min_playback_percent": 50,
"min_viewing_seconds": 1,
"name": "<string>",
"require_feedback": True,
"requires_anchor": True
}
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({
allow_playback_speed: true,
allow_public_voting: true,
comparison_policy: {
anchor_rotation: true,
coverage_strategy: 'balanced_edges',
pairing_scope: 'cross_candidate_all',
require_distinct_candidates: true,
require_same_anchor: true
},
description: '<string>',
enforce_playback: true,
is_active: true,
is_discoverable: true,
is_public_readable: true,
min_playback_percent: 50,
min_viewing_seconds: 1,
name: '<string>',
require_feedback: true,
requires_anchor: true
})
};
fetch('https://api.heybee.app/v1/experiments/{experiment_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.heybee.app/v1/experiments/{experiment_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([
'allow_playback_speed' => true,
'allow_public_voting' => true,
'comparison_policy' => [
'anchor_rotation' => true,
'coverage_strategy' => 'balanced_edges',
'pairing_scope' => 'cross_candidate_all',
'require_distinct_candidates' => true,
'require_same_anchor' => true
],
'description' => '<string>',
'enforce_playback' => true,
'is_active' => true,
'is_discoverable' => true,
'is_public_readable' => true,
'min_playback_percent' => 50,
'min_viewing_seconds' => 1,
'name' => '<string>',
'require_feedback' => true,
'requires_anchor' => true
]),
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.heybee.app/v1/experiments/{experiment_id}"
payload := strings.NewReader("{\n \"allow_playback_speed\": true,\n \"allow_public_voting\": true,\n \"comparison_policy\": {\n \"anchor_rotation\": true,\n \"coverage_strategy\": \"balanced_edges\",\n \"pairing_scope\": \"cross_candidate_all\",\n \"require_distinct_candidates\": true,\n \"require_same_anchor\": true\n },\n \"description\": \"<string>\",\n \"enforce_playback\": true,\n \"is_active\": true,\n \"is_discoverable\": true,\n \"is_public_readable\": true,\n \"min_playback_percent\": 50,\n \"min_viewing_seconds\": 1,\n \"name\": \"<string>\",\n \"require_feedback\": true,\n \"requires_anchor\": true\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.heybee.app/v1/experiments/{experiment_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"allow_playback_speed\": true,\n \"allow_public_voting\": true,\n \"comparison_policy\": {\n \"anchor_rotation\": true,\n \"coverage_strategy\": \"balanced_edges\",\n \"pairing_scope\": \"cross_candidate_all\",\n \"require_distinct_candidates\": true,\n \"require_same_anchor\": true\n },\n \"description\": \"<string>\",\n \"enforce_playback\": true,\n \"is_active\": true,\n \"is_discoverable\": true,\n \"is_public_readable\": true,\n \"min_playback_percent\": 50,\n \"min_viewing_seconds\": 1,\n \"name\": \"<string>\",\n \"require_feedback\": true,\n \"requires_anchor\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.heybee.app/v1/experiments/{experiment_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 \"allow_playback_speed\": true,\n \"allow_public_voting\": true,\n \"comparison_policy\": {\n \"anchor_rotation\": true,\n \"coverage_strategy\": \"balanced_edges\",\n \"pairing_scope\": \"cross_candidate_all\",\n \"require_distinct_candidates\": true,\n \"require_same_anchor\": true\n },\n \"description\": \"<string>\",\n \"enforce_playback\": true,\n \"is_active\": true,\n \"is_discoverable\": true,\n \"is_public_readable\": true,\n \"min_playback_percent\": 50,\n \"min_viewing_seconds\": 1,\n \"name\": \"<string>\",\n \"require_feedback\": true,\n \"requires_anchor\": true\n}"
response = http.request(request)
puts response.read_body{
"anchor_field": "<string>",
"comparison_policy": {},
"created_at": "2023-11-07T05:31:56Z",
"description": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"is_active": true,
"kind": "simple",
"name": "<string>",
"objective": "benchmark",
"parameter_schema": [
{}
],
"team_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "image",
"updated_at": "2023-11-07T05:31:56Z",
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workspace_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"access_role": "owner",
"access_scope": "personal",
"allow_playback_speed": false,
"allow_public_voting": false,
"anchor_values": [
"<string>"
],
"axes": [
{}
],
"budget_cap_credits": 123,
"budget_remaining_credits": 123,
"budget_spent_credits": 0,
"can_manage_experiment": false,
"can_run_experiment": false,
"can_view_analysis": false,
"can_view_api": false,
"can_view_votes": false,
"confidence_score": 0,
"enforce_playback": false,
"is_discoverable": false,
"is_public_readable": false,
"min_playback_percent": 0,
"min_viewing_seconds": 0,
"policy_version": "v1",
"purchased_comparisons": 0,
"readiness_errors": [
{}
],
"readiness_state": "ready",
"remaining_comparisons": 0,
"require_feedback": false,
"requires_anchor": true,
"rlhf_policy": {
"budget_cap_credits": 1,
"collection_mode": "pairwise",
"participant_notes": "<string>",
"queue": {
"max_concurrent_assignments": 1,
"strategy": "balanced"
},
"round": {
"max_rounds": 5000,
"min_decisive_pairs_per_axis": 50
},
"version": 1
},
"sample_count": 0,
"score_count": 0,
"servable_pair_count": 0,
"status": "paused",
"team_member_count": 0,
"team_name": "<string>",
"total_votes": 0,
"used_comparisons": 0,
"vote_cost_credits": 1
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Experiments
Update Experiment
Update an experiment.
PATCH
/
v1
/
experiments
/
{experiment_id}
Update Experiment
curl --request PATCH \
--url https://api.heybee.app/v1/experiments/{experiment_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"allow_playback_speed": true,
"allow_public_voting": true,
"comparison_policy": {
"anchor_rotation": true,
"coverage_strategy": "balanced_edges",
"pairing_scope": "cross_candidate_all",
"require_distinct_candidates": true,
"require_same_anchor": true
},
"description": "<string>",
"enforce_playback": true,
"is_active": true,
"is_discoverable": true,
"is_public_readable": true,
"min_playback_percent": 50,
"min_viewing_seconds": 1,
"name": "<string>",
"require_feedback": true,
"requires_anchor": true
}
'import requests
url = "https://api.heybee.app/v1/experiments/{experiment_id}"
payload = {
"allow_playback_speed": True,
"allow_public_voting": True,
"comparison_policy": {
"anchor_rotation": True,
"coverage_strategy": "balanced_edges",
"pairing_scope": "cross_candidate_all",
"require_distinct_candidates": True,
"require_same_anchor": True
},
"description": "<string>",
"enforce_playback": True,
"is_active": True,
"is_discoverable": True,
"is_public_readable": True,
"min_playback_percent": 50,
"min_viewing_seconds": 1,
"name": "<string>",
"require_feedback": True,
"requires_anchor": True
}
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({
allow_playback_speed: true,
allow_public_voting: true,
comparison_policy: {
anchor_rotation: true,
coverage_strategy: 'balanced_edges',
pairing_scope: 'cross_candidate_all',
require_distinct_candidates: true,
require_same_anchor: true
},
description: '<string>',
enforce_playback: true,
is_active: true,
is_discoverable: true,
is_public_readable: true,
min_playback_percent: 50,
min_viewing_seconds: 1,
name: '<string>',
require_feedback: true,
requires_anchor: true
})
};
fetch('https://api.heybee.app/v1/experiments/{experiment_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.heybee.app/v1/experiments/{experiment_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([
'allow_playback_speed' => true,
'allow_public_voting' => true,
'comparison_policy' => [
'anchor_rotation' => true,
'coverage_strategy' => 'balanced_edges',
'pairing_scope' => 'cross_candidate_all',
'require_distinct_candidates' => true,
'require_same_anchor' => true
],
'description' => '<string>',
'enforce_playback' => true,
'is_active' => true,
'is_discoverable' => true,
'is_public_readable' => true,
'min_playback_percent' => 50,
'min_viewing_seconds' => 1,
'name' => '<string>',
'require_feedback' => true,
'requires_anchor' => true
]),
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.heybee.app/v1/experiments/{experiment_id}"
payload := strings.NewReader("{\n \"allow_playback_speed\": true,\n \"allow_public_voting\": true,\n \"comparison_policy\": {\n \"anchor_rotation\": true,\n \"coverage_strategy\": \"balanced_edges\",\n \"pairing_scope\": \"cross_candidate_all\",\n \"require_distinct_candidates\": true,\n \"require_same_anchor\": true\n },\n \"description\": \"<string>\",\n \"enforce_playback\": true,\n \"is_active\": true,\n \"is_discoverable\": true,\n \"is_public_readable\": true,\n \"min_playback_percent\": 50,\n \"min_viewing_seconds\": 1,\n \"name\": \"<string>\",\n \"require_feedback\": true,\n \"requires_anchor\": true\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.heybee.app/v1/experiments/{experiment_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"allow_playback_speed\": true,\n \"allow_public_voting\": true,\n \"comparison_policy\": {\n \"anchor_rotation\": true,\n \"coverage_strategy\": \"balanced_edges\",\n \"pairing_scope\": \"cross_candidate_all\",\n \"require_distinct_candidates\": true,\n \"require_same_anchor\": true\n },\n \"description\": \"<string>\",\n \"enforce_playback\": true,\n \"is_active\": true,\n \"is_discoverable\": true,\n \"is_public_readable\": true,\n \"min_playback_percent\": 50,\n \"min_viewing_seconds\": 1,\n \"name\": \"<string>\",\n \"require_feedback\": true,\n \"requires_anchor\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.heybee.app/v1/experiments/{experiment_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 \"allow_playback_speed\": true,\n \"allow_public_voting\": true,\n \"comparison_policy\": {\n \"anchor_rotation\": true,\n \"coverage_strategy\": \"balanced_edges\",\n \"pairing_scope\": \"cross_candidate_all\",\n \"require_distinct_candidates\": true,\n \"require_same_anchor\": true\n },\n \"description\": \"<string>\",\n \"enforce_playback\": true,\n \"is_active\": true,\n \"is_discoverable\": true,\n \"is_public_readable\": true,\n \"min_playback_percent\": 50,\n \"min_viewing_seconds\": 1,\n \"name\": \"<string>\",\n \"require_feedback\": true,\n \"requires_anchor\": true\n}"
response = http.request(request)
puts response.read_body{
"anchor_field": "<string>",
"comparison_policy": {},
"created_at": "2023-11-07T05:31:56Z",
"description": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"is_active": true,
"kind": "simple",
"name": "<string>",
"objective": "benchmark",
"parameter_schema": [
{}
],
"team_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "image",
"updated_at": "2023-11-07T05:31:56Z",
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workspace_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"access_role": "owner",
"access_scope": "personal",
"allow_playback_speed": false,
"allow_public_voting": false,
"anchor_values": [
"<string>"
],
"axes": [
{}
],
"budget_cap_credits": 123,
"budget_remaining_credits": 123,
"budget_spent_credits": 0,
"can_manage_experiment": false,
"can_run_experiment": false,
"can_view_analysis": false,
"can_view_api": false,
"can_view_votes": false,
"confidence_score": 0,
"enforce_playback": false,
"is_discoverable": false,
"is_public_readable": false,
"min_playback_percent": 0,
"min_viewing_seconds": 0,
"policy_version": "v1",
"purchased_comparisons": 0,
"readiness_errors": [
{}
],
"readiness_state": "ready",
"remaining_comparisons": 0,
"require_feedback": false,
"requires_anchor": true,
"rlhf_policy": {
"budget_cap_credits": 1,
"collection_mode": "pairwise",
"participant_notes": "<string>",
"queue": {
"max_concurrent_assignments": 1,
"strategy": "balanced"
},
"round": {
"max_rounds": 5000,
"min_decisive_pairs_per_axis": 50
},
"version": 1
},
"sample_count": 0,
"score_count": 0,
"servable_pair_count": 0,
"status": "paused",
"team_member_count": 0,
"team_name": "<string>",
"total_votes": 0,
"used_comparisons": 0,
"vote_cost_credits": 1
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
BearerAuthApiKeyAuth
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
application/json
Request to update an experiment.
Pairing policy contract for objective-specific serving rules.
Show child attributes
Show child attributes
Required range:
0 <= x <= 100Required range:
x >= 0Required string length:
1 - 255User-facing objective for experiment behavior.
Available options:
benchmark, optimization, rlhf_loop Lifecycle state for experiment operations.
Available options:
draft, active, paused, completed, archived Response
Successful Response
Experiment response.
Kinds of experiments (extensible).
Available options:
simple, advanced User-facing objective for experiment behavior.
Available options:
benchmark, optimization, rlhf_loop Types of experiments.
Available options:
image, audio, text, video Available options:
owner, manager, collaborator, voter Available options:
personal, team Readiness state for serving pairs.
Available options:
draft, ready, invalid, blocked Show child attributes
Show child attributes
Lifecycle state for experiment operations.
Available options:
draft, active, paused, completed, archived 
