ProjectService

GetDetailedProject returns a project that include project, global project and scoped resources by name

GET
https://argocd.example.com/api/v1/projects/{name}/detailed

Parameters

namestringrequiredpath

Response

A successful response.

Response fields application/json
Show child attributes
annotationsobject
Show child attributes
[key: string]string
clusterResourcesboolean

Indicates if cluster level resources should be managed. This setting is used only if cluster is connected in a namespaced mode.

ClusterConfig is the configuration attributes. This structure is subset of the go-client rest.Config with annotations added for marshalling.

Show child attributes
Show child attributes
clusterNamestring
profilestring

Profile contains optional role ARN. If set then AWS IAM Authenticator uses the profile to perform cluster operations instead of the default AWS credential provider chain.

roleARNstring

RoleARN contains optional role ARN. If set then AWS IAM Authenticator assume a role to perform cluster operations instead of the default AWS credential provider chain.

bearerTokenstring

Server requires Bearer authentication. This client will not attempt to use refresh tokens for an OAuth2 flow. TODO: demonstrate an OAuth2 compatible client.

burstinteger<int64>

Burst allows extra queries to accumulate for a rapid burst of requests to this cluster.

disableCompressionboolean

DisableCompression bypasses automatic GZip compression requests to the server.

execProviderConfigv1alpha1ExecProviderConfig
Show child attributes
apiVersionstring
argsArray<string>
commandstring

RawExtension is used to hold extensions in external versions.

To use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.

// Internal package:

type MyAPIObject struct {
	runtime.TypeMeta `json:""`
	MyPlugin runtime.Object `json:"myPlugin"`
}

type PluginA struct {
	AOption string `json:"aOption"`
}

// External package:

type MyAPIObject struct {
	runtime.TypeMeta `json:""`
	MyPlugin runtime.RawExtension `json:"myPlugin"`
}

type PluginA struct {
	AOption string `json:"aOption"`
}

// On the wire, the JSON will look something like this:

{
	"kind":"MyAPIObject",
	"apiVersion":"v1",
	"myPlugin": {
		"kind":"PluginA",
		"aOption":"foo",
	},
}

So what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)

+k8s:deepcopy-gen=true +protobuf=true +k8s:openapi-gen=true

Show child attributes
rawstring<byte>

Raw is the underlying serialization of this object.

TODO: Determine how to detect ContentType and ContentEncoding of 'Raw' data.

envobject
Show child attributes
[key: string]string
installHintstring
provideClusterInfoboolean
passwordstring
proxyUrlstring
qpsnumber<float>

QPS controls the number of queries per second allowed for this cluster.

Show child attributes
caDatastring<byte>
certDatastring<byte>
insecureboolean

Insecure specifies that the server should be accessed without verifying the TLS certificate. For testing only.

keyDatastring<byte>
serverNamestring

ServerName is passed to the server for SNI and is used in the client to check server certificates against. If ServerName is empty, the hostname used to contact the server is used.

usernamestring
configHashstring<uint64>
Show child attributes

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

messagestring
statusstring
Show child attributes
apiVersionsArray<string>
applicationsCountinteger<int64>
Show child attributes
apisCountinteger<int64>
lastCacheSyncTimev1Time<date-time>

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

resourcesCountinteger<int64>
Show child attributes

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

messagestring
statusstring
serverVersionstring
labelsobject
Show child attributes
[key: string]string
namestring
namespacesArray<string>

Holds list of namespaces which are accessible in that cluster. Cluster level resources will be ignored if namespace list is not empty.

projectstring
refreshRequestedAtv1Time<date-time>

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

serverstring
serverVersionstring
shardinteger<int64>

Shard contains optional shard number. Calculated on the fly by the application controller if not specified.

Show child attributes
metadatav1ObjectMeta

ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.

Show child attributes
annotationsobject
Show child attributes
[key: string]string
creationTimestampv1Time<date-time>

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

deletionGracePeriodSecondsinteger<int64>
deletionTimestampv1Time<date-time>

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

finalizersArray<string>
generateNamestring

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

generationinteger<int64>
labelsobject
Show child attributes
[key: string]string

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 +k8s:alpha(since: "1.37")=+k8s:optional

Show child attributes

ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource that the fieldset applies to.

apiVersionstring

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.

fieldsTypestring
fieldsV1v1FieldsV1

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 +k8s:deepcopy-gen=false +protobuf.options.marshal=false +protobuf.options.(gogoproto.goproto_stringer)=false

Show child attributes
Rawstring<byte>

Raw is the underlying serialization of this object.

Deprecated: Direct access to this field is deprecated. Use GetRawBytes, GetRawString, SetRawBytes, SetRawString, GetRawReader, NewFieldsV1 instead.

managerstring

Manager is an identifier of the workflow managing these fields.

operationstring
subresourcestring

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.

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

namestring
namespacestring

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

Show child attributes
apiVersionstring
blockOwnerDeletionboolean
controllerboolean
kindstring
namestring
uidstring
resourceVersionstring

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

