Jobs

Submit multiple jobs as a batch

Submit multiple jobs in a single request for batch processing.

Bounded by a 30,000-JOB cap and, separately, by the API-wide ~4.5 MB request cap. Which binds first depends on the tool. Jobs are counted AFTER design fan-out, so for a tool with a numDesigns-style field one row becomes many jobs and a small body can reach 30,000; for a tool without one a row is a job, and the size cap is usually what stops you, since 30,000 rows would have to average about 150 bytes each. Compare against the EXPANDED job count, not the row count.

post/api/submit-batch

Request

  • Base URL: https://app.tamarind.bio
  • URL: https://app.tamarind.bio/api/submit-batch
  • Auth: API key in header x-api-key

Request body

submitIdstring

Protein Solubilization requires one new UUID per intent; reuse it with the unchanged request for retries.

batchNamestring required

Name for the batch, unique within your account. A batch name is held by a lock for 15 minutes after submission, so reusing one within that window returns 409. A batch name that is empty after normalization is rejected with 400.

typestring required

Tool to run for every job in the batch.

settingsSettings[] required(unresolved $ref)

One settings object per job — the array form is what distinguishes this endpoint from /submit-job. See JobSubmission.settings for where the per-tool shape comes from.

versionVersion (unresolved $ref)
modelIdModelId (unresolved $ref)
modelNameModelName (unresolved $ref)
jobNamesJobName[] (unresolved $ref)

Optional names, the same length as settings. Omit to have jobs auto-named. If any name collides with an existing job, every name is rewritten as {batchName}-{name}. No stored name may equal the batch's own name. The batch is itself a job under that name, so the two would collide and the batch could never finish; such a submission is rejected with 400.

projectTagstring

An organization project to tag the job(s) with — its project id, or its name. Applies to the whole batch on /submit-batch, and to every job a pipeline creates on /submit-pipeline. Usually optional. It is REQUIRED when your organization has turned on "require a project tag": those accounts get 400 on any submission that does not resolve to an ORGANIZATION project (a personal project does not satisfy the policy). That 400 body carries availableProjects — the projects you may use — so you can retry without looking them up elsewhere.

repoOverridesobject

Tamarind staff on the staging deployment only. Pins the tamarind-utils git ref every job in the batch clones at start. Every job must route to T2. Anywhere else the whole batch is refused with 403 and no jobs are created.

Response

Batch submitted successfully. An ordinary batch returns a PLAIN TEXT body, <batchName> batch submitted to queue. Protein Solubilization accepts at most 500 exact named rows with prepared inputs and one submitId; it returns NativeSubmissionResponse without a parent or name prefixes. Retry the entire unchanged request after partial handoff.

successboolean required

True only when every expected run handoff is accepted.

startedVia'pipeline' required
resultsobject[] required

Changes

No recorded changes to this operation across all 1 revision of this API.