Skip to content

Custom Tools

List Custom Tools

List custom tools for the organization.

Omit limit to get every tool; total is the full count either way.

Parameters

NameInTypeRequiredDescription
limitqueryintegernoMax rows to return (1-100). Omit to return every row.
offsetqueryintegernoRows to skip — pass the previous response’s next_offset.
org_idpathstring (uuid)yes
project_idquerystringnoFilter by project id, or ‘none’ for uncategorized tools.

Responses

StatusDescriptionBody
200Successful ResponsePage_CustomToolResponse_
422Validation ErrorHTTPValidationError

Create Custom Tool

Create a new custom tool. Requires admin/owner role.

Parameters

NameInTypeRequiredDescription
org_idpathstring (uuid)yes

Request body (required)

FieldTypeRequiredDescription
env_varsstring[]no
namestringyes
source_codestringyes
tagsstring[]no

Responses

StatusDescriptionBody
201Successful ResponseCustomToolResponse
422Validation ErrorHTTPValidationError

GET /api/orgs/{org_id}/custom-tools/{id_or_slug}

Section titled “GET /api/orgs/{org_id}/custom-tools/{id_or_slug}”

Get Custom Tool

Get a custom tool by ID or slug.

Parameters

NameInTypeRequiredDescription
id_or_slugpathstringyes
org_idpathstring (uuid)yes

Responses

StatusDescriptionBody
200Successful ResponseCustomToolResponse
422Validation ErrorHTTPValidationError

PUT /api/orgs/{org_id}/custom-tools/{id_or_slug}

Section titled “PUT /api/orgs/{org_id}/custom-tools/{id_or_slug}”

Update Custom Tool

Update a custom tool. Requires admin/owner role.

Parameters

NameInTypeRequiredDescription
id_or_slugpathstringyes
org_idpathstring (uuid)yes

Request body (required)

FieldTypeRequiredDescription
env_varsstring[]no
is_enabledbooleanno
namestringno
source_codestringno
tagsstring[]no

Responses

StatusDescriptionBody
200Successful ResponseCustomToolResponse
422Validation ErrorHTTPValidationError

DELETE /api/orgs/{org_id}/custom-tools/{id_or_slug}

Section titled “DELETE /api/orgs/{org_id}/custom-tools/{id_or_slug}”

Delete Custom Tool

Delete a custom tool. Requires admin/owner role.

Parameters

NameInTypeRequiredDescription
id_or_slugpathstringyes
org_idpathstring (uuid)yes

Responses

StatusDescriptionBody
204Successful Response
422Validation ErrorHTTPValidationError

GET /api/orgs/{org_id}/custom-tools/{id_or_slug}/runs

Section titled “GET /api/orgs/{org_id}/custom-tools/{id_or_slug}/runs”

List Tool Runs

List recent runs for a custom tool.

Parameters

NameInTypeRequiredDescription
id_or_slugpathstringyes
limitqueryintegerno
offsetqueryintegerno
org_idpathstring (uuid)yes

Responses

StatusDescriptionBody
200Successful ResponseCustomToolRunResponse[]
422Validation ErrorHTTPValidationError

GET /api/orgs/{org_id}/custom-tools/{id_or_slug}/runs/{run_id}

Section titled “GET /api/orgs/{org_id}/custom-tools/{id_or_slug}/runs/{run_id}”

Get Tool Run

Get a specific tool run by ID.

Parameters

NameInTypeRequiredDescription
id_or_slugpathstringyes
org_idpathstring (uuid)yes
run_idpathstring (uuid)yes

Responses

StatusDescriptionBody
200Successful ResponseCustomToolRunResponse
422Validation ErrorHTTPValidationError

POST /api/orgs/{org_id}/custom-tools/{tool_id}/execute

Section titled “POST /api/orgs/{org_id}/custom-tools/{tool_id}/execute”

Execute Custom Tool

Execute a custom tool directly with provided arg bindings. Requires admin/owner role.

Parameters

NameInTypeRequiredDescription
org_idpathstring (uuid)yes
tool_idpathstring (uuid)yes

Request body (required)

FieldTypeRequiredDescription
arg_bindingsobjectno

Responses

StatusDescriptionBody
200Successful ResponseCustomToolRunResponse
422Validation ErrorHTTPValidationError

POST /api/orgs/{org_id}/custom-tools/validate

Section titled “POST /api/orgs/{org_id}/custom-tools/validate”

Validate Source

Validate Python source code without saving. Requires admin/owner role.

Parameters

NameInTypeRequiredDescription
org_idpathstring (uuid)yes

Request body (required)

FieldTypeRequiredDescription
env_varsstring[]no
source_codestringyes

Responses

StatusDescriptionBody
200Successful ResponseValidateSourceResponse
422Validation ErrorHTTPValidationError