uidstring

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 +k8s:alpha(since: "1.37")=+k8s:optional +k8s:alpha(since: "1.37")=+k8s:immutable

Show child attributes
Show child attributes
groupstring
kindstring
namestring

Name is the name of the restricted resource. Glob patterns using Go's filepath.Match syntax are supported. Unlike the group and kind fields, if no name is specified, all resources of the specified group/kind are matched.

Show child attributes
groupstring
kindstring
namestring

Name is the name of the restricted resource. Glob patterns using Go's filepath.Match syntax are supported. Unlike the group and kind fields, if no name is specified, all resources of the specified group/kind are matched.

descriptionstring

DestinationServiceAccounts holds information about the service accounts to be impersonated for the application sync operation for each destination.

Show child attributes

ApplicationDestinationServiceAccount holds information about the service account to be impersonated for the application sync operation.

defaultServiceAccountstring
namespacestring

Namespace specifies the target namespace for the application's resources.

serverstring

Server specifies the URL of the target cluster's Kubernetes control plane API.

Show child attributes
namestring

Name is an alternate way of specifying the target cluster by its symbolic name. This must be set if Server is not set.

namespacestring
serverstring

Server specifies the URL of the target cluster's Kubernetes control plane API. This must be set if Name is not set.

namespaceResourceBlacklistArray<v1GroupKind>
Show child attributes

+protobuf.options.(gogoproto.goproto_stringer)=false

groupstring
kindstring
namespaceResourceWhitelistArray<v1GroupKind>
Show child attributes

+protobuf.options.(gogoproto.goproto_stringer)=false

groupstring
kindstring
Show child attributes
Show child attributes
groupstring
kindstring
namestring
warnboolean
permitOnlyProjectScopedClustersboolean
Show child attributes
descriptionstring
groupsArray<string>
Show child attributes
expinteger<int64>
iatinteger<int64>
idstring
namestring
policiesArray<string>

Deprecated: Use SourceIntegrity instead. SignatureKeys will be removed with the next major version.

Show child attributes

Deprecated: Use SourceIntegrity instead. SignatureKeys will be removed with the next major version.

keyIDstring
Show child attributes
Show child attributes
Show child attributes

SourceIntegrityGitPolicyGPG verifies that the commit(s) are both correctly signed by a key in the repo-server keyring, and that they are signed by one of the key listed in Keys.

This policy can be deactivated through the ARGOCD_GPG_ENABLED environment variable.

Note the listing of problematic commits/signatures reported when "strict" mode validation fails may not be complete. This means that a user that has addressed all problems reported by source integrity check can run into further problematic signatures on a subsequent attempt. That happens namely when history contains seal commits signed with gpg keys that are in the keyring, but not listed in Keys.

Show child attributes
keysArray<string>

List of key IDs to trust. The keys need to be in the repository server keyring.

modestring
Show child attributes
urlstring

URL specifier, glob.

sourceNamespacesArray<string>
sourceReposArray<string>
Show child attributes
andOperatorboolean
applicationsArray<string>
clustersArray<string>
descriptionstring
durationstring
kindstring
manualSyncboolean
namespacesArray<string>
schedulestring
syncOverrunboolean
timeZonestring
Show child attributes
jwtTokensByRoleobject
Show child attributes
[key: string]v1alpha1JWTTokens
Show child attributes
Show child attributes
expinteger<int64>
iatinteger<int64>
idstring
Show child attributes
metadatav1ObjectMeta

ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.

Show child attributes
annotationsobject
Show child attributes
[key: string]string
creationTimestampv1Time<date-time>

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

deletionGracePeriodSecondsinteger<int64>
deletionTimestampv1Time<date-time>

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

finalizersArray<string>
generateNamestring

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

generationinteger<int64>
labelsobject
Show child attributes
[key: string]string

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 +k8s:alpha(since: "1.37")=+k8s:optional

Show child attributes

ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource that the fieldset applies to.

apiVersionstring

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.

fieldsTypestring
fieldsV1v1FieldsV1

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 +k8s:deepcopy-gen=false +protobuf.options.marshal=false +protobuf.options.(gogoproto.goproto_stringer)=false

Show child attributes
Rawstring<byte>

Raw is the underlying serialization of this object.

Deprecated: Direct access to this field is deprecated. Use GetRawBytes, GetRawString, SetRawBytes, SetRawString, GetRawReader, NewFieldsV1 instead.

managerstring

Manager is an identifier of the workflow managing these fields.

operationstring
subresourcestring

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.

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

namestring
namespacestring

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

Show child attributes
apiVersionstring
blockOwnerDeletionboolean
controllerboolean
kindstring
namestring
uidstring
resourceVersionstring

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

uidstring

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 +k8s:alpha(since: "1.37")=+k8s:optional +k8s:alpha(since: "1.37")=+k8s:immutable

Show child attributes
Show child attributes
groupstring
kindstring
namestring

Name is the name of the restricted resource. Glob patterns using Go's filepath.Match syntax are supported. Unlike the group and kind fields, if no name is specified, all resources of the specified group/kind are matched.

