API Documentation
    Setup

    Overview

    Overview and rate limits

    API Key

    Setup, limits, and trial keys

    MCP Server

    Connect AI assistants to Tamarind tools

    SDK

    The tamarind Python library — jobs, tools, and files

    CLI

    Run Tamarind from your terminal, scripts, or agents
    GET

    View available tools and configurations

    Submit Jobs
    POST

    Submit individual jobs

    POST

    Submit batch jobs

    POST

    Validate job settings

    Job Management
    File Management
    Pipelines
    Custom Tools
    Finetuning
    Assays

Validate Job

POST/api/validate-job

The POST API endpoint /validate-job runs the same validation as /submit-job, but without submitting the job and at no cost. Use it as a pre-flight check before /submit-job: send the type and settings you plan to submit, and it reports whether the payload is valid, and if not, which fields are missing or wrong.

Parameters:

type

(string, required)

The tool name to validate against, for example "esmfold". Use a name from GET /tools.

settings

(object or array, required)

The settings object you plan to submit. Keys must match the tool's schema. To validate a batch, pass an array of settings objects, up to 1000 per request.

jobName

(string, optional)

If provided, validate-job also checks that the name is not already taken, so you can catch the conflict before submitting.

jobNames

(array, optional)

Batch only. One name per settings object, as you would pass to /submit-batch.

Reading the response: the request returns 200; check the valid field. When valid is true, normalized is your settings with defaults filled in, ready to pass straight to /submit-job. When valid is false, error is the first problem to fix; fix it and validate again until it passes. missing_fields lists required inputs still needed (each with an example), but can be empty when the validator stops at the first error. For a batch, results has one verdict per settings object, in order, and valid is true only if all of them passed.

HTTP Response Status Codes
Status codeDescription
200Validation ran - read the "valid" field in the response body
400Missing or incorrect API key
405Method not allowed
1import requests
2
3api_key = "insert-api-key-here"
4headers = {'x-api-key': api_key}
5base_url = "https://app.tamarind.bio/api/"
6
7# Same "type" and "settings" you plan to submit. Keys must match the tool's
8# schema from GET /tools. To validate a batch, pass a list of settings instead.
9params = {
10    "type": "esmfold",
11    "settings": {
12        "sequence": "MKTAYIAKQRQISFVKSHFSRQLEERLGLIEVQ"
13    }
14}
15result = requests.post(base_url + "validate-job", headers=headers, json=params).json()
16
17if result["valid"]:
18    # result["normalized"] is exactly what to submit (defaults filled in)
19    requests.post(base_url + "submit-job", headers=headers, json={
20        "jobName": "myJobName",
21        "type": params["type"],
22        "settings": result["normalized"],
23    })
24else:
25    print(result["error"])
26    print([f["name"] for f in result.get("missing_fields", [])])
Response Format
1{
2  "valid": true,
3  "normalized": {
4    "sequence": "MKTAYIAKQRQISFVKSHFSRQLEERLGLIEVQ"
5  },
6  "source": "tools-v2-global"
7}