The Agents API allows you to manage AI Agents within a project in Globant Enterprise AI. You can create, get, update, and delete Agents, as well as configure their model, reasoning strategy, and tools.
For generic variables needed to use the API, see the API Reference.
| Method |
Path |
Description |
| POST |
/agents/ |
Creates a new Agent definition within a specific organization and project. |
| PUT |
/agents/{idOrName}/upsert |
Creates the Agent if it doesn't exist; otherwise, updates its definition using the provided id or name. |
| PUT |
/agents/{idOrName} |
Updates Agent details. |
| POST |
/agents/{idOrName}/publish-revision |
Publishes a specific revision of an Agent. |
| GET |
/agents/{idOrName} |
Gets Agent details. |
| GET |
/agents |
Gets the list of Agents. |
| GET |
/agents/{ToolId} |
Retrieves information of Agents associated with a specific Tool. |
| DELETE |
/agents/{idOrName} |
Deletes an Agent. |
| GET |
/agents/{idOrName}/export |
Exports a single Agent into a transportable package (labPackage). |
| POST |
/agents/import |
Imports one or more Agents, Tools, Tool Plugins, and Tool Groups from into a transportable package (labPackage). |
All endpoints require authentication using one of the following:
- Authorization: Bearer $GEAI_APITOKEN
- Authorization: Bearer $OAuth_accesstoken
For $OAuth_accesstoken, you must also include the header: ProjectId: $GEAI_PROJECT_ID
Some endpoints may require additional headers such as:
- Content-Type: application/json
- Accept: application/json
This endpoint allows you to create a new Agent definition within a specific organization and project.
| Name |
Type |
Description |
| automaticPublish |
boolean |
Controls whether an Agent is automatically published after it is created or updated (optional). If set to true, the Agent is validated and published in a single operation. If omitted or set to false, the Agent is created as a draft and not published. |
- Method: POST
- Path: $BASE_URL/v4/agents
json
{
"agentDefinition": {
"name": "string", // Agent name (unique per project)
"accessScope": "string", // "private" | "public"
"jobDescription": "string", // Short role description
"avatarImage": "string", // URL of the avatar image
"description": "string", // Human-readable summary
"agentData": {
"strategyName": "string", // Reasoning strategy (e.g., "Chain of Thought")
"prompt": {
"context": "string", // Prompt context
"instructions": "string" // Prompt instructions
},
"llmConfig": {
"maxTokens": integer, // Maximum tokens per response
"timeout": integer, // Timeout for LLM response
"sampling": {
"temperature": number // Sampling temperature for LLM
}
},
"models": [
{
"name": "string" // Model provider name (e.g., "gpt-4o")
}
],
"resourcePools": [
{
"name": "string", // Resource pool name
"isExternal": boolean, // When True, Tools are not validated.
"tools":[
{
"name": "string", // Tool name
"id": "string" // Tool unique identifier
}
]
}
]
}
}
}
A successful Agent creation returns a 201 Created status code along with the full Agent details in the response. This includes the Agent's id, name, publicName, description, prompt settings, models, and status.
json
{
"accessScope": "string", // "private" | "public"
"agentData": {
"llmConfig": {
"maxTokens": integer, // Maximum tokens per response
"sampling": {
"temperature": number // Sampling temperature for LLM
},
"timeout": integer // Timeout for LLM response
},
"models":[
{
"name": "string" // Model provider name (e.g., "gpt-4o")
}
],
"prompt": {
"context": "string", // Prompt context
"instructions": "string" // Prompt instructions
},
"resourcePools": [
{
"isExternal": boolean, // When true, tools are not validated
"name": "string", // Resource pool name
"tools": [
{
"name": "string", // Tool name
"id": "string" // Tool unique identifier
}
]
}
],
"strategyName": "string" // Reasoning strategy (e.g., "Chain of Thought")
},
"description": "string", // Human-readable summary
"id": "string", // Agent GUID
"isDraft": boolean, // Indicates if the agent is a draft (true/false)
"jobDescription": "string", // Short role description
"name": "string", // Agent name (unique per project)
"revision": integer, // Revision number of the agent
"sharingScope": "string", // "none" | "organization" | "everybody" (default "organization")
"status": "string" // "active" | "inactive"
}
curl -X POST "$BASE_URL/v4/agents?automaticPublish=true" \
-H "Authorization: Bearer $GEAI_APITOKEN" \
-H "Content-Type: application/json" \
-d '{
"agentDefinition": {
"name": "DeepResearcher2",
"accessScope": "private",
"jobDescription": "Web Researcher & Knowledge Synthesizer",
"avatarImage": "http://miserver.com/micontenido/logo.png",
"description": "A specialized agent designed to perform thorough, multi-layered web searches to answer user questions. It gathers data, synthesizes information, and presents comprehensive results.",
"agentData": {
"strategyName": "Chain of Thought",
"prompt": {
"context": "Your objective is to conduct deep and meticulous web searches to answer user questions with detailed, evidence-based responses.",
"instructions": "When a query is presented you should (1)identify and retrieve information from reputable sources. ...etc"
},
"llmConfig": {
"maxTokens": 5000,
"timeout": 0,
"sampling": { "temperature": 0.5 }
},
"models": [ { "name": "gpt-4o" } ],
"resourcePools": [
{
"name": "Main",
"tools": [
{ "id": "0ac5cd1d-c70e-47d2-a11a-81a0a2751d55" },
{ "name": "com.globant.geai.web_search" }
]
}
]
}
}
}'
This endpoint allows you to create or update (upsert) an Agent definition identified by its id or name within a specific project.
| Name |
Type |
Description |
| automaticPublish |
boolean |
Controls whether an Agent is automatically published after it is created or updated (optional). If set to true, the Agent is validated and published in a single operation. If omitted or set to false, the Agent is created as a draft and not published. |
- Method: PUT
- Path: $BASE_URL/v4/agents/{idOrName}/upsert
json
{
"agentDefinition": {
"name": "string", // Agent name (unique within the project)
"accessScope": "string", // "private" | "public"
"jobDescription": "string", // Short role description
"avatarImage": "string", // URL of the avatar image
"description": "string", // Human-readable summary
"agentData": {
"strategyName": "string", // Reasoning strategy (e.g., "Chain of Thought")
"prompt": {
"context": "string", // Prompt context
"instructions": "string" // Prompt instructions
},
"llmConfig": {
"maxTokens": integer, // Maximum tokens per response
"timeout": integer, // Timeout for LLM response
"sampling": {
"temperature": number // Sampling temperature for LLM
}
},
"models": [
{
"name": "string" // LLM provider (e.g., "gpt-4o")
}
],
"resourcePools":[
{
"name": "string", // Resource pool name
"tools":[
{
"name": "string", // Tool name
"id": "string" // Tool unique identifier
}
]
}
]
}
}
}
A successful request returns a 201 status code and the details of the created or updated Agent.
json
{
"accessScope": "string", // "private" | "public"
"agentData": {
"llmConfig": {
"maxTokens": integer, // Maximum tokens per response
"sampling": {
"temperature": number // Sampling temperature for LLM
},
"timeout": integer // Timeout for LLM response
},
"models": [
{
"name": "string" // Model provider name (e.g., "gpt-4o")
}
],
"prompt": {
"context": "string", // Prompt context
"instructions": "string" // Prompt instructions
},
"resourcePools": [
{
"isExternal": boolean, // When true, tools are not validated
"name": "string", // Resource pool name
"tools": [
{
"name": "string", // Tool name
"id": "string" // Tool unique identifier
}
]
}
],
"strategyName": "string" // Reasoning strategy (e.g., "Chain of Thought")
},
"description": "string", // Human-readable summary
"id": "string", // Agent GUID
"isDraft": boolean, // Indicates if the agent is a draft (true/false)
"jobDescription": "string", // Short role description
"name": "string", // Agent name (unique per project)
"revision": integer, // Revision number of the agent
"sharingScope": "string", // "none" | "organization" | "everybody" (default "organization")
"status": "string" // "active" | "inactive"
}
curl -X PUT "$BASE_URL/v4/agents/DeepResearcher/upsert?automaticPublish=true" \
-H "Authorization: Bearer $GEAI_APITOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "ProjectId: $GEAI_PROJECT_ID" \
-d '{
"agentDefinition": {
"name": "DeepResearcher",
"accessScope": "private",
"jobDescription": "Web Researcher & Knowledge Synthesizer",
"avatarImage": "http://miserver.com/micontenido/logo.png",
"description": "A specialized agent designed to perform thorough, multi-layered web searches to answer user questions. It gathers data, synthesizes information, and presents comprehensive results.",
"agentData": {
"strategyName": "Chain of Thought",
"prompt": {
"context":"Your objective is to conduct deep and meticulous web searches to answer user questions with detailed, evidence-based responses.",
"instructions": "When a query is presented you should (1)identify and retrieve information from reputable sources. ...etc "
},
"llmConfig": {
"maxTokens": 5000,
"timeout": 0,
"sampling": { "temperature": 0.5 }
},
"models": [ { "name": "gpt-4o" } ],
"resourcePools": [
{
"name": "Main",
"tools": [
{ "id": "0ac5cd1d-c70e-47d2-a11a-81a0a2751d55" },
{ "name": "com.globant.geai.web_search" }
]
}
]
}
}
}'
This endpoint updates the details of an existing Agent, identified by its id or name.
| Name |
Type |
Description |
| automaticPublish |
boolean |
Controls whether an Agent is automatically published after it is created or updated (optional). If set to true, the Agent is validated and published in a single operation. If omitted or set to false, the Agent is created as a draft and not published. |
- Method: PUT
- Path: $BASE_URL/v4/agents/{idOrName}
json
{
"agentDefinition": {
"name": "string", // Agent name (unique per project)
"accessScope": "string", // "private" | "public"
"jobDescription": "string", // Short role description for end-users
"avatarImage": "string", // URL of the avatar image
"description": "string", // Human-readable summary
"agentData": {
"strategyName": "string", // Reasoning strategy (e.g., "Chain of Thought")
"prompt": {
"context": "string", // Prompt context
"instructions": "string" // Prompt instructions
},
"llmConfig": {
"maxTokens": integer, // Maximum tokens per response
"timeout": integer, // Timeout for LLM response
"sampling": {
"temperature": number // Sampling temperature for LLM
}
},
"models": [
"name": "string" // provider name (e.g., "gpt-4o")
}
],
"resourcePools": [
{
"name": "string", // Resource pool name
"tools": [
{
"id": "string", // Tool unique identifier
"name": "string" // Tool name
}
]
}
]
}
}
}
json
{
"accessScope": "string", // "private" | "public"
"agentData": {
"llmConfig": {
"maxTokens": integer,
"sampling": { "temperature": integer },
"timeout": integer
},
"models": [
{ "name": "string" }
],
"prompt": {
"context": "string",
"instructions": "string"
},
"resourcePools": [
{
"isExternal": boolean,
"name": "string",
"tools": [
{ "id": "string", "name": "string" }
]
}
],
"strategyName": "string" // Reasoning strategy (e.g., "Chain of Thought")
},
"description": "string",
"id": "string", // Agent GUID
"isDraft": boolean,
"jobDescription": "string",
"name": "string", // Agent name (unique per project)
"revision": integer,
"sharingScope": "string", // values: "none", "organization", "everybody" (default "organization")
"status": "string" // "active" | "inactive"
}
curl -X PUT "$BASE_URL/v4/agents/DeepResearcher?automaticPublish=true" \
-H "Authorization: Bearer $GEAI_APITOKEN" \
-H "Content-Type: application/json" \
-H "ProjectId: $¨GEAI_PROJECT_ID" \
-d '{
"agentDefinition": {
"name": "DeepResearcher",
"accessScope": "private",
"jobDescription": "Web Researcher & Knowledge Synthesizer",
"avatarImage": "http://miserver.com/micontenido/logo.png",
"description": "A specialized agent designed to perform thorough, multi-layered web searches to answer user questions. It gathers data, synthesizes information, and presents comprehensive results.",
"agentData": {
"strategyName": "Chain of Thought",
"prompt": {
"context":"Your objective is to conduct deep and meticulous web searches to answer user questions with detailed, evidence-based responses.",
"instructions": "When a query is presented you should (1)identify and retrieve information from reputable sources. ...etc "
},
"llmConfig": {
"maxTokens": 5000,
"timeout": 0,
"sampling": { "temperature": 0.5 }
},
"models": [ { "name": "gpt-4o" } ],
"resourcePools": [
{
"name": "Main",
"tools": [
{ "name": "0ac5cd1d-c70e-47d2-a11a-81a0a2751d55" },
{ "name": "com.globant.geai.web_search" }
]
}
]
}
}
}'
This endpoint publishes a specific revision of an Agent, identified by either its id or name.
- Method: POST
- Path: $BASE_URL/v2/agents/{idOrName}/publish-revision
json
{
"revision": integer // Revision number to publish
}
A successful request returns a 200 status code and the published Agent’s details.
json
{
"accessScope": "string", // "private" | "public"
"agentData": {
"llmConfig": {
"maxTokens": integer,
"sampling": { "temperature": number },
"timeout": integer
},
"models": [
{ "name": "string" }
],
"prompt": {
"context": "string",
"instructions": "string"
},
"resourcePools": [
{
"isExternal": boolean,
"name": "string",
"tools": [
{"Id": "string"
"name": "string" }
]
}
],
"strategyName": "string"
},
"avatarImage": "string", // URL of the avatar image
"description": "string", // Human-readable summary
"id": "string", // Agent GUID
"isDraft": boolean, // Always false after publishing
"jobDescription": "string",
"name": "string",
"revision": integer, // Published revision number
"version": integer, // New public version number
"sharingScope": "string", // values can be: "none", "organization", "everybody" (default "organization")
"status": "string" // "active" | "inactive"
}
curl -X POST "$BASE_URL/v2/agents/DeepResearcher/publish-revision" \
-H "Authorization: Bearer $GEAI_APITOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"revision": 2
}'
This endpoint retrieves the definition of a specific Agent by providing its id or name.
You can optionally specify a revision and version, and allow drafts to be retrieved.
| Name |
Type |
Description |
| revision |
integer |
Revision number to retrieve (optional). If omitted, the endpoint returns the latest published revision. |
| version |
integer |
Version number to retrieve (optional). If omitted, the endpoint returns the latest published version. |
| allowDrafts |
boolean |
Enables retrieval of draft revisions (optional). If true, the endpoint may return a draft when the requested revision is a draft. Default is false. |
- Method: GET
- Path: $BASE_URL/v4/agents/{idOrName}
- Body: Empty
json
{
"accessScope": "string", // "private" | "public"
"agentData": {
"llmConfig": {
"maxTokens": integer, // Maximum tokens per response
"sampling": {
"temperature": number // Sampling temperature for LLM
},
"timeout": integer // Timeout for LLM response
},
"models": [
{
"name": "string" // Model provider name (e.g., "gpt-4o")
}
],
"prompt": {
"context": "string", // Prompt context
"instructions": "string" // Prompt instructions
},
"resourcePools": [
{
"isExternal": boolean, // When true, tools are not validated
"name": "string", // Resource pool name
"tools": [
{
"id": "string", // Tool unique identifier
"name": "string" // Tool name
}
]
}
],
"strategyName": "string" // Reasoning strategy (e.g., "Chain of Thought")
},
"description": "string", // Human-readable summary
"id": "string", // Agent GUID
"isDraft": boolean, // Indicates if the agent is a draft (true/false)
"jobDescription": "string", // Short role description
"name": "string", // Agent name (unique per project)
"revision": integer, // Revision number of the agent
"sharingScope": "string", // "none" | "organization" | "everybody" (default "organization")
"status": "string" // "active" | "inactive"
}
curl -X GET "$BASE_URL/v4/agents/DeepResearcher?revision=2&version=1&allowDrafts=true" \
-H "Authorization: Bearer $GEAI_APITOKEN" \
-H "Accept: application/json"
This endpoint retrieves a list of Agents within a specific project, optionally filtering by status, pagination, access scope, and inclusion of drafts or external Agents.
| Name |
Type |
Description |
| status |
string |
Filter by Agent status (active, inactive). Optional – omit to return all statuses. |
| start |
integer |
Zero-based index of the first record to return (pagination). Optional – default = 0. |
| count |
integer |
Maximum number of records to return (pagination). Optional – default = 20. |
| accessScope |
string |
Filter by access scope (public, private). Optional – omit to return both scopes. |
| allowDrafts |
boolean |
When true, each Agent is returned with its latest revision even if that revision is a draft. Optional – default = false. |
| includeExternal |
boolean |
When true, includes Agents created outside the current project. Optional – default = false. |
- Method: GET
- Path: $BASE_URL/v4/agents
- Body: Empty
json
{
"agents": [
{
"accessScope": "string", // "private" | "public"
"description": "string", // Human-readable summary
"id": "string", // Agent GUID
"isDraft": boolean, // true if latest revision is a draft
"name": "string", // Agent name (unique per project)
"revision": integer, // Latest revision number returned
"status": "string", // "active" | "inactive"
"version": integer // Latest published version (omitted when draft)
}
],
"information": {
"Duration": integer, // Duration of the query or operation
"Page": integer, // Current page number of the result set
"PageSize": integer, // Number of items per page
"Total": integer // Total number of Agents found beyond the pagination
}
}
curl -X GET "$BASE_URL/v4/agents?status=active&start=0&count=10&accessScope=public&allowDrafts=true&includeExternal=false" \
-H "Authorization: Bearer $GEAI_APITOKEN"
This endpoint retrieves information of a specific Tool based on searches by ToolId. Provides information on duration, number of results, and paging.
| Name |
Type |
Description |
| allowDrafts |
boolean |
Enables retrieval of draft revisions. If true, the endpoint may return a draft when the requested revision is a draft. Default is false. |
| ToolId |
string |
ID of the Tool you wish to retrieve. |
- Method: GET
- Path: $BASE_URL/v4/agents/{ToolId}
- Body: Empty
json
{
"agents": [
{
"accessScope": "string", // Access level for the agent (e.g., "private", "public")
"description": "string", // Description of the agent's expertise or purpose
"effectivePermissions": {
"chatSharing": "string", // Level of chat sharing permission (e.g., "none", "organization", "public")
"externalExecution": "string" // Permission for external execution (e.g., "none", "organization", "public")
},
"id": "string", // Unique identifier for the agent (UUID)
"isDraft": boolean, // Indicates if the agent is a draft (true/false)
"jobDescription": "string", // Short description of the agent's role
"name": "string", // Name of the agent
"permissions": {
"chatSharing": "string", // Level of chat sharing permission
"externalExecution": "string" // Permission for external execution
},
"revision": integer, // Revision number of the agent
"status": "string", // Current status of the agent (e.g., "active", "inactive")
"version": integer // Version number of the agent
}
// ... more agent objects
],
"information": {
"Duration": integer, // Duration of the query or operation (in seconds or milliseconds, depending on context)
"Page": integer, // Current page number of the result set
"PageSize": integer, // Number of items per page
"Total": integer // Total number of items available
}
}
curl --request GET \
curl -X GET "$BASE_URL/v4/agents?allowDrafts=true&toolId=$ToolId" \
-H "Authorization: Bearer $GEAI_APITOKEN"
Deletes an existing Agent identified by its id or name.
- Method: DELETE
- Path: $BASE_URL/v2/agents/{idOrName}
- Body: Empty
- 204 No Content: Agent was successfully deleted.
- 404 Not Found: No Agent was found with the given idOrName.
curl -X DELETE "$BASE_URL/v2/agents/DeepResearcher" \
-H "Authorization: Bearer $GEAI_APITOKEN"
Exports a single Agent into a transportable package (labPackage).
- Method: GET
- Path: $BASE_URL/v2/agents/{idOrName}/export
- Body: Empty
{
"labPackage": { // Root lab package container
"agents": "public"
"agentData": { // Technical configuration of the agent
"LLMConfig": { // Language model runtime configuration
"maxTokens": integer, // Maximum tokens allowed in a single response
"sampling": { // Sampling/decoding configuration
"temperature": number // Sampling temperature (fractional value, e.g., 0.5)
}
},
"models": // Models available to the agent
{
"id": "string", // Model unique identifier (GUID or provider-specific)
"name": "string" // Model name/provider key (e.g., "azure/gpt-4o")
}
,
"prompt": { // Prompt configuration for the agent
"context": "string", // Background context to guide the agent
"instructions": "string" // Operating instructions for the agent
},
"strategy": { // Reasoning strategy configuration
"id": "string", // Strategy unique identifier (GUID)
"name": "string", // Strategy human-readable name
"systemPrompt": "string" // System prompt used to guide reasoning
}
},
"chatSharingPermissions": "string", // Chat sharing policy: "none" | "organization" | "everybody"
"description": "string", // Human-readable description of the agent
"externalExecutionPermissions": "string", // Who can execute the agent externally: "none" | "organization" | "everybody"
"id": "string", // Agent unique identifier (GUID)
"importIndex": integer, // Import ordering index within the package
"jobDescription": "string", // Short role/mission for the agent
"name": "string", // Agent name (unique per project)
"resources": [ // Resource pools and attached tools
{
"isExternal": boolean, // When true, tools are not validated by the platform
"name": "string", // Resource pool name
"tools": [ // Tools available in this resource pool
{
"id": "string", // Tool unique identifier (GUID)
"name": "string", // Tool name
"revision": integer, // Tool revision number
"version": integer // Tool version number
}
}
],
"version": integer // Agent version within the package
}
],
"info": { // Package metadata
"majorVersion": integer, // Major version of the lab package format
"minorVersion": integer, // Minor version of the lab package format
"moduleRevision": integer, // Package module revision number
"organizationId": "string", // Organization GUID
"projectId": "string", // Project GUID
"timestamp": "string" // ISO 8601 timestamp when the package was generated
},
"tools": "public"
"description": "string", // Human-readable description of the tool
"id": "string", // Tool unique identifier (GUID)
"isReference": boolean, // True if this is a reference to an external tool definition
"name": "string", // Internal tool name
"publicName": "string", // Global public identifier (e.g., "com.globant.geai.web_search")
"type": "string", // Tool type (e.g., "api")
"version": integer // Tool version
}
}
}
curl -X GET "$BASE_URL/v2/agents/{IdOrName}/export" \
-H "Authorization: Bearer $GEAI_APITOKEN" \
-H "Accept: application/json"
Imports one or more Agents, Tools, Tool Plugins, and Tool Groups from a labPackage. Existing entities may be updated; new ones are created as needed. Import behavior aims to preserve relationships across Agents, Tools, Tool Plugins, and Tool Groups.
- Method: POST
- Path: $BASE_URL/v2/agents/import
| Name |
Type |
Description |
| automaticPublish |
boolean |
Controls whether an Agent is automatically published after it is created or updated (optional). |
| If set to true, the Agent is validated and published in a single operation. |
|
|
| If omitted or set to false, the Agent is created as a draft and not published. |
|
|
- Method: POST
- Path: $BASE_URL/v2/agents/import
{
"labPackage": { // Import package
"agents": "public" | "private"
"accessScope": "string", // "private" | "public"
"agentData": {
"models":
{
"LLMConfig": { // Model-level LLM configuration
"maxTokens": integer, // e.g., 2048
"sampling": {
"temperature": number // e.g., 0.1
}
},
"id": "string", // Model ID (UUID in the target project)
"name": "string" // Model name (e.g., "gemini-2.0-flash")
}
,
"prompt": {
"context": "string", // Optional prompt context
"examples": [
{ "inputData": "string", "output": "string" } // Few-shot examples
,
"instructions": "string" // Main instructions for the Agent
},
"strategy": {
"id": "string", // Strategy ID (UUID)
"name": "string", // Strategy name (e.g., "Chain of Thought")
"systemPrompt": "string" // System prompt used by the strategy
}
},
"description": "string", // Human-readable description
"id": "string", // Source Agent ID (UUID)
"importIndex": integer, // Import order within the package
"jobDescription": "string", // Short role description
"name": "string", // Agent name
"version": integer // Version from source package
}
],
"info": { // Package metadata
"majorVersion": integer,
"minorVersion": integer,
"moduleRevision": integer,
"organizationId": "string", // Source organization (UUID)
"projectId": "string", // Source project (UUID)
"timestamp": "string" // ISO-8601 timestamp
}
}
}
{
"accessScope": "string", // "private" | "public"
"agentData": {
"llmConfig": { // Effective agent-level LLM config (if any)
"maxTokens": integer, // Optional in response
"sampling": { "temperature": number }, // Optional in response
"timeout": integer // Optional in response
},
"models":
{
"llmConfig": { // Effective model-level config
"maxTokens": integer,
"sampling": { "temperature": number }
},
"name": "string" // Model name used by the Agent
}
,
"prompt": {
"context": "string",
"examples": { "inputData": "string", "output": "string" } ,
"instructions": "string"
},
"strategyId": "string", // Strategy ID (UUID)
"strategyName": "string" // Strategy name or ID (per implementation)
},
"description": "string",
"id": "string", // Imported Agent ID (UUID) in target project
"isDraft": boolean, // true if not automatically published
"jobDescription": "string",
"name": "string",
"revision": integer, // Created revision
"sharingScope": "string", // "organization" | "public" | "private"
"status": "string", // "active" | "inactive"
"version": integer
}
curl --request POST \
--url '$BASE_URL/v2/agents/import?automaticPublish=true' \
--header 'accept: application/json' \
--header 'authorization: Bearer $GEAI_APITOKEN' \
--header 'content-type: application/json' \
--data '{
"labPackage": {
"agents":
{
"sharingScope": "organization",
"accessScope": "private",
"agentData": {
"models": [
{
"LLMConfig": {
"maxTokens": 2048,
"sampling": { "temperature": 0.1 }
},
"id": "4c0c02e6-18d5-4103-8077-f611afd536db",
"name": "gemini-2.0-flash"
}
,
"prompt": {
"context": "test",
"examples": { "inputData": "test", "output": "test" },
"instructions": "test"
},
"strategy": {
"id": "0a3b039e-25bd-4cf9-ad67-7af2b654874b",
"name": "Chain of Thought",
"systemPrompt": "..."
}
},
"description": "Test agent",
"id": "e97f0029-09b9-4721-85de-b35e737767c4",
"importIndex": 1,
"jobDescription": "test agent",
"name": "Test",
"version": 1
}
],
"info": {
"majorVersion": 1,
"minorVersion": 1,
"moduleRevision": 28,
"organizationId": "58227120-b3d1-42ab-88c4-68a5ff7aac50",
"projectId": "224bc85e-7ab4-4c9a-af1a-588b4c0fb140",
"timestamp": "2025-06-10T14:28:50.022"
}
}
}'