curl --request GET \
--url https://api.benchgen.com/api/competitions/{id}/bundle_manifest/import requests
url = "https://api.benchgen.com/api/competitions/{id}/bundle_manifest/"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.benchgen.com/api/competitions/{id}/bundle_manifest/', 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.benchgen.com/api/competitions/{id}/bundle_manifest/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.benchgen.com/api/competitions/{id}/bundle_manifest/"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.benchgen.com/api/competitions/{id}/bundle_manifest/")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.benchgen.com/api/competitions/{id}/bundle_manifest/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"competition_yaml": "<string>",
"files": {},
"logo": "<string>",
"binary_files": {}
}Get a benchmark bundle manifest
The competition.yaml this benchmark would be described by, plus every file it names: its pages, its terms and its logo. Together with the four task files from task_files, that is a complete bundle, which is what makes a saved copy something create_from_repo can build from. Without it a saved folder holds a benchmark’s files but not its settings, and cannot be created from at all. No zip is returned: the heavy parts already come down through their own download links, so sending them again here would double the traffic to say nothing new. Requires the benchmark:read scope, and the caller must be the creator or a collaborator. The manifest always names an image, terms and at least one page, with stand-ins where the benchmark has none, so a folder written from this answer passes the same checks an upload does.
curl --request GET \
--url https://api.benchgen.com/api/competitions/{id}/bundle_manifest/import requests
url = "https://api.benchgen.com/api/competitions/{id}/bundle_manifest/"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.benchgen.com/api/competitions/{id}/bundle_manifest/', 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.benchgen.com/api/competitions/{id}/bundle_manifest/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.benchgen.com/api/competitions/{id}/bundle_manifest/"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.benchgen.com/api/competitions/{id}/bundle_manifest/")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.benchgen.com/api/competitions/{id}/bundle_manifest/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"competition_yaml": "<string>",
"files": {},
"logo": "<string>",
"binary_files": {}
}competition.yaml this benchmark would be described by, plus the text
files it names.
Together with the four task files from list benchmark
files, that is a complete
bundle. Which matters more than it sounds: competition.yaml sits in the root
of a bundle and names everything else, so a saved copy without it holds a
benchmark’s files but not its settings, and create from
repository cannot read it at
all.
No zip, on purpose
The scoring program, ingestion program, questions and answers already come down through their own download links. Sending them again here would double the traffic to say nothing new. What this returns is the text that has nowhere else to come from.Path Parameters
Response
The manifest and the files it names.
Write this to competition.yaml in the folder root.
Text files the manifest names, path to contents: the pages and the terms. Always includes terms and at least one page, because the upload refuses a bundle without them.
The path of the image the manifest names; its bytes are in binary_files.
Binary files the manifest names, path to base64 contents. Holds the logo: the benchmark’s own, or the BenchGen mark when it has none, because the upload refuses a bundle without an image.