Service
Retrieve a list of services in this organization.
Permissions
This endpoint is impacted by the following permissions:
Only services that the authenticated user has the
Service:GetServicepermission for are returned.
Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the SignInWithAPIKey endpoint.
An optional organization identifier that indicates from which organization the token is issued. This is used in rare cases where the user to authenticate is making a request for resources in another organization.
The IDs of the services to retrieve.
[]Whether the service is active.
The fields to sort the services by. Supported fields are name and is_active. Specify a + before the field name to indicate ascending sorting and - for descending sorting. Multiple fields can be specified to break ties.
[]The tags to filter the services by. Must be specified using the syntax key:value, which means to match all services 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 services to return.
10The continuation token from the previous request used to retrieve the next page of services.
0The 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.
[]Succeeded.
Invalid authorization credentials.
Missing required permissions.
The specified organization does not exist.
Invalid request path parameter or request query parameter failed validation.
The user has exceeded the rate limit of 50 requests per minute for this endpoint.
The service is going through temporary maintenance.
GET /v1/{organization}/service/ HTTP/1.1
Host: api.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
X-ORG-ID: YOUR_API_KEY
Accept: */*
{
"services": [
{
"id": "text",
"name": "text",
"version_sets": {
"ANY_ADDITIONAL_PROPERTY": {
"agent_version_number": 1,
"service_hierarchical_state_machine_version_number": 1,
"llm_model_preferences": {
"ANY_ADDITIONAL_PROPERTY": {
"llm_name": "text",
"top_p": 1,
"temperature": 1,
"top_k": 1
}
}
}
},
"description": "text",
"is_active": true,
"service_hierarchical_state_machine_id": "text",
"agent_id": "text",
"tags": [
{
"key": "text",
"value": "text"
}
]
}
],
"has_more": true,
"continuation_token": 1,
"filter_values": {
"tags": [
"text"
]
}
}Create a new service. Depending on whether an active service with the same name already exists, the endpoint behaves differently:
If
is_activeisFalse, creates an inactive new service.If
is_activeisTrueand no active service with the given name exists, creates a new active service.If
is_activeisTrueand an active service with the given name exists, this endpoint throws an error.
The new service will automatically contain an edge version set that uses the latest Agent and ServiceHierarchicalStateMachine versions with no LLM model preference. It will also create a release version set, that will equal to what's specified in the request if the release_version_set is specified, or equal to edge if not.
Permissions
This endpoint requires the following permissions:
Service:CreateServicefor the service to create.Service:CreateVersionSetfor theedgeandreleaseversion sets.
Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the SignInWithAPIKey endpoint.
An optional organization identifier that indicates from which organization the token is issued. This is used in rare cases where the user to authenticate is making a request for resources in another organization.
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 ID of the state machine that this service uses.
^[a-f0-9]{24}$The ID of the agent that this service uses.
^[a-f0-9]{24}$The name of this service.
A description of this service.
Whether the newly-created service is active. Only active services are visible to users on the dashboard. You can later adjust the activeness of this service.
The release version set to use for this service. If not specified, the release version set will be the same as the edge version set, which uses the
latest agent and state machine versions with no model preference.
Succeeded.
This error could be thrown due to the following reasons:
- The specified ID for agent or service hierarchical state machine versions in the
releaseversion set does not belong to the agent or service hierarchical state machine of the service. - The specified agent or state machine doesn't have any versions.
Invalid authorization credentials.
Missing required permissions.
The specified organization, agent, or service hierarchical state machine do not exist.
An active service with the given name already exists.
Invalid request path parameter or request body failed validation.
The user has exceeded the rate limit of 20 requests per minute for this endpoint.
The service is going through temporary maintenance.
POST /v1/{organization}/service/ HTTP/1.1
Host: api.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
X-ORG-ID: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 392
{
"service_hierarchical_state_machine_id": "text",
"agent_id": "text",
"name": "text",
"description": "text",
"is_active": true,
"release_version_set": {
"agent_version_number": 1,
"service_hierarchical_state_machine_version_number": 1,
"llm_model_preferences": {
"ANY_ADDITIONAL_PROPERTY": {
"llm_name": "openai_o4-mini-2025-04-16",
"top_p": 1,
"temperature": 1,
"top_k": 1
}
}
},
"tags": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}{
"id": "text"
}Upsert a service version set
Upsert a version set for the specified service. Replace the existing version set with the same name if any, or create a new one.
Note that the edge version set cannot be updated.
Permissions
This endpoint may require the following permissions:
Service:CreateVersionSetif the version set does not exist.Service:UpdateVersionSetif the version set already exists.
Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the SignInWithAPIKey endpoint.
An optional organization identifier that indicates from which organization the token is issued. This is used in rare cases where the user to authenticate is making a request for resources in another organization.
Identifier of the service.
^[a-f0-9]{24}$Name of the version set to upsert.
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.
[]Succeeded.
The agent or service hierarchical state machine version in the request do not belong to the agent or state machine of the service, or attempted to update the edge version set.
Invalid authorization credentials.
Missing required permissions.
The specified organization or service do not exist.
Invalid request path parameter or request body failed validation.
The user has exceeded the rate limit of 30 requests per minute for this endpoint.
The service is going through temporary maintenance.
PUT /v1/{organization}/service/{service_id}/version_sets/{version_set_name}/ HTTP/1.1
Host: api.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
X-ORG-ID: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 225
{
"version_set": {
"agent_version_number": 1,
"service_hierarchical_state_machine_version_number": 1,
"llm_model_preferences": {
"ANY_ADDITIONAL_PROPERTY": {
"llm_name": "openai_o4-mini-2025-04-16",
"top_p": 1,
"temperature": 1,
"top_k": 1
}
}
}
}No content
Delete a service version set
Delete the given verion set from the given service.
This endpoint will error if the version set is used in any simulation unit tests.
Permissions
This endpoint requires the following permissions:
Service:DeleteVersionSetfor the version set.
Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the SignInWithAPIKey endpoint.
An optional organization identifier that indicates from which organization the token is issued. This is used in rare cases where the user to authenticate is making a request for resources in another organization.
Identifier of the service.
^[a-f0-9]{24}$Name of the version set.
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.
[]Succeeded.
The specified version set is used in a simulation unit test, or is the edge or release version set.
Invalid authorization credentials.
Missing required permissions.
The specified organization, service, or version set do not exist.
Invalid request path parameter failed validation.
The user has exceeded the rate limit of 30 requests per minute for this endpoint.
The service is going through temporary maintenance.
DELETE /v1/{organization}/service/{service_id}/version_sets/{version_set_name}/ HTTP/1.1
Host: api.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
X-ORG-ID: YOUR_API_KEY
Accept: */*
No content
Update fields about a service.
Permissions
This endpoint requires the following permissions:
Service:UpdateServicefor the service.
Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the SignInWithAPIKey endpoint.
An optional organization identifier that indicates from which organization the token is issued. This is used in rare cases where the user to authenticate is making a request for resources in another organization.
The identifier of the service to update.
^[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 name of the service. Only updated if not-null.
A description of this Service. Only updates if not-null.
The activeness of the service. Only updated if not-null.
If set to True and the service is currently inactive, no other service with the same name can be active.
If set to False and the service is currently active, it is deactivated. This will error if the service is used in a simulation unit test.
The ID of the agent that this service uses. Only updated if not-null.
^[a-f0-9]{24}$The ID of the service hierarchical state machine that this service uses. Only updated if not-null.
^[a-f0-9]{24}$The tags of this service. Only updated if not-null.
Succeeded.
This may occur for the following reasons:
- The request intends to activate a service that uses a deprecated agent, state machine, or LLM, or it uses an invalid agent or state machine.
- The request intends to deactivate a service that is used in a simulation unit test.
Invalid authorization credentials.
Missing required permissions.
The specified organization or service do not exist.
The request intends to activate a service that has an active service with the same name.
Invalid request path parameter or request body failed validation.
The user has exceeded the rate limit of 20 requests per minute for this endpoint.
The service is going through temporary maintenance.
POST /v1/{organization}/service/{service_id}/ HTTP/1.1
Host: api.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
X-ORG-ID: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 160
{
"name": "text",
"description": "text",
"is_active": true,
"agent_id": "text",
"service_hierarchical_state_machine_id": "text",
"tags": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}No content
Last updated
Was this helpful?

