# List applications for a specific agent List returns a list of applications for a specific agent. Endpoint: GET /gitops/api/v1/agents/{agentIdentifier}/applications Version: 1.0 Security: x-api-key ## Path parameters: - `agentIdentifier` (string, required) Agent identifier for entity. ## Query parameters: - `accountIdentifier` (string) Account Identifier for the Entity. - `orgIdentifier` (string) Organization Identifier for the Entity. - `projectIdentifier` (string) Project Identifier for the Entity. - `query.name` (string) the application's name. - `query.refresh` (string) set to "normal" OR "hard" if an application refresh is required before fetching. normal refresh only if source has changed(commit, helm chart version, etc.) hard refresh will invalidate all generated manifest caches and force regeneration. - `query.project` (array) the project names to restrict returned list applications. - `query.resourceVersion` (string) when specified with a watch call, shows changes that occur after that particular version of a resource. - `query.selector` (string) the selector to to restrict returned list to applications only with matched labels. - `query.repo` (string) the repoURL to restrict returned list applications. - `query.appNamespace` (string) - `fetchFromHarness` (boolean) fetchFromHarness is used in Get Application API to fetch application directly from mongodb instead of from agent. Use in Get Application API to fetch application directly from harness. This is already the fallback if the task times out on Gitops Agent. Use with caution as this may not return the latest state of application. ## Response 200 fields (application/json): - `metadata` (object) ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}. - `metadata.selfLink` (string) - `metadata.resourceVersion` (string) - `metadata.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. - `metadata.remainingItemCount` (string) - `items` (array) - `items.metadata` (object) ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. - `items.metadata.name` (string) - `items.metadata.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 return a 409. Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency +optional - `items.metadata.namespace` (string) Namespace defines the space within which 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: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces +optional - `items.metadata.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: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids +optional - `items.metadata.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/sig-architecture/api-conventions.md#concurrency-control-and-consistency +optional - `items.metadata.generation` (string) - `items.metadata.creationTimestamp` (object) 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 - `items.metadata.creationTimestamp.seconds` (string) 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. - `items.metadata.creationTimestamp.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. - `items.metadata.deletionTimestamp` (object) 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 - `items.metadata.deletionGracePeriodSeconds` (string) - `items.metadata.labels` (object) - `items.metadata.annotations` (object) - `items.metadata.ownerReferences` (array) - `items.metadata.ownerReferences.apiVersion` (string) API version of the referent. - `items.metadata.ownerReferences.kind` (string) - `items.metadata.ownerReferences.uid` (string) - `items.metadata.ownerReferences.controller` (boolean) - `items.metadata.ownerReferences.blockOwnerDeletion` (boolean) - `items.metadata.finalizers` (array) - `items.metadata.managedFields` (array) 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. +optional +listType=atomic - `items.metadata.managedFields.manager` (string) Manager is an identifier of the workflow managing these fields. - `items.metadata.managedFields.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'. - `items.metadata.managedFields.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. - `items.metadata.managedFields.time` (object) 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 - `items.metadata.managedFields.fieldsType` (string) - `items.metadata.managedFields.fieldsV1` (object) FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format. 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:', where is the name of a field in a struct, or key in a map 'v:', where is the exact json formatted value of a list item 'i:', where is position of a item in a list 'k:', where 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 sigs.k8s.io/structured-merge-diff +protobuf.options.(gogoproto.goproto_stringer)=false - `items.metadata.managedFields.fieldsV1.Raw` (string) Raw is the underlying serialization of this object. - `items.metadata.managedFields.subresource` (string) Subresource is the name of the subresource used to update that object, or empty string if the object was updated through the main resource. The value of this field is used to distinguish between managers, even if they share the same name. For example, a status update will be distinct from a regular update using the same manager name. Note that the APIVersion field is not related to the Subresource field and it always corresponds to the version of the main resource. - `items.spec` (object) ApplicationSpec represents desired application state. Contains link to repository with application definition and additional parameters link definition revision. - `items.spec.source` (object) - `items.spec.source.repoURL` (string) - `items.spec.source.path` (string) Path is a directory path within the Git repository, and is only valid for applications sourced from Git. - `items.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. - `items.spec.source.helm` (object) - `items.spec.source.helm.valueFiles` (array) - `items.spec.source.helm.parameters` (array) - `items.spec.source.helm.parameters.value` (string) - `items.spec.source.helm.parameters.forceString` (boolean) - `items.spec.source.helm.releaseName` (string) - `items.spec.source.helm.values` (string) - `items.spec.source.helm.fileParameters` (array) - `items.spec.source.helm.fileParameters.path` (string) - `items.spec.source.helm.version` (string) - `items.spec.source.helm.passCredentials` (boolean) - `items.spec.source.helm.ignoreMissingValueFiles` (boolean) - `items.spec.source.helm.skipCrds` (boolean) - `items.spec.source.helm.valuesObject` (object) - `items.spec.source.helm.namespace` (string) Namespace is an optional namespace to template with. If left empty, defaults to the app's destination namespace. - `items.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. - `items.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. - `items.spec.source.helm.skipTests` (boolean) SkipTests skips test manifest installation step (Helm's --skip-tests). - `items.spec.source.helm.skipSchemaValidation` (boolean) - `items.spec.source.kustomize` (object) - `items.spec.source.kustomize.namePrefix` (string) - `items.spec.source.kustomize.nameSuffix` (string) - `items.spec.source.kustomize.images` (array) - `items.spec.source.kustomize.commonLabels` (object) - `items.spec.source.kustomize.commonAnnotations` (object) - `items.spec.source.kustomize.forceCommonLabels` (boolean) - `items.spec.source.kustomize.forceCommonAnnotations` (boolean) - `items.spec.source.kustomize.namespace` (string) - `items.spec.source.kustomize.replicas` (array) - `items.spec.source.kustomize.replicas.count` (string) - `items.spec.source.kustomize.patches` (array) - `items.spec.source.kustomize.patches.patch` (string) - `items.spec.source.kustomize.patches.target` (object) - `items.spec.source.kustomize.patches.target.resId` (object) - `items.spec.source.kustomize.patches.target.resId.gvk` (object) - `items.spec.source.kustomize.patches.target.resId.gvk.group` (string) - `items.spec.source.kustomize.patches.target.annotationSelector` (string) - `items.spec.source.kustomize.patches.target.labelSelector` (string) - `items.spec.source.kustomize.patches.options` (object) - `items.spec.source.kustomize.components` (array) - `items.spec.source.kustomize.labelWithoutSelector` (boolean) - `items.spec.source.ksonnet` (object) - `items.spec.source.ksonnet.environment` (string) - `items.spec.source.directory` (object) - `items.spec.source.directory.recurse` (boolean) - `items.spec.source.directory.jsonnet` (object) - `items.spec.source.directory.jsonnet.extVars` (array) - `items.spec.source.directory.jsonnet.extVars.code` (boolean) - `items.spec.source.directory.jsonnet.tlas` (array) - `items.spec.source.directory.jsonnet.libs` (array) - `items.spec.source.directory.exclude` (string) - `items.spec.source.directory.include` (string) - `items.spec.source.plugin` (object) - `items.spec.source.plugin.env` (array) - `items.spec.source.chart` (string) Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo. - `items.spec.source.ref` (string) Ref is reference to another source within sources field. This field will not be used if used with a tag. - `items.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. - `items.spec.destination` (object) - `items.spec.destination.server` (string) - `items.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. - `items.spec.syncPolicy` (object) - `items.spec.syncPolicy.automated` (object) - `items.spec.syncPolicy.automated.prune` (boolean) - `items.spec.syncPolicy.automated.selfHeal` (boolean) - `items.spec.syncPolicy.automated.allowEmpty` (boolean) - `items.spec.syncPolicy.syncOptions` (array) - `items.spec.syncPolicy.retry` (object) - `items.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. - `items.spec.syncPolicy.retry.backoff` (object) - `items.spec.syncPolicy.retry.backoff.duration` (string) - `items.spec.syncPolicy.retry.backoff.factor` (string) - `items.spec.syncPolicy.retry.backoff.maxDuration` (string) - `items.spec.syncPolicy.managedNamespaceMetadata` (object) - `items.spec.ignoreDifferences` (array) - `items.spec.ignoreDifferences.jsonPointers` (array) - `items.spec.ignoreDifferences.jqPathExpressions` (array) - `items.spec.ignoreDifferences.managedFieldsManagers` (array) - `items.spec.info` (array) - `items.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. - `items.spec.sources` (array) - `items.status` (object) - `items.status.resources` (array) - `items.status.resources.health` (object) - `items.status.resources.health.message` (string) - `items.status.resources.health.lastTransitionTime` (object) 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 - `items.status.resources.hook` (boolean) - `items.status.resources.requiresPruning` (boolean) - `items.status.resources.syncWave` (string) - `items.status.resources.requiresDeletionConfirmation` (boolean) - `items.status.sync` (object) - `items.status.sync.comparedTo` (object) - `items.status.sync.revision` (string) - `items.status.sync.revisions` (array) - `items.status.history` (array) - `items.status.history.deployedAt` (object) 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 - `items.status.history.id` (string) - `items.status.history.deployStartedAt` (object) 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 - `items.status.history.deployedAtTs` (string) - `items.status.history.deployStartedAtTs` (string) - `items.status.history.initiatedBy` (object) - `items.status.history.initiatedBy.username` (string) - `items.status.history.initiatedBy.automated` (boolean) Automated is set to true if operation was initiated automatically by the application controller. - `items.status.conditions` (array) - `items.status.conditions.type` (string) - `items.status.conditions.lastTransitionTimeTs` (string) - `items.status.reconciledAt` (object) 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 - `items.status.operationState` (object) - `items.status.operationState.operation` (object) - `items.status.operationState.operation.sync` (object) SyncOperation contains details about a sync operation. - `items.status.operationState.operation.sync.revision` (string) Revision is the revision (Git) or chart version (Helm) which to sync the application to If omitted, will use the revision specified in app spec. - `items.status.operationState.operation.sync.dryRun` (boolean) - `items.status.operationState.operation.sync.syncStrategy` (object) - `items.status.operationState.operation.sync.syncStrategy.apply` (object) - `items.status.operationState.operation.sync.syncStrategy.apply.force` (boolean) Force indicates whether or not to supply the --force flag to . The --force flag deletes and re-create the resource, when PATCH encounters conflict and has retried for 5 times. - `items.status.operationState.operation.sync.syncStrategy.hook` (object) SyncStrategyHook will perform a sync using hooks annotations. If no hook annotation is specified falls back to . - `items.status.operationState.operation.sync.syncStrategy.hook.force` (boolean) - `items.status.operationState.operation.sync.manifests` (array) - `items.status.operationState.operation.sync.revisions` (array) Revisions is the list of revision (Git) or chart version (Helm) which to sync each source in sources field for the application to If omitted, will use the revision specified in app spec. - `items.status.operationState.operation.sync.autoHealAttemptsCount` (string) - `items.status.operationState.phase` (string) - `items.status.operationState.message` (string) Message holds any pertinent messages when attempting to perform operation (typically errors). - `items.status.operationState.syncResult` (object) - `items.status.operationState.startedAt` (object) 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 - `items.status.operationState.finishedAt` (object) 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 - `items.status.operationState.retryCount` (string) - `items.status.operationState.startedAtTs` (string) - `items.status.operationState.finishedAtTs` (string) - `items.status.observedAt` (object) 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 - `items.status.sourceType` (string) - `items.status.summary` (object) - `items.status.summary.externalURLs` (array) ExternalURLs holds all external URLs of application child resources. - `items.status.summary.images` (array) Images holds all images of application child resources. - `items.status.resourceHealthSource` (string) - `items.status.sourceTypes` (array) - `items.status.controllerNamespace` (string) ## 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.