custom-tools

Build a custom tool

Build a version from an uploaded source archive.

The archive also updates the tool's editable source and configuration. Optionally send the Tool etag field from the Get tool JSON body to reject concurrent edits. Without it, the current tool is updated. Returns immediately with the new or reused version and its current status.

post/api/custom-tools/{name}/build

Request

  • Base URL: https://app.tamarind.bio
  • URL: https://app.tamarind.bio/api/custom-tools/{name}/build
  • Auth: API key in header x-api-key

Path parameters

namestring required

The custom tool name.

Headers

Idempotency-Keystring nullable

Retries the same build request without admitting duplicate work. Reusing a key with different source or runtime facts returns 409 Conflict.

If-Matchstring

Optional: send the etag field returned in the Get tool JSON body, including its quotes, to avoid overwriting changes made since that read. Standard If-Match lists and * are also accepted; * checks only that the tool exists. Without this header, changes apply to the current tool state and may overwrite concurrent edits.

Request body

expectedSourceDigeststring nullable

Optional SHA-256 assertion, formatted as sha256:<hex>. The server always computes the digest. If supplied, a mismatch rejects the build. Without it, the server builds the uploaded bytes it reads.

uploadIdstring required

The uploadId returned when the source upload was created.

Response

The admitted Version.

action'build' | 'reuse_image' | 'unchanged' required

What happened: build started a new image build, reuse_image created a version from the current image, and unchanged returned the version already associated with this source.

Changes

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