---
title: "Patch patch an application"
method: PATCH
path: "/api/v1/applications/{name}"
tags: ["ApplicationService"]
---

# Patch patch an application

`PATCH /api/v1/applications/{name}`

## Path parameters

- `name` string, required

## Request body

- ApplicationApplicationPatchRequest
  - `name` string
  - `patch` string
  - `patchType` string

## Response `200`

(empty)

- V1alpha1Application
  - `metadata` V1ObjectMeta — ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.
    - `annotations` object
    - `clusterName` string
    - `creationTimestamp` V1Time — Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers. +protobuf.options.marshal=false +protobuf.as=Timestamp +protobuf.options.(gogoproto.goproto_stringer)=false
      - `nanos` integer — Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive. This field may be limited in precision depending on context.
      - `seconds` string, int64 — Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
    - `deletionGracePeriodSeconds` string, int64
    - `deletionTimestamp` V1Time — Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers. +protobuf.options.marshal=false +protobuf.as=Timestamp +protobuf.options.(gogoproto.goproto_stringer)=false
      - `nanos` integer — Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive. This field may be limited in precision depending on context.
      - `seconds` string, int64 — Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
    - `finalizers` string[]
    - `generateName` string — GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional
    - `generation` string, int64
    - `initializers` V1Initializers — Initializers tracks the progress of initialization.
      - `pending` V1Initializer[]
        - `name` string — name of the process that is responsible for initializing this object.
      - `result` V1Status — Status is a return value for calls that don't return other objects.
        - `code` integer
        - `details` V1StatusDetails — StatusDetails is a set of additional properties that MAY be set by the server to provide additional information about a response. The Reason field of a Status object defines what attributes will be set. Clients must ignore fields that do not match the defined type of each attribute, and should assume that any attribute may be empty, invalid, or under defined.
          - `causes` V1StatusCause[]
            - `field` string — The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional. Examples: "name" - the field "name" on the current resource "items[0].name" - the field "name" on the first array entry in "items" +optional
            - `message` string
            - `reason` string
          - `group` string
          - `kind` string
          - `name` string
          - `retryAfterSeconds` integer
          - `uid` string
        - `message` string
        - `metadata` V1ListMeta — ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.
          - `continue` string — continue may be set if the user set a limit on the number of items returned, and indicates that the server has more data available. The value is opaque and may be used to issue another request to the endpoint that served this list to retrieve the next set of available objects. Continuing a consistent list may not be possible if the server configuration has changed or more than a few minutes have passed. The resourceVersion field returned when using this continue value will be identical to the value in the first response, unless you have received this token from an error message.
          - `resourceVersion` string
          - `selfLink` string
        - `reason` string
        - `status` string
    - `labels` object
    - `managedFields` V1ManagedFieldsEntry[] — ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like "ci-cd". The set of fields is always in the version that the workflow used when modifying the object. This field is alpha and can be changed or removed without notice. +optional
      - `apiVersion` string — APIVersion defines the version of this resource that this field set applies to. The format is "group/version" just like the top-level APIVersion field. It is necessary to track the version of a field set because it cannot be automatically converted.
      - `fields` V1Fields
        - `map` object — Map stores a set of fields in a data structure like a Trie. Each key is either a '.' representing the field itself, and will always map to an empty set, or a string representing a sub-field or item. The string will follow one of these four formats: 'f:<name>', where <name> is the name of a field in a struct, or key in a map 'v:<value>', where <value> is the exact json formatted value of a list item 'i:<index>', where <index> is position of a item in a list 'k:<keys>', where <keys> is a map of a list item's key fields to their unique values If a key maps to an empty Fields value, the field that key represents is part of the set. The exact format is defined in k8s.io/apiserver/pkg/endpoints/handlers/fieldmanager/internal
      - `manager` string — Manager is an identifier of the workflow managing these fields.
      - `operation` string — Operation is the type of operation which lead to this ManagedFieldsEntry being created. The only valid values for this field are 'Apply' and 'Update'.
      - `time` V1Time — Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers. +protobuf.options.marshal=false +protobuf.as=Timestamp +protobuf.options.(gogoproto.goproto_stringer)=false
        - `nanos` integer — Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive. This field may be limited in precision depending on context.
        - `seconds` string, int64 — Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
    - `name` string
    - `namespace` string — Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces +optional
    - `ownerReferences` V1OwnerReference[]
      - `apiVersion` string — API version of the referent.
      - `blockOwnerDeletion` boolean
      - `controller` boolean
      - `kind` string
      - `name` string
      - `uid` string
    - `resourceVersion` string — An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional
    - `selfLink` string
    - `uid` string — UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional
  - `operation` V1alpha1Operation — Operation contains requested operation parameters.
    - `sync` V1alpha1SyncOperation — SyncOperation contains sync operation details.
      - `dryRun` boolean
      - `manifests` string[]
      - `prune` boolean
      - `resources` V1alpha1SyncOperationResource[]
        - `group` string
        - `kind` string
        - `name` string
      - `revision` string — Revision is the git revision in which to sync the application to. If omitted, will use the revision specified in app spec.
      - `source` V1alpha1ApplicationSource — ApplicationSource contains information about github repository, path within repository and target application environment.
        - `directory` V1alpha1ApplicationSourceDirectory
          - `jsonnet` V1alpha1ApplicationSourceJsonnet
            - `extVars` V1alpha1JsonnetVar[]
              - …
            - `tlas` V1alpha1JsonnetVar[]
              - …
          - `recurse` boolean
        - `helm` V1alpha1ApplicationSourceHelm
          - `parameters` V1alpha1HelmParameter[]
            - `forceString` boolean
            - `name` string
            - `value` string
          - `releaseName` string
          - `valueFiles` string[]
        - `ksonnet` V1alpha1ApplicationSourceKsonnet
          - `environment` string
          - `parameters` V1alpha1KsonnetParameter[]
            - `component` string
            - `name` string
            - `value` string
        - `kustomize` V1alpha1ApplicationSourceKustomize
          - `commonLabels` object
          - `images` string[]
          - `namePrefix` string
        - `path` string
        - `plugin` V1alpha1ApplicationSourcePlugin
          - `env` V1alpha1EnvEntry[]
            - `name` string
            - `value` string
          - `name` string
        - `repoURL` string
        - `targetRevision` string
      - `syncStrategy` V1alpha1SyncStrategy
        - `apply` V1alpha1SyncStrategyApply
          - `force` boolean — Force indicates whether or not to supply the --force flag to `kubectl apply`. The --force flag deletes and re-create the resource, when PATCH encounters conflict and has retried for 5 times.
        - `hook` V1alpha1SyncStrategyHook — SyncStrategyHook will perform a sync using hooks annotations. If no hook annotation is specified falls back to `kubectl apply`.
          - `syncStrategyApply` V1alpha1SyncStrategyApply
            - `force` boolean — Force indicates whether or not to supply the --force flag to `kubectl apply`. The --force flag deletes and re-create the resource, when PATCH encounters conflict and has retried for 5 times.
  - `spec` V1alpha1ApplicationSpec — ApplicationSpec represents desired application state. Contains link to repository with application definition and additional parameters link definition revision.
    - `destination` V1alpha1ApplicationDestination
      - `namespace` string
      - `server` string
    - `ignoreDifferences` V1alpha1ResourceIgnoreDifferences[]
      - `group` string
      - `jsonPointers` string[]
      - `kind` string
      - `name` string
      - `namespace` string
    - `info` V1alpha1Info[]
      - `name` string
      - `value` string
    - `project` string — Project is a application project name. Empty name means that application belongs to 'default' project.
    - `source` V1alpha1ApplicationSource — ApplicationSource contains information about github repository, path within repository and target application environment.
      - `directory` V1alpha1ApplicationSourceDirectory
        - `jsonnet` V1alpha1ApplicationSourceJsonnet
          - `extVars` V1alpha1JsonnetVar[]
            - `code` boolean
            - `name` string
            - `value` string
          - `tlas` V1alpha1JsonnetVar[]
            - `code` boolean
            - `name` string
            - `value` string
        - `recurse` boolean
      - `helm` V1alpha1ApplicationSourceHelm
        - `parameters` V1alpha1HelmParameter[]
          - `forceString` boolean
          - `name` string
          - `value` string
        - `releaseName` string
        - `valueFiles` string[]
      - `ksonnet` V1alpha1ApplicationSourceKsonnet
        - `environment` string
        - `parameters` V1alpha1KsonnetParameter[]
          - `component` string
          - `name` string
          - `value` string
      - `kustomize` V1alpha1ApplicationSourceKustomize
        - `commonLabels` object
        - `images` string[]
        - `namePrefix` string
      - `path` string
      - `plugin` V1alpha1ApplicationSourcePlugin
        - `env` V1alpha1EnvEntry[]
          - `name` string
          - `value` string
        - `name` string
      - `repoURL` string
      - `targetRevision` string
    - `syncPolicy` V1alpha1SyncPolicy
      - `automated` V1alpha1SyncPolicyAutomated
        - `prune` boolean
        - `selfHeal` boolean
  - `status` V1alpha1ApplicationStatus
    - `conditions` V1alpha1ApplicationCondition[]
      - `message` string
      - `type` string
    - `health` V1alpha1HealthStatus
      - `message` string
      - `status` string
    - `history` V1alpha1RevisionHistory[]
      - `deployedAt` V1Time — Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers. +protobuf.options.marshal=false +protobuf.as=Timestamp +protobuf.options.(gogoproto.goproto_stringer)=false
        - `nanos` integer — Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive. This field may be limited in precision depending on context.
        - `seconds` string, int64 — Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
      - `id` string, int64
      - `revision` string
      - `source` V1alpha1ApplicationSource — ApplicationSource contains information about github repository, path within repository and target application environment.
        - `directory` V1alpha1ApplicationSourceDirectory
          - `jsonnet` V1alpha1ApplicationSourceJsonnet
            - `extVars` V1alpha1JsonnetVar[]
              - …
            - `tlas` V1alpha1JsonnetVar[]
              - …
          - `recurse` boolean
        - `helm` V1alpha1ApplicationSourceHelm
          - `parameters` V1alpha1HelmParameter[]
            - `forceString` boolean
            - `name` string
            - `value` string
          - `releaseName` string
          - `valueFiles` string[]
        - `ksonnet` V1alpha1ApplicationSourceKsonnet
          - `environment` string
          - `parameters` V1alpha1KsonnetParameter[]
            - `component` string
            - `name` string
            - `value` string
        - `kustomize` V1alpha1ApplicationSourceKustomize
          - `commonLabels` object
          - `images` string[]
          - `namePrefix` string
        - `path` string
        - `plugin` V1alpha1ApplicationSourcePlugin
          - `env` V1alpha1EnvEntry[]
            - `name` string
            - `value` string
          - `name` string
        - `repoURL` string
        - `targetRevision` string
    - `observedAt` V1Time — Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers. +protobuf.options.marshal=false +protobuf.as=Timestamp +protobuf.options.(gogoproto.goproto_stringer)=false
      - `nanos` integer — Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive. This field may be limited in precision depending on context.
      - `seconds` string, int64 — Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
    - `operationState` V1alpha1OperationState — OperationState contains information about state of currently performing operation on application.
      - `finishedAt` V1Time — Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers. +protobuf.options.marshal=false +protobuf.as=Timestamp +protobuf.options.(gogoproto.goproto_stringer)=false
        - `nanos` integer — Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive. This field may be limited in precision depending on context.
        - `seconds` string, int64 — Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
      - `message` string — Message hold any pertinent messages when attempting to perform operation (typically errors).
      - `operation` V1alpha1Operation — Operation contains requested operation parameters.
        - `sync` V1alpha1SyncOperation — SyncOperation contains sync operation details.
          - `dryRun` boolean
          - `manifests` string[]
          - `prune` boolean
          - `resources` V1alpha1SyncOperationResource[]
            - `group` string
            - `kind` string
            - `name` string
          - `revision` string — Revision is the git revision in which to sync the application to. If omitted, will use the revision specified in app spec.
          - `source` V1alpha1ApplicationSource — ApplicationSource contains information about github repository, path within repository and target application environment.
            - `directory` V1alpha1ApplicationSourceDirectory
              - …
            - `helm` V1alpha1ApplicationSourceHelm
              - …
            - `ksonnet` V1alpha1ApplicationSourceKsonnet
              - …
            - `kustomize` V1alpha1ApplicationSourceKustomize
              - …
            - `path` string
            - `plugin` V1alpha1ApplicationSourcePlugin
              - …
            - `repoURL` string
            - `targetRevision` string
          - `syncStrategy` V1alpha1SyncStrategy
            - `apply` V1alpha1SyncStrategyApply
              - …
            - `hook` V1alpha1SyncStrategyHook — SyncStrategyHook will perform a sync using hooks annotations. If no hook annotation is specified falls back to `kubectl apply`.
              - …
      - `phase` string
      - `startedAt` V1Time — Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers. +protobuf.options.marshal=false +protobuf.as=Timestamp +protobuf.options.(gogoproto.goproto_stringer)=false
        - `nanos` integer — Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive. This field may be limited in precision depending on context.
        - `seconds` string, int64 — Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
      - `syncResult` V1alpha1SyncOperationResult
        - `resources` V1alpha1ResourceResult[]
          - `group` string
          - `hookPhase` string
          - `hookType` string
          - `kind` string
          - `message` string
          - `name` string
          - `namespace` string
          - `status` string
          - `syncPhase` string
          - `version` string
        - `revision` string
        - `source` V1alpha1ApplicationSource — ApplicationSource contains information about github repository, path within repository and target application environment.
          - `directory` V1alpha1ApplicationSourceDirectory
            - `jsonnet` V1alpha1ApplicationSourceJsonnet
              - …
            - `recurse` boolean
          - `helm` V1alpha1ApplicationSourceHelm
            - `parameters` V1alpha1HelmParameter[]
              - …
            - `releaseName` string
            - `valueFiles` string[]
          - `ksonnet` V1alpha1ApplicationSourceKsonnet
            - `environment` string
            - `parameters` V1alpha1KsonnetParameter[]
              - …
          - `kustomize` V1alpha1ApplicationSourceKustomize
            - `commonLabels` object
            - `images` string[]
            - `namePrefix` string
          - `path` string
          - `plugin` V1alpha1ApplicationSourcePlugin
            - `env` V1alpha1EnvEntry[]
              - …
            - `name` string
          - `repoURL` string
          - `targetRevision` string
    - `reconciledAt` V1Time — Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers. +protobuf.options.marshal=false +protobuf.as=Timestamp +protobuf.options.(gogoproto.goproto_stringer)=false
      - `nanos` integer — Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive. This field may be limited in precision depending on context.
      - `seconds` string, int64 — Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
    - `resources` V1alpha1ResourceStatus[]
      - `group` string
      - `health` V1alpha1HealthStatus
        - `message` string
        - `status` string
      - `hook` boolean
      - `kind` string
      - `name` string
      - `namespace` string
      - `requiresPruning` boolean
      - `status` string
      - `version` string
    - `sourceType` string
    - `summary` V1alpha1ApplicationSummary
      - `externalURLs` string[] — ExternalURLs holds all external URLs of application child resources.
      - `images` string[] — Images holds all images of application child resources.
    - `sync` V1alpha1SyncStatus — SyncStatus is a comparison result of application spec and deployed application.
      - `comparedTo` V1alpha1ComparedTo
        - `destination` V1alpha1ApplicationDestination
          - `namespace` string
          - `server` string
        - `source` V1alpha1ApplicationSource — ApplicationSource contains information about github repository, path within repository and target application environment.
          - `directory` V1alpha1ApplicationSourceDirectory
            - `jsonnet` V1alpha1ApplicationSourceJsonnet
              - …
            - `recurse` boolean
          - `helm` V1alpha1ApplicationSourceHelm
            - `parameters` V1alpha1HelmParameter[]
              - …
            - `releaseName` string
            - `valueFiles` string[]
          - `ksonnet` V1alpha1ApplicationSourceKsonnet
            - `environment` string
            - `parameters` V1alpha1KsonnetParameter[]
              - …
          - `kustomize` V1alpha1ApplicationSourceKustomize
            - `commonLabels` object
            - `images` string[]
            - `namePrefix` string
          - `path` string
          - `plugin` V1alpha1ApplicationSourcePlugin
            - `env` V1alpha1EnvEntry[]
              - …
            - `name` string
          - `repoURL` string
          - `targetRevision` string
      - `revision` string
      - `status` string

---

[API](https://skmtc.net/devtron-labs/apis/consolidate-services.md) · [All operations](https://skmtc.net/devtron-labs/apis/consolidate-services/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/devtron-labs/consolidate-services/revisions/778bfc291d1e/schema)
