Agent

Manage Agents

Listing agents

get

Retrieves agent templates based on the provided query.

Required scopes

  • ai.agent_read

Authorizations
Path parameters
tenantstringRequired

Your Emporix tenant name.

Note: The tenant name should always be provided in lowercase.

Query parameters
qstringOptional

A standard query parameter is used to search for specific values.

See: Standard Practices - Query parameter

pageSizestringOptional

The number of documents to be retrieved per page.

pageNumberstringOptional

The page number to be retrieved. The size of the pages should be specified by the pageSize parameter.

sortstringOptional

List of properties used to sort the results, separated by colons.

fieldsstringOptional

Fields to be returned in the response.

expandstring · enumOptional

Fields to be expanded in the response. It means that instead of the object IDs, the whole objects are returned in the response.

Possible values:
Header parameters
Accept-LanguagestringOptional

List of language codes acceptable for the response. You can specify factors that indicate which language should be retrieved if the one with a higher factor was not found in the localized fields.

  • If the header is set to a particular language or a list of languages, all localized fields are retrieved as strings.
  • If the header is set to *, all localized fields are retrieved as maps of translations, where the keys are language codes and values are the fields in their respective languages.
  • If the header is empty, localized fields are retrieved in the default language defined in the Configuration Service.
X-Total-CountbooleanOptional

Flag indicating whether the total number of retrieved results should be returned.

Responses
200

List of agents.

application/json
get
/ai-service/{tenant}/agentic/agents
GET /ai-service/{tenant}/agentic/agents HTTP/1.1
Host: api.emporix.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
  {
    "id": "123",
    "name": {
      "en": "Complaint Agent"
    },
    "description": {
      "en": "Complaint agent"
    },
    "type": "complaint",
    "enabled": true,
    "templatePrompt": "You are an complaint agent for checking emails and do some action.",
    "userPrompt": "Use get-order tool to fetch order.",
    "llmConfig": {
      "model": "GPT-4.1",
      "apiKey": "secureApiKey",
      "provider": "openai",
      "maxTokens": 100000,
      "temperature": 0.2
    },
    "triggers": [
      {
        "type": "endpoint"
      }
    ],
    "maxRecursionLimit": 20,
    "enabledMemory": true,
    "tags": [
      "productivity"
    ],
    "icon": "fa-productivity",
    "mcpServers": [
      {
        "domain": "order",
        "type": "predefined",
        "tools": [
          "get-orders",
          "get-order"
        ]
      }
    ],
    "nativeTools": [
      {
        "name": "slack",
        "config": {
          "teamId": "T0445953"
        }
      }
    ]
  }
]

Searching agents

post

Searches for agents based on the provided query.

Required scopes

  • ai.agent_read

Authorizations
Path parameters
tenantstringRequired

Your Emporix tenant name.

Note: The tenant name should always be provided in lowercase.

Query parameters
pageSizestringOptional

The number of documents to be retrieved per page.

pageNumberstringOptional

The page number to be retrieved. The size of the pages should be specified by the pageSize parameter.

sortstringOptional

List of properties used to sort the results, separated by colons.

fieldsstringOptional

Fields to be returned in the response.

expandstring · enumOptional

Fields to be expanded in the response. It means that instead of the object IDs, the whole objects are returned in the response.

Possible values:
Header parameters
Accept-LanguagestringOptional

List of language codes acceptable for the response. You can specify factors that indicate which language should be retrieved if the one with a higher factor was not found in the localized fields.

  • If the header is set to a particular language or a list of languages, all localized fields are retrieved as strings.
  • If the header is set to *, all localized fields are retrieved as maps of translations, where the keys are language codes and values are the fields in their respective languages.
  • If the header is empty, localized fields are retrieved in the default language defined in the Configuration Service.
X-Total-CountbooleanOptional

Flag indicating whether the total number of retrieved results should be returned.

Body
qstringOptional

A standard query parameter is used to search for specific values.

See: Standard Practices - Query parameter

Responses
200

List of agents.

application/json
post
/ai-service/{tenant}/agentic/agents/search
POST /ai-service/{tenant}/agentic/agents/search HTTP/1.1
Host: api.emporix.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 21

{
  "q": "name:~Support"
}
[
  {
    "id": "123",
    "name": {
      "en": "Complaint Agent"
    },
    "description": {
      "en": "Complaint agent"
    },
    "type": "complaint",
    "enabled": true,
    "templatePrompt": "You are an complaint agent for checking emails and do some action.",
    "userPrompt": "Use get-order tool to fetch order.",
    "llmConfig": {
      "model": "GPT-4.1",
      "apiKey": "secureApiKey",
      "provider": "openai",
      "maxTokens": 100000,
      "temperature": 0.2
    },
    "triggers": [
      {
        "type": "endpoint"
      }
    ],
    "maxRecursionLimit": 20,
    "enabledMemory": true,
    "tags": [
      "productivity"
    ],
    "icon": "fa-productivity",
    "mcpServers": [
      {
        "domain": "order",
        "type": "predefined",
        "tools": [
          "get-orders",
          "get-order"
        ]
      }
    ],
    "nativeTools": [
      {
        "name": "slack",
        "config": {
          "teamId": "T0445953"
        }
      }
    ]
  }
]

Retrieving agent by ID

get

Retrieves the agent by given ID.

Required scopes

  • ai.agent_read

Authorizations
Path parameters
tenantstringRequired

Your Emporix tenant name.

Note: The tenant name should always be provided in lowercase.

agentIdstringRequired
Query parameters
fieldsstringOptional

Fields to be returned in the response.

expandstring · enumOptional

Fields to be expanded in the response. It means that instead of the object IDs, the whole objects are returned in the response.

