io.enterpriseai.resources.ApplicationsClient
Source: sdks/java/enterprise-ai-java/src/main/java/io/enterpriseai/resources/ApplicationsClient.java. Back to the Java SDK reference index.
This page is generated by tools/docs/gen_sdk_reference.py from the SDK sources and the OpenAPI text folders. Do not edit it by hand: change the source and regenerate.
Class ApplicationsClient
Governed applications: deployments, activation, status and third party agents.
Constructor ApplicationsClient
ApplicationsClient(Transport transport)
Creates the client on the shared transport; EnterpriseAIClient builds it and exposes it through the accessor of the same name.
| Name | Type | Default | Required | Description |
|---|---|---|---|---|
transport | Transport | yes | Transport shared by the sub-clients of one client. |
ApplicationsClient.activateDeployment
JsonNode activateDeployment(String appId, String deploymentId)
Activate an approved deployment. Activates the deployment once its approval is approved (separation of duties is enforced by the approvals domain; a missing approval is audited as a denial): the previous active deployment of the environment is retired and the application becomes active. 409 application_suspended; 404 application_deployment_not_found. Needs tenant_admin, developer or application_owner. Audited as application.deployment.activate with the approver.
Route: /v1/applications/{app_id}/deployments/{deployment_id}/activate (POST).
| Name | Type | Default | Required | Description |
|---|---|---|---|---|
appId | String | yes | Identifier (UUID) or name of the application. | |
deploymentId | String | yes | Identifier (UUID) of the deployment. |
Returns: JsonNode. Decoded JSON answer of the operation "Activate an approved deployment".
Raises: the typed errors of the transport (Errors).
ApplicationsClient.activateDeployment
JsonNode activateDeployment(String appId, String deploymentId, RequestOptions options)
Activate an approved deployment. Activates the deployment once its approval is approved (separation of duties is enforced by the approvals domain; a missing approval is audited as a denial): the previous active deployment of the environment is retired and the application becomes active. 409 application_suspended; 404 application_deployment_not_found. Needs tenant_admin, developer or application_owner. Audited as application.deployment.activate with the approver.
Route: /v1/applications/{app_id}/deployments/{deployment_id}/activate (POST).
| Name | Type | Default | Required | Description |
|---|---|---|---|---|
appId | String | yes | Identifier (UUID) or name of the application. | |
deploymentId | String | yes | Identifier (UUID) of the deployment. | |
options | RequestOptions | yes | Per call options (idempotency key, traceparent, headers, abort signal). |
Returns: JsonNode. Decoded JSON answer of the operation "Activate an approved deployment".
Raises: the typed errors of the transport (Errors).
ApplicationsClient.create
JsonNode create(Object body)
Register an application. Creates the application (201). An external_agent is always of origin third_party. Owner defaults to the caller, project to the X-Project header. A name already used answers 409 conflict. Needs tenant_admin, developer or application_owner. Audited as application.create.
Route: /v1/applications (POST).
| Name | Type | Default | Required | Description |
|---|---|---|---|---|
body | Object | yes | Name, kind, origin, owner, project, environments, risk level and granted resources. |
Returns: JsonNode. Decoded JSON answer of the operation "Register an application".
Raises: the typed errors of the transport (Errors).
ApplicationsClient.create
JsonNode create(Object body, RequestOptions options)
Register an application. Creates the application (201). An external_agent is always of origin third_party. Owner defaults to the caller, project to the X-Project header. A name already used answers 409 conflict. Needs tenant_admin, developer or application_owner. Audited as application.create.
Route: /v1/applications (POST).
| Name | Type | Default | Required | Description |
|---|---|---|---|---|
body | Object | yes | Name, kind, origin, owner, project, environments, risk level and granted resources. | |
options | RequestOptions | yes | Per call options (idempotency key, traceparent, headers, abort signal). |
Returns: JsonNode. Decoded JSON answer of the operation "Register an application".
Raises: the typed errors of the transport (Errors).
ApplicationsClient.createDeployment
JsonNode createDeployment(String appId, Object body)
Request a deployment. Records a deployment of a version in one environment of the application and opens an application_deployment approval for tenant_admin or security_officer (201, the deployment carries approval_id). The environment must be declared by the application (400 invalid_request); the same version in the same environment answers 409 conflict; a suspended or retired application answers 409 application_suspended. Needs tenant_admin, developer or application_owner. Audited as application.deployment.create.
Route: /v1/applications/{app_id}/deployments (POST).
| Name | Type | Default | Required | Description |
|---|---|---|---|---|
appId | String | yes | Identifier (UUID) or name of the application. | |
body | Object | yes | Version, environment and reason shown to the approvers. |
Returns: JsonNode. Decoded JSON answer of the operation "Request a deployment".
Raises: the typed errors of the transport (Errors).
ApplicationsClient.createDeployment
JsonNode createDeployment(String appId, Object body, RequestOptions options)
Request a deployment. Records a deployment of a version in one environment of the application and opens an application_deployment approval for tenant_admin or security_officer (201, the deployment carries approval_id). The environment must be declared by the application (400 invalid_request); the same version in the same environment answers 409 conflict; a suspended or retired application answers 409 application_suspended. Needs tenant_admin, developer or application_owner. Audited as application.deployment.create.
Route: /v1/applications/{app_id}/deployments (POST).
| Name | Type | Default | Required | Description |
|---|---|---|---|---|
appId | String | yes | Identifier (UUID) or name of the application. | |
body | Object | yes | Version, environment and reason shown to the approvers. | |
options | RequestOptions | yes | Per call options (idempotency key, traceparent, headers, abort signal). |
Returns: JsonNode. Decoded JSON answer of the operation "Request a deployment".
Raises: the typed errors of the transport (Errors).
ApplicationsClient.developerKit
JsonNode developerKit(java.util.Map<String, ?> query)
Get the developer kit. Developer kit of an application, an agent or a project: values, states and actions, never a secret. Give exactly one of application_id, agent_id or project (400 invalid_request otherwise). The answer holds the subject (with the models, tools, MCP servers, knowledge bases and evaluation suites it uses), the nine rows, the env entries of an environment file (the API key is only a placeholder marked secret), a summary of ready rows and the next_steps (create a key, run the tests, run the red team). An unknown application or agent, or a project without application, answers 404 not_found. Requires a tenant principal (403 tenant_required) with developer, application_owner or tenant_admin (403 forbidden).
Route: /v1/developer/kit (GET).
| Name | Type | Default | Required | Description |
|---|---|---|---|---|
query | java.util.Map<String, ?> | yes | Query string parameters of the route. |
Returns: JsonNode. Decoded JSON answer of the operation "Get the developer kit".
Raises: the typed errors of the transport (Errors).
ApplicationsClient.get
JsonNode get(String appId)
Get an application. Returns the application and its deployments, oldest first. 404 application_not_found.
Route: /v1/applications/{app_id} (GET).
| Name | Type | Default | Required | Description |
|---|---|---|---|---|
appId | String | yes | Identifier (UUID) or name of the application. |
Returns: JsonNode. Decoded JSON answer of the operation "Get an application".
Raises: the typed errors of the transport (Errors).
ApplicationsClient.list
JsonNode list()
List the applications. Applications of the tenant in name order, with kind, origin, status, environments and granted resources. One page only.
Route: /v1/applications (GET).
This element takes no parameter.
Returns: JsonNode. Decoded JSON answer of the operation "List the applications".
Raises: the typed errors of the transport (Errors).
ApplicationsClient.registerExternalAgent
JsonNode registerExternalAgent(String appId, Object body)
Register a third party agent identity. Creates an API key with the role agent, bound to the application and its project, with the scopes tools:invoke, models:invoke plus the requested ones (201). The key is in api_key and is shown only once. Needs tenant_admin. Audited as application.external_agent.register.
Route: /v1/applications/{app_id}/external-agents (POST).
| Name | Type | Default | Required | Description |
|---|---|---|---|---|
appId | String | yes | Identifier (UUID) or name of the application. | |
body | Object | yes | Name of the identity and extra scopes. |
Returns: JsonNode. Decoded JSON answer of the operation "Register a third party agent identity".
Raises: the typed errors of the transport (Errors).
ApplicationsClient.registerExternalAgent
JsonNode registerExternalAgent(String appId, Object body, RequestOptions options)
Register a third party agent identity. Creates an API key with the role agent, bound to the application and its project, with the scopes tools:invoke, models:invoke plus the requested ones (201). The key is in api_key and is shown only once. Needs tenant_admin. Audited as application.external_agent.register.
Route: /v1/applications/{app_id}/external-agents (POST).
| Name | Type | Default | Required | Description |
|---|---|---|---|---|
appId | String | yes | Identifier (UUID) or name of the application. | |
body | Object | yes | Name of the identity and extra scopes. | |
options | RequestOptions | yes | Per call options (idempotency key, traceparent, headers, abort signal). |
Returns: JsonNode. Decoded JSON answer of the operation "Register a third party agent identity".
Raises: the typed errors of the transport (Errors).
ApplicationsClient.setStatus
JsonNode setStatus(String appId, Object body)
Suspend or retire an application. Sets the application to suspended or retired and its active deployments too; every gateway call of its external agents is refused from then on. Needs tenant_admin or security_officer. Audited as application.suspended or application.retired.
Route: /v1/applications/{app_id}/status (POST).
| Name | Type | Default | Required | Description |
|---|---|---|---|---|
appId | String | yes | Identifier (UUID) or name of the application. | |
body | Object | yes | Target status and reason. |
Returns: JsonNode. Decoded JSON answer of the operation "Suspend or retire an application".
Raises: the typed errors of the transport (Errors).
ApplicationsClient.setStatus
JsonNode setStatus(String appId, Object body, RequestOptions options)
Suspend or retire an application. Sets the application to suspended or retired and its active deployments too; every gateway call of its external agents is refused from then on. Needs tenant_admin or security_officer. Audited as application.suspended or application.retired.
Route: /v1/applications/{app_id}/status (POST).
| Name | Type | Default | Required | Description |
|---|---|---|---|---|
appId | String | yes | Identifier (UUID) or name of the application. | |
body | Object | yes | Target status and reason. | |
options | RequestOptions | yes | Per call options (idempotency key, traceparent, headers, abort signal). |
Returns: JsonNode. Decoded JSON answer of the operation "Suspend or retire an application".
Raises: the typed errors of the transport (Errors).