Skip to main content

Application Service

Application Service API performs CRUD actions against application resources.

Service Definition

Package: application Service: ApplicationService The ApplicationService provides comprehensive management capabilities for Argo CD applications, including creation, updates, synchronization, rollback, and resource management.

RPC Methods

List

Returns list of applications. Request: ApplicationQuery
string
The application’s name
string
Forces application reconciliation if set to ‘hard’
string[]
The project names to restrict returned list applications
string
When specified with a watch call, shows changes that occur after that particular version of a resource
string
The selector to restrict returned list to applications only with matched labels
string
The repoURL to restrict returned list applications
string
The application’s namespace
Response: ApplicationList REST Endpoint: GET /api/v1/applications

Get

Returns an application by name. Request: ApplicationQuery
string
required
The application’s name
string
The application’s namespace
Response: Application REST Endpoint: GET /api/v1/applications/{name}

Create

Creates an application. Request: ApplicationCreateRequest
Application
required
The application to create
bool
Whether to create or update the application if it already exists
bool
Whether to validate the application before creating
Response: Application REST Endpoint: POST /api/v1/applications

Update

Updates an application. Request: ApplicationUpdateRequest
Application
required
The application to update
bool
Whether to validate the application before updating
string
The project name
Response: Application REST Endpoint: PUT /api/v1/applications/{application.metadata.name}

Delete

Deletes an application. Request: ApplicationDeleteRequest
string
required
The application’s name
bool
Whether to cascade delete resources
string
The deletion propagation policy (Foreground, Background, or Orphan)
string
The application’s namespace
string
The project name
Response: ApplicationResponse REST Endpoint: DELETE /api/v1/applications/{name}

Sync

Syncs an application to its target state. Request: ApplicationSyncRequest
string
required
The application’s name
string
The revision to sync to
bool
Whether to perform a dry run
bool
Whether to prune resources
SyncStrategy
The sync strategy to use
SyncOperationResource[]
The specific resources to sync
string[]
Additional manifests to sync
SyncOptions
Sync options
string
The application’s namespace
string[]
Revisions for multi-source applications
Response: Application REST Endpoint: POST /api/v1/applications/{name}/sync

Rollback

Rollbacks an application to a previous revision. Request: ApplicationRollbackRequest
string
required
The application’s name
int64
required
The history ID to rollback to
bool
Whether to perform a dry run
bool
Whether to prune resources
string
The application’s namespace
Response: Application REST Endpoint: POST /api/v1/applications/{name}/rollback

Watch

Returns stream of application change events. Request: ApplicationQuery Response: Stream of ApplicationWatchEvent REST Endpoint: GET /api/v1/stream/applications

GetManifests

Returns application manifests. Request: ApplicationManifestQuery
string
required
The application’s name
string
The revision to get manifests for
string
The application’s namespace
bool
Whether to bypass the cache
Response: ManifestResponse REST Endpoint: GET /api/v1/applications/{name}/manifests

UpdateSpec

Updates an application spec. Request: ApplicationUpdateSpecRequest
string
required
The application’s name
ApplicationSpec
required
The new application spec
bool
Whether to validate the spec before updating
string
The application’s namespace
Response: ApplicationSpec REST Endpoint: PUT /api/v1/applications/{name}/spec

Patch

Patches an application. Request: ApplicationPatchRequest
string
required
The application’s name
string
required
The patch to apply
string
required
The patch type (json, merge, or strategic)
string
The application’s namespace
Response: Application REST Endpoint: PATCH /api/v1/applications/{name}

ResourceTree

Returns resource tree for an application. Request: ResourcesQuery
string
required
The application’s name
string
Filter by namespace
string
Filter by resource name
string
Filter by API version
string
Filter by API group
string
Filter by resource kind
string
The application’s namespace
Response: ApplicationTree REST Endpoint: GET /api/v1/applications/{applicationName}/resource-tree

WatchResourceTree

Returns stream of application resource tree updates. Request: ResourcesQuery Response: Stream of ApplicationTree REST Endpoint: GET /api/v1/stream/applications/{applicationName}/resource-tree

GetResource

