REST Resource: projects.locations.reasoningEngines

Resource: ReasoningEngine

ReasoningEngine provides a customizable runtime for models to determine which actions to take and in which order.

Fields
namestring

Identifier. The resource name of the ReasoningEngine. Format:projects/{project}/locations/{location}/reasoningEngines/{reasoningEngine}

displayNamestring

Required. The display name of the ReasoningEngine.

descriptionstring

Optional. The description of the ReasoningEngine.

specobject (ReasoningEngineSpec)

Optional. Configurations of the ReasoningEngine

createTimestring (Timestamp format)

Output only. timestamp when this ReasoningEngine was created.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples:"2014-10-02T15:01:23Z","2014-10-02T15:01:23.045123456Z" or"2014-10-02T15:01:23+05:30".

updateTimestring (Timestamp format)

Output only. timestamp when this ReasoningEngine was most recently updated.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples:"2014-10-02T15:01:23Z","2014-10-02T15:01:23.045123456Z" or"2014-10-02T15:01:23+05:30".

etagstring

Optional. Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens.

contextSpecobject (ReasoningEngineContextSpec)

Optional. Configuration for how Agent Engine sub-resources should manage context.

encryptionSpecobject (EncryptionSpec)

Customer-managed encryption key spec for a ReasoningEngine. If set, this ReasoningEngine and all sub-resources of this ReasoningEngine will be secured by this key.

labelsmap (key: string, value: string)

Labels for the ReasoningEngine.

JSON representation
{"name":string,"displayName":string,"description":string,"spec":{object (ReasoningEngineSpec)},"createTime":string,"updateTime":string,"etag":string,"contextSpec":{object (ReasoningEngineContextSpec)},"encryptionSpec":{object (EncryptionSpec)},"labels":{string:string,...}}

ReasoningEngineSpec

ReasoningEngine configurations

Fields
packageSpecobject (PackageSpec)

Optional. user provided package spec of the ReasoningEngine. Ignored when users directly specify a deployment image throughdeploymentSpec.first_party_image_override, but keeping the field_behavior to avoid introducing breaking changes. Thedeployment_source field should not be set ifpackageSpec is specified.

deploymentSpecobject (DeploymentSpec)

Optional. The specification of a Reasoning Engine deployment.

classMethods[]object (Struct format)

Optional. Declarations for object class methods in OpenAPI specification format.

agentFrameworkstring

Optional. The OSS agent framework used to develop the agent. Currently supported values: "google-adk", "langchain", "langgraph", "ag2", "llama-index", "custom".

identityTypeenum (IdentityType)

Optional. The identity type to use for the Reasoning Engine. If not specified, theserviceAccount field will be used if set, otherwise the default Vertex AI Reasoning Engine service Agent in the project will be used.

deployment_sourceUnion type
Defines the source for the deployment. Thepackage_spec field should not be set ifdeployment_source is specified.deployment_source can be only one of the following:
sourceCodeSpecobject (SourceCodeSpec)

Deploy from source code files with a defined entrypoint.

serviceAccountstring

Optional. The service account that the Reasoning Engine artifact runs as. It should have "roles/storage.objectViewer" for reading the user project's Cloud Storage and "roles/aiplatform.user" for using Vertex extensions. If not specified, the Vertex AI Reasoning Engine service Agent in the project will be used.

