# Update application spec UpdateSpec updates an application spec. Endpoint: PUT /gitops/api/v1/agents/{agentIdentifier}/applications/{request.name}/spec Version: 1.0 Security: x-api-key ## Path parameters: - `agentIdentifier` (string, required) Agent identifier for entity. - `request.name` (string, required) ## Query parameters: - `accountIdentifier` (string) Account Identifier for the Entity. - `orgIdentifier` (string) Organization Identifier for the Entity. - `projectIdentifier` (string) Project Identifier for the Entity. ## Request fields (application/json): - `name` (string) - `spec` (object) ApplicationSpec represents desired application state. Contains link to repository with application definition and additional parameters link definition revision. - `spec.source` (object) - `spec.source.repoURL` (string) - `spec.source.path` (string) Path is a directory path within the Git repository, and is only valid for applications sourced from Git. - `spec.source.targetRevision` (string) TargetRevision defines the revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. - `spec.source.helm` (object) - `spec.source.helm.valueFiles` (array) - `spec.source.helm.parameters` (array) - `spec.source.helm.parameters.value` (string) - `spec.source.helm.parameters.forceString` (boolean) - `spec.source.helm.releaseName` (string) - `spec.source.helm.values` (string) - `spec.source.helm.fileParameters` (array) - `spec.source.helm.fileParameters.path` (string) - `spec.source.helm.version` (string) - `spec.source.helm.passCredentials` (boolean) - `spec.source.helm.ignoreMissingValueFiles` (boolean) - `spec.source.helm.skipCrds` (boolean) - `spec.source.helm.valuesObject` (object) - `spec.source.helm.namespace` (string) Namespace is an optional namespace to template with. If left empty, defaults to the app's destination namespace. - `spec.source.helm.kubeVersion` (string) KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD uses the Kubernetes version of the target cluster. - `spec.source.helm.apiVersions` (array) APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, Argo CD uses the API versions of the target cluster. The format is [group/]version/kind. - `spec.source.helm.skipTests` (boolean) SkipTests skips test manifest installation step (Helm's --skip-tests). - `spec.source.helm.skipSchemaValidation` (boolean) - `spec.source.kustomize` (object) - `spec.source.kustomize.namePrefix` (string) - `spec.source.kustomize.nameSuffix` (string) - `spec.source.kustomize.images` (array) - `spec.source.kustomize.commonLabels` (object) - `spec.source.kustomize.commonAnnotations` (object) - `spec.source.kustomize.forceCommonLabels` (boolean) - `spec.source.kustomize.forceCommonAnnotations` (boolean) - `spec.source.kustomize.namespace` (string) - `spec.source.kustomize.replicas` (array) - `spec.source.kustomize.replicas.count` (string) - `spec.source.kustomize.patches` (array) - `spec.source.kustomize.patches.patch` (string) - `spec.source.kustomize.patches.target` (object) - `spec.source.kustomize.patches.target.resId` (object) - `spec.source.kustomize.patches.target.resId.gvk` (object) - `spec.source.kustomize.patches.target.resId.gvk.group` (string) - `spec.source.kustomize.patches.target.resId.gvk.kind` (string) - `spec.source.kustomize.patches.target.annotationSelector` (string) - `spec.source.kustomize.patches.target.labelSelector` (string) - `spec.source.kustomize.patches.options` (object) - `spec.source.kustomize.components` (array) - `spec.source.kustomize.labelWithoutSelector` (boolean) - `spec.source.ksonnet` (object) - `spec.source.ksonnet.environment` (string) - `spec.source.directory` (object) - `spec.source.directory.recurse` (boolean) - `spec.source.directory.jsonnet` (object) - `spec.source.directory.jsonnet.extVars` (array) - `spec.source.directory.jsonnet.extVars.code` (boolean) - `spec.source.directory.jsonnet.tlas` (array) - `spec.source.directory.jsonnet.libs` (array) - `spec.source.directory.exclude` (string) - `spec.source.directory.include` (string) - `spec.source.plugin` (object) - `spec.source.plugin.env` (array) - `spec.source.chart` (string) Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo. - `spec.source.ref` (string) Ref is reference to another source within sources field. This field will not be used if used with a tag. - `spec.source.name` (string) Name is used to refer to a source and is displayed in the UI. It is used in multi-source Applications. - `spec.destination` (object) - `spec.destination.server` (string) - `spec.project` (string) Project is a reference to the project this application belongs to. The empty string means that application belongs to the 'default' project. - `spec.syncPolicy` (object) - `spec.syncPolicy.automated` (object) - `spec.syncPolicy.automated.prune` (boolean) - `spec.syncPolicy.automated.selfHeal` (boolean) - `spec.syncPolicy.automated.allowEmpty` (boolean) - `spec.syncPolicy.syncOptions` (array) - `spec.syncPolicy.retry` (object) - `spec.syncPolicy.retry.limit` (string) Limit is the maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. - `spec.syncPolicy.retry.backoff` (object) - `spec.syncPolicy.retry.backoff.duration` (string) - `spec.syncPolicy.retry.backoff.factor` (string) - `spec.syncPolicy.retry.backoff.maxDuration` (string) - `spec.syncPolicy.managedNamespaceMetadata` (object) - `spec.syncPolicy.managedNamespaceMetadata.labels` (object) - `spec.syncPolicy.managedNamespaceMetadata.annotations` (object) - `spec.ignoreDifferences` (array) - `spec.ignoreDifferences.jsonPointers` (array) - `spec.ignoreDifferences.jqPathExpressions` (array) - `spec.ignoreDifferences.managedFieldsManagers` (array) - `spec.info` (array) - `spec.revisionHistoryLimit` (string) RevisionHistoryLimit limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. - `spec.sources` (array) - `validate` (boolean) - `appNamespace` (string) - `project` (string) ## Response 200 fields (application/json): - `source` (object) - `source.repoURL` (string) - `source.path` (string) Path is a directory path within the Git repository, and is only valid for applications sourced from Git. - `source.targetRevision` (string) TargetRevision defines the revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. - `source.helm` (object) - `source.helm.valueFiles` (array) - `source.helm.parameters` (array) - `source.helm.parameters.name` (string) - `source.helm.parameters.value` (string) - `source.helm.parameters.forceString` (boolean) - `source.helm.releaseName` (string) - `source.helm.values` (string) - `source.helm.fileParameters` (array) - `source.helm.fileParameters.path` (string) - `source.helm.version` (string) - `source.helm.passCredentials` (boolean) - `source.helm.ignoreMissingValueFiles` (boolean) - `source.helm.skipCrds` (boolean) - `source.helm.valuesObject` (object) - `source.helm.namespace` (string) Namespace is an optional namespace to template with. If left empty, defaults to the app's destination namespace. - `source.helm.kubeVersion` (string) KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD uses the Kubernetes version of the target cluster. - `source.helm.apiVersions` (array) APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default, Argo CD uses the API versions of the target cluster. The format is [group/]version/kind. - `source.helm.skipTests` (boolean) SkipTests skips test manifest installation step (Helm's --skip-tests). - `source.helm.skipSchemaValidation` (boolean) - `source.kustomize` (object) - `source.kustomize.namePrefix` (string) - `source.kustomize.nameSuffix` (string) - `source.kustomize.images` (array) - `source.kustomize.commonLabels` (object) - `source.kustomize.commonAnnotations` (object) - `source.kustomize.forceCommonLabels` (boolean) - `source.kustomize.forceCommonAnnotations` (boolean) - `source.kustomize.namespace` (string) - `source.kustomize.replicas` (array) - `source.kustomize.replicas.count` (string) - `source.kustomize.patches` (array) - `source.kustomize.patches.patch` (string) - `source.kustomize.patches.target` (object) - `source.kustomize.patches.target.resId` (object) - `source.kustomize.patches.target.resId.gvk` (object) - `source.kustomize.patches.target.resId.gvk.group` (string) - `source.kustomize.patches.target.resId.gvk.kind` (string) - `source.kustomize.patches.target.annotationSelector` (string) - `source.kustomize.patches.target.labelSelector` (string) - `source.kustomize.patches.options` (object) - `source.kustomize.components` (array) - `source.kustomize.labelWithoutSelector` (boolean) - `source.ksonnet` (object) - `source.ksonnet.environment` (string) - `source.directory` (object) - `source.directory.recurse` (boolean) - `source.directory.jsonnet` (object) - `source.directory.jsonnet.extVars` (array) - `source.directory.jsonnet.extVars.code` (boolean) - `source.directory.jsonnet.tlas` (array) - `source.directory.jsonnet.libs` (array) - `source.directory.exclude` (string) - `source.directory.include` (string) - `source.plugin` (object) - `source.plugin.env` (array) - `source.chart` (string) Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo. - `source.ref` (string) Ref is reference to another source within sources field. This field will not be used if used with a tag. - `source.name` (string) Name is used to refer to a source and is displayed in the UI. It is used in multi-source Applications. - `destination` (object) - `destination.server` (string) - `project` (string) Project is a reference to the project this application belongs to. The empty string means that application belongs to the 'default' project. - `syncPolicy` (object) - `syncPolicy.automated` (object) - `syncPolicy.automated.prune` (boolean) - `syncPolicy.automated.selfHeal` (boolean) - `syncPolicy.automated.allowEmpty` (boolean) - `syncPolicy.syncOptions` (array) - `syncPolicy.retry` (object) - `syncPolicy.retry.limit` (string) Limit is the maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. - `syncPolicy.retry.backoff` (object) - `syncPolicy.retry.backoff.duration` (string) - `syncPolicy.retry.backoff.factor` (string) - `syncPolicy.retry.backoff.maxDuration` (string) - `syncPolicy.managedNamespaceMetadata` (object) - `syncPolicy.managedNamespaceMetadata.labels` (object) - `syncPolicy.managedNamespaceMetadata.annotations` (object) - `ignoreDifferences` (array) - `ignoreDifferences.jsonPointers` (array) - `ignoreDifferences.jqPathExpressions` (array) - `ignoreDifferences.managedFieldsManagers` (array) - `info` (array) - `revisionHistoryLimit` (string) RevisionHistoryLimit limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. - `sources` (array) ## Response default fields (application/json): - `error` (string) - `code` (integer) - `message` (string) - `details` (array) - `details.type_url` (string) A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in ). The name should be in a canonical form (e.g., leading "." is not accepted). In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme , , or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows: * If no scheme is provided, is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.) Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com. As of May 2023, there are no widely used type server implementations and no plans to implement one. Schemes other than , (or the empty scheme) might be used with implementation specific semantics. - `details.value` (string) Must be a valid serialized protocol buffer of the above specified type.