Returns a single application resource. Request: ApplicationResourceRequest
string
required
The application’s name
string
The resource’s namespace
string
required
The resource’s name
string
required
The API version
string
The API group
string
required
The resource kind
string
The application’s namespace
Response: ApplicationResourceResponse
string
The resource manifest in YAML or JSON format
REST Endpoint: GET /api/v1/applications/{name}/resource

PatchResource

Patches a single application resource. Request: ApplicationResourcePatchRequest
string
required
The application’s name
string
The resource’s namespace
string
required
The resource’s name
string
required
The API version
string
The API group
string
required
The resource kind
string
required
The patch to apply
string
required
The patch type
Response: ApplicationResourceResponse REST Endpoint: POST /api/v1/applications/{name}/resource

DeleteResource

Deletes a single application resource. Request: ApplicationResourceDeleteRequest
string
required
The application’s name
string
The resource’s namespace
string
required
The resource’s name
string
required
The API version
string
The API group
string
required
The resource kind
bool
Whether to force delete
bool
Whether to orphan the resource
Response: ApplicationResponse REST Endpoint: DELETE /api/v1/applications/{name}/resource

PodLogs

Returns stream of log entries for the specified pod. Request: ApplicationPodLogsQuery
string
required
The application’s name
string
The pod’s namespace
string
The pod’s name
string
The container name
int64
Logs since N seconds ago
int64
Number of lines to tail
bool
Whether to follow the log stream
string
Filter pattern for logs
bool
Whether to get logs from previous container instance
Response: Stream of LogEntry
string
The log content
string
The timestamp of the log entry
string
The pod name
bool
Whether this is the last log entry
REST Endpoint: GET /api/v1/applications/{name}/pods/{podName}/logs

TerminateOperation

Terminates the currently running operation. Request: OperationTerminateRequest
string
required
The application’s name
string
The application’s namespace
Response: OperationTerminateResponse REST Endpoint: DELETE /api/v1/applications/{name}/operation

ManagedResources

Returns list of managed resources. Request: ResourcesQuery Response: ManagedResourcesResponse
ResourceDiff[]
List of managed resources with their diff status
REST Endpoint: GET /api/v1/applications/{applicationName}/managed-resources

ListResourceEvents

Returns a list of event resources. Request: ApplicationResourceEventsQuery
string
required
The application’s name
string
The resource’s namespace
string
The resource’s name
string
The resource’s UID
Response: EventList REST Endpoint: GET /api/v1/applications/{name}/events

ListResourceActions

Returns list of available resource actions. Request: ApplicationResourceRequest Response: ResourceActionsListResponse
ResourceAction[]
List of available actions for the resource
REST Endpoint: GET /api/v1/applications/{name}/resource/actions

RunResourceActionV2

Runs a resource action with parameters. Request: ResourceActionRunRequestV2
string
required
The application’s name
string
The resource’s namespace
string
required
The resource’s name
string
required
The API version
string
The API group
string
required
The resource kind
string
required
The action name to run
ResourceActionParameters[]
Parameters for the action
Response: ApplicationResponse REST Endpoint: POST /api/v1/applications/{name}/resource/actions/v2

GetApplicationSyncWindows

Returns sync windows of the application. Request: ApplicationSyncWindowsQuery
string
required
The application’s name
string
The application’s namespace
Response: ApplicationSyncWindowsResponse
ApplicationSyncWindow[]
Currently active sync windows
ApplicationSyncWindow[]
All assigned sync windows
bool
Whether the application can sync now
REST Endpoint: GET /api/v1/applications/{name}/syncwindows

RevisionMetadata

Returns the metadata for a specific revision. Request: RevisionMetadataQuery
string
required
The application’s name
string
required
The revision to get metadata for
string
The application’s namespace
Response: RevisionMetadata REST Endpoint: GET /api/v1/applications/{name}/revisions/{revision}/metadata
Returns the list of all application deep links. Request: ListAppLinksRequest
string
required
The application’s name
string
The application’s namespace
Response: LinksResponse
LinkInfo[]
List of deep links
REST Endpoint: GET /api/v1/applications/{name}/links

gRPC Example