Skip to main content

Overview

The Application Service API provides comprehensive CRUD operations for Application resources. Applications represent the desired state of a Kubernetes application managed by Argo CD. Base Path: /api/v1/applications gRPC Service: application.ApplicationService

Application Resource

An Application defines the source repository, destination cluster, and sync policies.

Application Spec

ApplicationSource
Reference to the location of manifests or chart (single-source)
ApplicationSource[]
Multiple sources for multi-source applications
ApplicationDestination
required
Target Kubernetes cluster and namespace
string
required
Project name (use “default” if not specified)
SyncPolicy
Sync policy configuration

Example Application

API Operations

List Applications

Retrieve a list of applications.
string[]
Filter by project names
string
Label selector (e.g., app=myapp,env=prod)
string
Filter by repository URL
string
Filter by application namespace

Get Application

Retrieve a specific application by name.
string
required
Application name
string
Force refresh from Git (“normal” or “hard”)
string
Project filter for validation
string
Application namespace

Create Application

Create a new application.
Application
required
Complete Application resource definition
boolean
Update if already exists (default: false)
boolean
Validate before creating (default: true)

Update Application

Update an existing application.
Application
required
Updated Application resource
boolean
Validate before updating

Update Application Spec

Update only the application spec.
string
required
Application name
ApplicationSpec
required
Updated specification

Patch Application

Partially update an application.
string
required
Application name
string
required
JSON patch or merge patch content
string
required
Patch type: “json”, “merge”, or “strategic”
Example:

Delete Application

Delete an application.
string
required
Application name
boolean
Delete application resources (default: true)
string
Kubernetes propagation policy: “foreground”, “background”, or “orphan”
string
Application namespace

Sync Operations

Sync Application

Trigger a sync operation to deploy the application.
string
required
Application name
string
Target revision to sync (default: spec.targetRevision)
boolean
Delete resources not in Git
boolean
Preview sync without applying changes
SyncStrategy
Sync strategy (hook, apply)
SyncOperationResource[]
Specific resources to sync
string[]
Sync options (e.g., “PruneLast=true”)

Terminate Operation

Cancel a running sync operation.

Rollback Application

Rollback to a previous revision.
string
required
Application name
int64
required
History ID to rollback to
boolean
Prune resources during rollback
boolean
Preview rollback

Resource Operations

Get Resource

Get a specific resource managed by the application.
string
Resource namespace
string
required
Resource name
string
required
API version (e.g., “v1”)
string
API group (empty for core)
string
required
Resource kind (e.g., “Deployment”)

Delete Resource

Delete a specific resource.

Patch Resource

Patch a specific resource.

Monitoring & Observability

Get Resource Tree

Get the application’s resource hierarchy.

Watch Resource Tree

Stream resource tree updates.

Get Pod Logs

Stream logs from application pods.
string
Container name
boolean
Stream logs
int64
Number of lines to tail
int64
Logs from last N seconds

Watch Applications

Stream application change events.

Next Steps

ApplicationSet API

Manage ApplicationSets

Project API

Configure projects for applications