API Documentation
Overview
Python SDK Reference
End to End example
List custom tools
Get a custom tool
Create a custom tool
Update a custom tool
Delete a custom tool
Create a source upload
Build a custom tool
List build logs
Cancel a custom tool build
Run a custom tool
Publish a custom tool version
List custom tool versions
Create a custom tool
/api/custom-toolsCreate a custom tool in Draft status.
This creates the tool record only. Upload its source and build a version in separate requests.
client.custom_tools.create(name, display_name=...)Parameters
cpubodyintegerNumber of CPU cores allocated to each run. Defaults to 1.
descriptionbodystringShort explanation of the tool. Defaults to an empty string.
displayNamebodystringHuman-readable name shown in the UI. Defaults to an empty string.
gpuTypebody"None" | "T4" | "L4" | "L40S" | "A10" | "A100"GPU allocated to each run: "None", T4, L4, L40S, A10, or A100. Defaults to "None".
memorybody"8Gi" | "12Gi" | "24Gi" | "32Gi" | "48Gi" | "64Gi" | "90Gi" | "96Gi" | "180Gi"Memory allocated to each run. Defaults to "8Gi".
namebodystringrequiredA unique lowercase name containing letters, numbers, and hyphens.
Optional fields
Blank by default — enter a value to add the field to the request example.cpudescriptiondisplayNamegpuTypememoryHTTP Response Status Codes
| Status code | Description |
|---|---|
| 201 | The created Tool. |
| 401 | API key missing or invalid. |
| 422 | The request was malformed or failed validation; see `errors` for the offending fields. |
1import requests
2
3api_key = "***************"
4url = "https://app.tamarind.bio/api/custom-tools"
5headers = {"x-api-key": api_key}
6
7payload = {
8 "name": "string"
9}
10resp = requests.post(url, headers=headers, json=payload)
11print(resp.status_code, resp.json())Response
1{
2 "autoPublish": false,
3 "canBuild": false,
4 "canEdit": false,
5 "cpu": 0,
6 "createdAt": "string",
7 "defaultVersion": "string",
8 "description": "string",
9 "displayName": "string",
10 "estTime": "string",
11 "functions": [
12 "string"
13 ],
14 "gpuType": "None",
15 "hasSource": false,
16 "homeDiskGi": 0,
17 "maxRuntimeSeconds": 0,
18 "memory": "8Gi",
19 "name": "string",
20 "paperUrl": "string",
21 "published": false,
22 "status": "Draft",
23 "tags": [
24 "string"
25 ],
26 "updatedAt": "string"
27}