Submit Job Route
POST
/v1/templates/forge/jobs
const url = 'http://localhost:8080/v1/templates/forge/jobs';const form = new FormData();form.append('body', 'example');form.append('files', 'example');form.append('ground_truth', 'example');
const options = {method: 'POST'};
options.body = form;
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url http://localhost:8080/v1/templates/forge/jobs \ --header 'Content-Type: multipart/form-data' \ --form body=example \ --form files=example \ --form ground_truth=exampleSubmit a forge job.
Multipart form parts:
body— JSON object with the non-corpus fields (fork_name, starter, schema_evolution_policy, caps, etc.).files[]— repeated UploadFile parts for the corpus.ground_truth— UploadFile carrying the GT JSON object.
The split into multipart parts is forced by FastAPI’s design: you can’t combine JSON and file uploads in one request body without the multipart wrapping.
Request Body required
Section titled “Request Body required ” Media type multipart/form-data
Body_submit_job_route_v1_templates_forge_jobs_post
object
body
required
Body
string
files
required
Files
Array<string>
ground_truth
required
Ground Truth
string
Responses
Section titled “ Responses ”Successful Response
Media type application/json
Response Submit Job Route V1 Templates Forge Jobs Post
object
key
additional properties
any
Example generated
{}Validation Error
Media type application/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationErrorobject
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Example generated
{ "detail": [ { "loc": [ "example" ], "msg": "example", "type": "example", "input": "example", "ctx": {} } ]}