Prediction Create
curl --request POST \
--url https://api.example.com/v2/{entity}/{project}/predictions \
--header 'Content-Type: application/json' \
--data '
{
"model": "<string>",
"inputs": {},
"output": "<unknown>",
"evaluation_run_id": "<string>",
"genai_span_ref": [
{
"trace_id": "<string>",
"span_id": "<string>"
}
]
}
'import requests
url = "https://api.example.com/v2/{entity}/{project}/predictions"
payload = {
"model": "<string>",
"inputs": {},
"output": "<unknown>",
"evaluation_run_id": "<string>",
"genai_span_ref": [
{
"trace_id": "<string>",
"span_id": "<string>"
}
]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
model: '<string>',
inputs: {},
output: '<unknown>',
evaluation_run_id: '<string>',
genai_span_ref: [{trace_id: '<string>', span_id: '<string>'}]
})
};
fetch('https://api.example.com/v2/{entity}/{project}/predictions', 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.example.com/v2/{entity}/{project}/predictions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model' => '<string>',
'inputs' => [
],
'output' => '<unknown>',
'evaluation_run_id' => '<string>',
'genai_span_ref' => [
[
'trace_id' => '<string>',
'span_id' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"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.example.com/v2/{entity}/{project}/predictions"
payload := strings.NewReader("{\n \"model\": \"<string>\",\n \"inputs\": {},\n \"output\": \"<unknown>\",\n \"evaluation_run_id\": \"<string>\",\n \"genai_span_ref\": [\n {\n \"trace_id\": \"<string>\",\n \"span_id\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
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.post("https://api.example.com/v2/{entity}/{project}/predictions")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"<string>\",\n \"inputs\": {},\n \"output\": \"<unknown>\",\n \"evaluation_run_id\": \"<string>\",\n \"genai_span_ref\": [\n {\n \"trace_id\": \"<string>\",\n \"span_id\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v2/{entity}/{project}/predictions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"<string>\",\n \"inputs\": {},\n \"output\": \"<unknown>\",\n \"evaluation_run_id\": \"<string>\",\n \"genai_span_ref\": [\n {\n \"trace_id\": \"<string>\",\n \"span_id\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"prediction_id": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Prediction Create
Create a prediction.
POST
/
v2
/
{entity}
/
{project}
/
predictions
Prediction Create
curl --request POST \
--url https://api.example.com/v2/{entity}/{project}/predictions \
--header 'Content-Type: application/json' \
--data '
{
"model": "<string>",
"inputs": {},
"output": "<unknown>",
"evaluation_run_id": "<string>",
"genai_span_ref": [
{
"trace_id": "<string>",
"span_id": "<string>"
}
]
}
'import requests
url = "https://api.example.com/v2/{entity}/{project}/predictions"
payload = {
"model": "<string>",
"inputs": {},
"output": "<unknown>",
"evaluation_run_id": "<string>",
"genai_span_ref": [
{
"trace_id": "<string>",
"span_id": "<string>"
}
]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
model: '<string>',
inputs: {},
output: '<unknown>',
evaluation_run_id: '<string>',
genai_span_ref: [{trace_id: '<string>', span_id: '<string>'}]
})
};
fetch('https://api.example.com/v2/{entity}/{project}/predictions', 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.example.com/v2/{entity}/{project}/predictions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model' => '<string>',
'inputs' => [
],
'output' => '<unknown>',
'evaluation_run_id' => '<string>',
'genai_span_ref' => [
[
'trace_id' => '<string>',
'span_id' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"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.example.com/v2/{entity}/{project}/predictions"
payload := strings.NewReader("{\n \"model\": \"<string>\",\n \"inputs\": {},\n \"output\": \"<unknown>\",\n \"evaluation_run_id\": \"<string>\",\n \"genai_span_ref\": [\n {\n \"trace_id\": \"<string>\",\n \"span_id\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
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.post("https://api.example.com/v2/{entity}/{project}/predictions")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"<string>\",\n \"inputs\": {},\n \"output\": \"<unknown>\",\n \"evaluation_run_id\": \"<string>\",\n \"genai_span_ref\": [\n {\n \"trace_id\": \"<string>\",\n \"span_id\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v2/{entity}/{project}/predictions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"<string>\",\n \"inputs\": {},\n \"output\": \"<unknown>\",\n \"evaluation_run_id\": \"<string>\",\n \"genai_span_ref\": [\n {\n \"trace_id\": \"<string>\",\n \"span_id\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"prediction_id": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Body
application/json
Request body for creating a Prediction via REST API.
This model excludes project_id since it comes from the URL path in RESTful endpoints.
The model reference (weave:// URI)
The inputs to the prediction
The output of the prediction
Optional evaluation run ID to link this prediction as a child call
Optional GenAI span reference(s) produced by this prediction.
Show child attributes
Show child attributes
Response
Successful Response
The prediction ID
Last modified on September 3, 2026
Was this page helpful?