Show child attributes
groupstring
kindstring
namestring

Name is the name of the restricted resource. Glob patterns using Go's filepath.Match syntax are supported. Unlike the group and kind fields, if no name is specified, all resources of the specified group/kind are matched.

descriptionstring

DestinationServiceAccounts holds information about the service accounts to be impersonated for the application sync operation for each destination.

Show child attributes

ApplicationDestinationServiceAccount holds information about the service account to be impersonated for the application sync operation.

defaultServiceAccountstring
namespacestring

Namespace specifies the target namespace for the application's resources.

serverstring

Server specifies the URL of the target cluster's Kubernetes control plane API.

Show child attributes
namestring

Name is an alternate way of specifying the target cluster by its symbolic name. This must be set if Server is not set.

namespacestring
serverstring

Server specifies the URL of the target cluster's Kubernetes control plane API. This must be set if Name is not set.

namespaceResourceBlacklistArray<v1GroupKind>
Show child attributes

+protobuf.options.(gogoproto.goproto_stringer)=false

groupstring
kindstring
namespaceResourceWhitelistArray<v1GroupKind>
Show child attributes

+protobuf.options.(gogoproto.goproto_stringer)=false

groupstring
kindstring
Show child attributes
Show child attributes
groupstring
kindstring
namestring
warnboolean
permitOnlyProjectScopedClustersboolean
Show child attributes
descriptionstring
groupsArray<string>
Show child attributes
expinteger<int64>
iatinteger<int64>
idstring
namestring
policiesArray<string>

Deprecated: Use SourceIntegrity instead. SignatureKeys will be removed with the next major version.

Show child attributes

Deprecated: Use SourceIntegrity instead. SignatureKeys will be removed with the next major version.

keyIDstring
Show child attributes
Show child attributes
Show child attributes

SourceIntegrityGitPolicyGPG verifies that the commit(s) are both correctly signed by a key in the repo-server keyring, and that they are signed by one of the key listed in Keys.

This policy can be deactivated through the ARGOCD_GPG_ENABLED environment variable.

Note the listing of problematic commits/signatures reported when "strict" mode validation fails may not be complete. This means that a user that has addressed all problems reported by source integrity check can run into further problematic signatures on a subsequent attempt. That happens namely when history contains seal commits signed with gpg keys that are in the keyring, but not listed in Keys.

Show child attributes
keysArray<string>

List of key IDs to trust. The keys need to be in the repository server keyring.

modestring
Show child attributes
urlstring

URL specifier, glob.

sourceNamespacesArray<string>
sourceReposArray<string>
Show child attributes
andOperatorboolean
applicationsArray<string>
clustersArray<string>
descriptionstring
durationstring
kindstring
manualSyncboolean
namespacesArray<string>
schedulestring
syncOverrunboolean
timeZonestring
Show child attributes
jwtTokensByRoleobject
Show child attributes
[key: string]v1alpha1JWTTokens
Show child attributes
Show child attributes
expinteger<int64>
iatinteger<int64>
idstring
Show child attributes
azureActiveDirectoryEndpointstring
azureServicePrincipalClientIdstring
azureServicePrincipalClientSecretstring
azureServicePrincipalTenantIdstring
bearerTokenstring
Show child attributes

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

messagestring
statusstring
depthinteger<int64>

Depth specifies the depth for shallow clones. A value of 0 or omitting the field indicates a full clone.

enableLfsboolean

EnableLFS specifies whether git-lfs support should be enabled for this repo. Only valid for Git repositories.

enableOCIboolean
forceHttpBasicAuthboolean
gcpServiceAccountKeystring
githubAppEnterpriseBaseUrlstring
githubAppIDinteger<int64>
githubAppInstallationIDinteger<int64>
githubAppPrivateKeystring
inheritedCredsboolean
insecureboolean
insecureIgnoreHostKeyboolean
insecureOCIForceHttpboolean

InsecureOCIForceHttp specifies whether the connection to the repository uses TLS at all. If true, no TLS. This flag is applicable for OCI repos only.

namestring
noProxystring
passwordstring
projectstring
proxystring
repostring
sshPrivateKeystring

SSHPrivateKey contains the PEM data for authenticating at the repo server. Only used with Git repos.

tlsClientCertDatastring
tlsClientCertKeystring
typestring

Type specifies the type of the repo. Can be either "git" or "helm. "git" is assumed if empty or absent.

useAzureWorkloadIdentityboolean
usernamestring
webhookManifestCacheWarmDisabledboolean

WebhookManifestCacheWarmDisabled disables manifest cache warming during webhook processing for this repository. When set, webhook handlers will only trigger reconciliation for affected applications and skip Redis cache operations for unaffected ones. Recommended for large monorepos with plain YAML manifests.

An unexpected error response.

Response fields application/json
codeinteger<int32>
Show child attributes
type_urlstring
valuestring<byte>
errorstring
messagestring

Authorization

bearerapiKey in header

A token sent as Authorization: Bearer <token>. API Docs shows how to get one.