Possible values:
Header parameters
Accept-LanguagestringOptional

List of language codes acceptable for the response. You can specify factors that indicate which language should be retrieved if the one with a higher factor was not found in the localized fields.

  • If the header is set to a particular language or a list of languages, all localized fields are retrieved as strings.
  • If the header is set to *, all localized fields are retrieved as maps of translations, where the keys are language codes and values are the fields in their respective languages.
  • If the header is empty, localized fields are retrieved in the default language defined in the Configuration Service.
Responses
200

A single agent.

application/json
Responseone of
all ofOptional
or
all ofOptional
get
/ai-service/{tenant}/agentic/agents/{agentId}
GET /ai-service/{tenant}/agentic/agents/{agentId} HTTP/1.1
Host: api.emporix.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "id": "123",
  "name": {
    "en": "Complaint Agent"
  },
  "description": {
    "en": "Complaint agent"
  },
  "type": "complaint",
  "enabled": true,
  "templatePrompt": "You are an complaint agent for checking emails and do some action.",
  "userPrompt": "Use get-order tool to fetch order.",
  "llmConfig": {
    "model": "GPT-4.1",
    "apiKey": "secureApiKey",
    "provider": "openai",
    "maxTokens": 100000,
    "temperature": 0.2
  },
  "triggers": [
    {
      "type": "endpoint"
    }
  ],
  "maxRecursionLimit": 20,
  "enabledMemory": true,
  "tags": [
    "productivity"
  ],
  "icon": "fa-productivity",
  "mcpServers": [
    {
      "domain": "order",
      "type": "predefined",
      "tools": [
        "get-orders",
        "get-order"
      ]
    }
  ],
  "nativeTools": [
    {
      "name": "slack",
      "config": {
        "teamId": "T0445953"
      }
    }
  ]
}

Upserting agent

put

Updates or creates a specified product by replacing all of its existing data with data from the request body. If the metadata.version is provided then optimistic locking is enabled and version must match the version in the database.

Required scopes

  • ai.agent_manage

Authorizations
Path parameters
tenantstringRequired

Your Emporix tenant name.

Note: The tenant name should always be provided in lowercase.

agentIdstringRequired
Header parameters
Content-LanguagestringOptional

List of languages in which localized fields in the request body are provided.

  • If the header is set to *, the localized fields should be provided as maps of translations, where the keys are language codes and values are the fields in their respective languages.
  • If the header is set to a specific language, the localized fields should be provided as strings.
  • If the header is empty, the endpoint will assume that the localized fields are provided in the default language defined in the Configuration Service.

Note: You can provide the localized fields only in languages defined in the Configuration Service. In case the fields are provided in languages that are not defined in the Configuration Service, the request is rejected.

Body
all ofOptional
Responses
201

ID of created agent.

application/json
put
/ai-service/{tenant}/agentic/agents/{agentId}
PUT /ai-service/{tenant}/agentic/agents/{agentId} HTTP/1.1
Host: api.emporix.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 536

{
  "name": {
    "en": "Complaint Agent"
  },
  "description": {
    "en": "Complaint agent"
  },
  "enabled": true,
  "userPrompt": "You are an complaint agent for checking emails and do some action.",
  "llmConfig": {
    "model": "GPT-4.1",
    "token": {
      "id": "openai-token"
    },
    "provider": "openai",
    "maxTokens": 100000,
    "temperature": 0.2
  },
  "triggers": [
    {
      "type": "endpoint"
    }
  ],
  "maxRecursionLimit": 20,
  "enabledMemory": true,
  "tags": [
    "productivity"
  ],
  "icon": "fa-productivity",
  "mcpServers": [
    {
      "domain": "order",
      "type": "predefined",
      "tools": [
        "get-orders",
        "get-order"
      ]
    }
  ],
  "nativeTools": [
    {
      "id": "slack-1"
    }
  ]
}
{
  "id": "a81bc81b-dead-4e5d-abff-90865d1e13b1"
}

Deleting agent

delete

Deletes agent by given ID.

Required scopes

  • ai.agent_manage

Authorizations
Path parameters
tenantstringRequired

Your Emporix tenant name.

Note: The tenant name should always be provided in lowercase.

agentIdstringRequired
Responses
204

Given agent has been deleted.

No content

delete
/ai-service/{tenant}/agentic/agents/{agentId}
DELETE /ai-service/{tenant}/agentic/agents/{agentId} HTTP/1.1
Host: api.emporix.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*

No content

Partially updating agent

patch

Partially updates a single agent document with given information. Single update may contain multiple partial updates in the form of an array. It contains the allowed operations list:

  • add (adding an item to the items list)

  • remove (removing an item from the items list)

  • replace (replacing an item with given ID with new definition)

Required scopes

  • ai.agent_manage

Authorizations
Path parameters
tenantstringRequired

Your Emporix tenant name.

Note: The tenant name should always be provided in lowercase.

agentIdstringRequired
Bodyobject[]

Partial update operation list.

opany ofRequired
undefined · enumOptionalPossible values:
pathstringRequiredExample: /name
valueany ofOptional
stringOptional

Value of the string type.

or
objectOptional

Any part of the details object.

Responses
204

No Content

No content

patch
/ai-service/{tenant}/agentic/agents/{agentId}
PATCH /ai-service/{tenant}/agentic/agents/{agentId} HTTP/1.1
Host: api.emporix.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 130

[
  {
    "op": "REPLACE",
    "path": "/description",
    "value": "New agent description"
  },
  {
    "op": "REPLACE",
    "path": "/name",
    "value": "Complaint Agent"
  }
]

No content

Last updated

Was this helpful?