JSON representation
{"packageSpec":{object (PackageSpec)},"deploymentSpec":{object (DeploymentSpec)},"classMethods":[{object}],"agentFramework":string,"identityType":enum (IdentityType),// deployment_source"sourceCodeSpec":{object (SourceCodeSpec)}// Union type"serviceAccount":string}

SourceCodeSpec

Specification for deploying from source code.

Fields
sourceUnion type
Specifies where the source code is located.source can be only one of the following:
inlineSourceobject (InlineSource)

Source code is provided directly in the request.

developerConnectSourceobject (DeveloperConnectSource)

Source code is in a Git repository managed by Developer Connect.

language_specUnion type
Specifies the language-specific configuration for building and running the code.language_spec can be only one of the following:
pythonSpecobject (PythonSpec)

Configuration for a Python application.

JSON representation
{// source"inlineSource":{object (InlineSource)},"developerConnectSource":{object (DeveloperConnectSource)}// Union type// language_spec"pythonSpec":{object (PythonSpec)}// Union type}

InlineSource

Specifies source code provided as a byte stream.

Fields
sourceArchivestring (bytes format)

Required. Input only. The application source code archive. It must be a compressed tarball (.tar.gz) file.

A base64-encoded string.

JSON representation
{"sourceArchive":string}

DeveloperConnectSource

Specifies source code to be fetched from a Git repository managed through the Developer Connect service.

Fields
configobject (DeveloperConnectConfig)

Required. The Developer Connect configuration that defines the specific repository, revision, and directory to use as the source code root.

JSON representation
{"config":{object (DeveloperConnectConfig)}}

DeveloperConnectConfig

Specifies the configuration for fetching source code from a Git repository that is managed by Developer Connect. This includes the repository, revision, and directory to use.

Fields
gitRepositoryLinkstring

Required. The Developer Connect Git repository link, formatted asprojects/*/locations/*/connections/*/gitRepositoryLink/*.

dirstring

Required. Directory, relative to the source root, in which to run the build.

revisionstring

Required. The revision to fetch from the Git repository such as a branch, a tag, a commit SHA, or any Git ref.

JSON representation
{"gitRepositoryLink":string,"dir":string,"revision":string}

PythonSpec

Specification for running a Python application from source.

Fields
versionstring

Optional. The version of Python to use. Support version includes 3.9, 3.10, 3.11, 3.12, 3.13, 3.14. If not specified, default value is 3.10.

entrypointModulestring

Optional. The Python module to load as the entrypoint, specified as a fully qualified module name. For example: path.to.agent. If not specified, defaults to "agent".

The project root will be added to Python sys.path, allowing imports to be specified relative to the root.

This field should not be set if the source isagentConfigSource.

entrypointObjectstring

Optional. The name of the callable object within theentrypointModule to use as the application If not specified, defaults to "root_agent".

This field should not be set if the source isagentConfigSource.

requirementsFilestring

Optional. The path to the requirements file, relative to the source root. If not specified, defaults to "requirements.txt".

JSON representation
{"version":string,"entrypointModule":string,"entrypointObject":string,"requirementsFile":string}

PackageSpec

user-provided package specification, containing pickled object and package requirements.

Fields
pickleObjectGcsUristring

Optional. The Cloud Storage URI of the pickled python object.

dependencyFilesGcsUristring

Optional. The Cloud Storage URI of the dependency files in tar.gz format.

requirementsGcsUristring

Optional. The Cloud Storage URI of therequirements.txt file

pythonVersionstring

Optional. The Python version. Supported values are 3.9, 3.10, 3.11, 3.12, 3.13, 3.14. If not specified, the default value is 3.10.

JSON representation
{"pickleObjectGcsUri":string,"dependencyFilesGcsUri":string,"requirementsGcsUri":string,"pythonVersion":string}

DeploymentSpec

The specification of a Reasoning Engine deployment.

Fields
env[]object (EnvVar)

Optional. Environment variables to be set with the Reasoning Engine deployment. The environment variables can be updated through the reasoningEngines.patch API.

secretEnv[]object (SecretEnvVar)

Optional. Environment variables where the value is a secret in Cloud Secret Manager. To use this feature, add 'Secret Manager Secret Accessor' role (roles/secretmanager.secretAccessor) to AI Platform Reasoning Engine service Agent.

pscInterfaceConfigobject (PscInterfaceConfig)

Optional. Configuration for PSC-I.

resourceLimitsmap (key: string, value: string)

Optional. Resource limits for each container. Only 'cpu' and 'memory' keys are supported. Defaults to {"cpu": "4", "memory": "4Gi"}.

minInstancesinteger

Optional. The minimum number of application instances that will be kept running at all times. Defaults to 1. Range: [0, 10].

maxInstancesinteger

Optional. The maximum number of application instances that can be launched to handle increased traffic. Defaults to 100. Range: [1, 1000].

If VPC-SC or PSC-I is enabled, the acceptable range is [1, 100].

containerConcurrencyinteger

Optional. Concurrency for each container and agent server. Recommended value: 2 * cpu + 1. Defaults to 9.

JSON representation
{"env":[{object (EnvVar)}],"secretEnv":[{object (SecretEnvVar)}],"pscInterfaceConfig":{object (PscInterfaceConfig)},"resourceLimits":{string:string,...},"minInstances":integer,"maxInstances":integer,"containerConcurrency":integer}

SecretEnvVar

Represents an environment variable where the value is a secret in Cloud Secret Manager.

Fields
namestring

Required. name of the secret environment variable.

secretRefobject (SecretRef)

Required. Reference to a secret stored in the Cloud Secret Manager that will provide the value for this environment variable.

JSON representation
{"name":string,"secretRef":{object (SecretRef)}}

SecretRef

Reference to a secret stored in the Cloud Secret Manager that will provide the value for this environment variable.

Fields
secretstring

Required. The name of the secret in Cloud Secret Manager. Format: {secret_name}.

versionstring

The Cloud Secret Manager secret version. Can be 'latest' for the latest version, an integer for a specific version, or a version alias.

JSON representation
{"secret":string,"version":string}

IdentityType

The identity type to use for the Reasoning Engine.

Enums
IDENTITY_TYPE_UNSPECIFIEDDefault value. Use a custom service account if theserviceAccount field is set, otherwise use the default Vertex AI Reasoning Engine service Agent in the project. Same behavior as SERVICE_ACCOUNT.
SERVICE_ACCOUNTUse a custom service account if theserviceAccount field is set, otherwise use the default Vertex AI Reasoning Engine service Agent in the project.
AGENT_IDENTITYUse Agent Identity. TheserviceAccount field must not be set.

ReasoningEngineContextSpec

Configuration for how Agent Engine sub-resources should manage context.

Fields
memoryBankConfigobject (MemoryBankConfig)

Optional. Specification for a Memory Bank, which manages memories for the Agent Engine.

JSON representation
{"memoryBankConfig":{object (MemoryBankConfig)}}

MemoryBankConfig

Specification for a Memory Bank.

Fields
generationConfigobject (GenerationConfig)

Optional. Configuration for how to generate memories for the Memory Bank.

similaritySearchConfigobject (SimilaritySearchConfig)

Optional. Configuration for how to perform similarity search on memories. If not set, the Memory Bank will use the default embedding modeltext-embedding-005.

ttlConfigobject (TtlConfig)

Optional. Configuration for automatic TTL ("time-to-live") of the memories in the Memory Bank. If not set, TTL will not be applied automatically. The TTL can be explicitly set by modifying theexpireTime of each Memory resource.

disableMemoryRevisionsboolean

If true, no memory revisions will be created for any requests to the Memory Bank.

JSON representation
{"generationConfig":{object (GenerationConfig)},"similaritySearchConfig":{object (SimilaritySearchConfig)},"ttlConfig":{object (TtlConfig)},"disableMemoryRevisions":boolean}

GenerationConfig

Configuration for how to generate memories.

Fields
modelstring

Required. The model used to generate memories. Format:projects/{project}/locations/{location}/publishers/google/models/{model}.

JSON representation
{"model":string}

SimilaritySearchConfig

Configuration for how to perform similarity search on memories.

Fields
embeddingModelstring

Required. The model used to generate embeddings to lookup similar memories. Format:projects/{project}/locations/{location}/publishers/google/models/{model}.

JSON representation
{"embeddingModel":string}

TtlConfig

Configuration for automatically setting the TTL ("time-to-live") of the memories in the Memory Bank.

Fields
ttlUnion type
Configuration for automatically setting the TTL of the memories in the Memory Bank.ttl can be only one of the following:
defaultTtlstring (Duration format)

Optional. The default TTL duration of the memories in the Memory Bank. This applies to all operations that create or update a memory.

A duration in seconds with up to nine fractional digits, ending with 's'. Example:"3.5s".

granularTtlConfigobject (GranularTtlConfig)

Optional. The granular TTL configuration of the memories in the Memory Bank.

memory_revision_ttlUnion type
Configuration for automatically setting the TTL of the memory revisions in the Memory Bank.memory_revision_ttl can be only one of the following:
memoryRevisionDefaultTtlstring (Duration format)

Optional. The default TTL duration of the memory revisions in the Memory Bank. This applies to all operations that create a memory revision. If not set, a default TTL of 365 days will be used.

A duration in seconds with up to nine fractional digits, ending with 's'. Example:"3.5s".

JSON representation
{// ttl"defaultTtl":string,"granularTtlConfig":{object (GranularTtlConfig)}// Union type// memory_revision_ttl"memoryRevisionDefaultTtl":string// Union type}

GranularTtlConfig

Configuration for TTL of the memories in the Memory Bank based on the action that created or updated the memory.

Fields
createTtlstring (Duration format)

Optional. The TTL duration for memories uploaded via CreateMemory.

A duration in seconds with up to nine fractional digits, ending with 's'. Example:"3.5s".

generateCreatedTtlstring (Duration format)

Optional. The TTL duration for memories newly generated via GenerateMemories (GenerateMemoriesResponse.GeneratedMemory.Action.CREATED).

A duration in seconds with up to nine fractional digits, ending with 's'. Example:"3.5s".

generateUpdatedTtlstring (Duration format)

Optional. The TTL duration for memories updated via GenerateMemories (GenerateMemoriesResponse.GeneratedMemory.Action.UPDATED). In the case of an UPDATE action, theexpireTime of the existing memory will be updated to the new value (now + TTL).

A duration in seconds with up to nine fractional digits, ending with 's'. Example:"3.5s".

JSON representation
{"createTtl":string,"generateCreatedTtl":string,"generateUpdatedTtl":string}

Methods

create

Creates a reasoning engine.

delete

Deletes a reasoning engine.

get

Gets a reasoning engine.

list

Lists reasoning engines in a location.

patch

Updates a reasoning engine.

query

Queries using a reasoning engine.

streamQuery

Streams queries using a reasoning engine.

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2026-01-29 UTC.