V1/tool
The ID of the tool to retrieve.
[]
Whether the tools are deprecated.
The fields to sort the versions by. Supported fields are name
and deprecated
. Specify a +
before the field name to indicate ascending sorting and -
for descending sorting. Multiple fields can be specified to break ties.
[]
The tags of the simulation personas. Must be specified using the syntax key:value
, which means to match all sets with the given key
and value
pair among its tags. If value
is *
, it means the value
does not matter. If value
is empty, it matches against when the value is None
.
[]
The maximum number of tools to return.
10
The continuation token from the previous request used to retrieve the next page of tools.
0
The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.
[]
GET /v1/{organization}/tool/ HTTP/1.1
Host: api.amigo.ai
Authorization: Bearer JWT
Accept: */*
{
"tools": [
{
"id": "text",
"org_id": "text",
"name": "text",
"description": "text",
"deprecated": true,
"envvars": [
"text"
],
"secret_envvars": [
"text"
],
"tags": [
{
"key": "text",
"value": "text"
}
]
}
],
"has_more": true,
"continuation_token": null,
"filter_values": {
"tags": [
"text"
]
}
}
Create a new tool. The tool will not contain any versions initially so is not usable until at least one version is published.
Permissions
This endpoint requires the following permissions:
Tool:CreateTool
for the tool to create.
The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.
[]
The name of the tool. It must be unique among all non-deprecated tools in the organization.
^[a-z0-9_]+$
A description of the tool.
POST /v1/{organization}/tool/ HTTP/1.1
Host: api.amigo.ai
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 78
{
"name": "text",
"description": "text",
"tags": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}
{
"id": "text"
}
Deprecate tool versions that match the specified semver constraint.
Permissions
This endpoint requires the following permissions:
Tool:ModifyTool
on the tool whose versions to deprecate.
The ID of the tool to deprecate.
^[a-f0-9]{24}$
A semver constraint that specifies the version to deprecate in the Python packaging specification. All versions that match this constraint will be deprecated.
The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.
[]
DELETE /v1/{organization}/tool/{tool_id}/version/{versions} HTTP/1.1
Host: api.amigo.ai
Authorization: Bearer JWT
Accept: */*
No content
Modify basic properties of a tool, such as its description and tags.
Permissions
This endpoint requires the following permissions:
Tool:ModifyTool
for the tool to modify.
The ID of the tool to modify
^[a-f0-9]{24}$
The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.
[]
A description of this tool. Only updates if not-null.
The tags of this tool. Only updates if not-null.
POST /v1/{organization}/tool/{tool_id} HTTP/1.1
Host: api.amigo.ai
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 64
{
"description": "text",
"tags": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}
No content
Deprecate the specified tool. All versions of the tool will be deprecated and the tool will no longer be used.
After the endpoint concludes, the deprecation will take around 1 minute to propagate across the system.
Permissions
This endpoint requires the following permissions:
Tool:DeleteTool
on the tool to deprecate.
The ID of the tool to deprecate.
^[a-f0-9]{24}$
The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.
[]
DELETE /v1/{organization}/tool/{tool_id} HTTP/1.1
Host: api.amigo.ai
Authorization: Bearer JWT
Accept: */*
No content
Add, update, or delete the environment variables of a tool. Environment variables must be present in the tool before any versions requiring them can be published.
You cannot delete variables that are required by non-deprecated tool versions.
Permissions
This endpoint requires the following permissions:
Tool:ModifyTool
for the tool whose environment variables to modify.
The ID of the tool to modify
^[a-f0-9]{24}$
The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.
[]
POST /v1/{organization}/tool/{tool_id}/envvar HTTP/1.1
Host: api.amigo.ai
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 132
{
"inserts": [
{
"name": "text",
"value": "text",
"is_secret": true
}
],
"updates": [
{
"name": "text",
"value": "text"
}
],
"deletes": [
{
"name": "text"
}
]
}
No content
The ID of the tool to retrieve versions for.
^[a-f0-9]{24}$
Whether the tools are deprecated.
A semver constraint that specifies the version to retrieve in the Python packaging specification. If not specified, all versions will be retrieved.
The fields to sort the versions by. Supported fields are created_at
, version.major
, version.minor
, version.patch
, and deprecated
. Specify a +
before the field name to indicate ascending sorting and -
for descending sorting. Multiple fields can be specified to break ties.
[]
The creators of the tool versions. Each value must be of the format org_id,user_id
.
[]
The maximum number of tool versions to return.
50
The continuation token from the previous request used to retrieve the next page of tool versions.
0
The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.
[]
GET /v1/{organization}/tool/{tool_id}/version HTTP/1.1
Host: api.amigo.ai
Authorization: Bearer JWT
Accept: */*
{
"tool_versions": [
{
"id": "text",
"org_id": "text",
"tool_id": "text",
"version": {
"major": 1,
"minor": 1,
"patch": 1
},
"required_envvars": [
"text"
],
"required_secret_envvars": [
"text"
],
"input_schema": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"tool_branch_name": "text",
"tool_commit_hash": "text",
"amigo_scaffold_commit_hash": "text",
"project_directory": "text",
"lambda_version": 1,
"creator": {
"user_id": "text",
"user_org_id": "text"
},
"created_at": "2025-07-26T05:36:03.778Z",
"deprecated": true
}
],
"has_more": true,
"continuation_token": null,
"filter_values": {
"creators": [
{
"user_id": "text",
"user_org_id": "text"
}
]
}
}
Publish a new version of the specified tool. After this endpoint finishes, the new version will be immediately available for use.
This endpoint will take roughly 1-5 minutes to complete, so please adjust the timeout settings of your HTTP client accordingly.
Permissions
This endpoint requires the following permissions:
Tool:ModifyTool
for the tool.
The ID of the tool to publish
^[a-f0-9]{24}$
The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.
[]
The branch of the tools repo to publish the tool version from. If team
, then it's published from the release branch of the organization's
Azure DevOps team. If main
, then it's published from the main branch of the tools repo.
The directory in the tools repo that contains the pyproject.toml
file corresponding to the tool version to publish.
^[-\w\d_/]+$
The type of bump to apply to the version. For initial version of the tool, use major
.
POST /v1/{organization}/tool/{tool_id}/version HTTP/1.1
Host: api.amigo.ai
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 59
{
"branch": "main",
"project_path": "text",
"bump_type": "major"
}
{
"new_version": "text"
}
Was this helpful?