Create or update entities
https://api.datadoghq.com/api/v2/catalog/entityhttps://api.us3.datadoghq.com/api/v2/catalog/entityhttps://api.us5.datadoghq.com/api/v2/catalog/entityhttps://api.datadoghq.eu/api/v2/catalog/entityhttps://api.ap1.datadoghq.com/api/v2/catalog/entityhttps://api.ap2.datadoghq.com/api/v2/catalog/entityhttps://api.uk1.datadoghq.com/api/v2/catalog/entityhttps://api.ddog-gov.com/api/v2/catalog/entityhttps://api.us2.ddog-gov.com/api/v2/catalog/entityOverview
Create or update entities in Software Catalog.
OAuth apps require the apm_service_catalog_write authorization scope to access this endpoint.
Request
Body Data (required)
Entity YAML or JSON.
Option 1Entity schema v3.
<kind=service>Schema for service entities.
apiVersion [required]The version of the schema data that was used to populate this entity's data. This could be via the API, Terraform, or YAML file in a repository. The field is known as schema-version in the previous version.
v3, v2.2, v2.1, v2datadogDatadog product integrations for the service entity.
codeLocationsSchema for mapping source code locations to an entity.
pathsThe paths (glob) to the source code of the service.
repositoryURLThe repository path of the source code of the entity.
eventsEvents associations.
nameThe name of the query.
queryThe query to run.
logsLogs association.
nameThe name of the query.
queryThe query to run.
performanceDataPerformance stats association.
tagsA list of APM entity tags that associates the APM Stats data with the entity.
pipelinesCI Pipelines association.
fingerprintsA list of CI Fingerprints that associate CI Pipelines with the entity.
extensionsCustom extensions. This is the free-formed field to send client-side metadata. No Datadog features are affected by this field.
integrationsA base schema for defining third-party integrations.
opsgenieAn Opsgenie integration schema.
regionThe region for the Opsgenie integration.
serviceURL [required]The service URL for the Opsgenie integration.
pagerdutyA PagerDuty integration schema.
serviceURL [required]The service URL for the PagerDuty integration.
kind [required]The definition of Entity V3 Service Kind object.
servicemetadata [required]The definition of Entity V3 Metadata object.
additionalOwnersThe additional owners of the entity, usually a team.
name [required]Team name.
typeTeam type.
contactsA list of contacts for the entity.
contact [required]Contact value.
nameContact name.
type [required]Contact type.
descriptionShort description of the entity. The UI can leverage the description for display.
displayNameUser friendly name of the entity. The UI can leverage the display name for display.
idA read-only globally unique identifier for the entity generated by Datadog. User supplied values are ignored.
inheritFromThe entity reference from which to inherit metadata
linksA list of links for the entity.
name [required]Link name.
providerLink provider.
type [required]Link type.
otherurl [required]Link URL.
managedA read-only set of Datadog managed attributes generated by Datadog. User supplied values are ignored.
name [required]Unique name given to an entity under the kind/namespace.
namespaceNamespace is a part of unique identifier. It has a default value of 'default'.
ownerThe owner of the entity, usually a team.
tagsA set of custom tags.
specThe definition of Entity V3 Service Spec object.
componentOfA list of components the service is a part of
dependsOnA list of components the service depends on.
languagesThe service's programming language.
lifecycleThe lifecycle state of the component.
tierThe importance of the component.
typeThe type of service.
<kind=datastore>Schema for datastore entities.
apiVersion [required]The version of the schema data that was used to populate this entity's data. This could be via the API, Terraform, or YAML file in a repository. The field is known as schema-version in the previous version.
v3, v2.2, v2.1, v2datadogDatadog product integrations for the datastore entity.
eventsEvents associations.
nameThe name of the query.
queryThe query to run.
logsLogs association.
nameThe name of the query.
queryThe query to run.
performanceDataPerformance stats association.
tagsA list of APM entity tags that associates the APM Stats data with the entity.
extensionsCustom extensions. This is the free-formed field to send client side metadata. No Datadog features are affected by this field.
integrationsA base schema for defining third-party integrations.
opsgenieAn Opsgenie integration schema.
regionThe region for the Opsgenie integration.
serviceURL [required]The service URL for the Opsgenie integration.
pagerdutyA PagerDuty integration schema.
serviceURL [required]The service URL for the PagerDuty integration.
kind [required]The definition of Entity V3 Datastore Kind object.
datastoremetadata [required]The definition of Entity V3 Metadata object.
additionalOwnersThe additional owners of the entity, usually a team.
name [required]Team name.
typeTeam type.
contactsA list of contacts for the entity.
contact [required]Contact value.
nameContact name.
type [required]Contact type.
descriptionShort description of the entity. The UI can leverage the description for display.
displayNameUser friendly name of the entity. The UI can leverage the display name for display.
idA read-only globally unique identifier for the entity generated by Datadog. User supplied values are ignored.
inheritFromThe entity reference from which to inherit metadata
linksA list of links for the entity.
name [required]Link name.
providerLink provider.
type [required]Link type.
otherurl [required]Link URL.
managedA read-only set of Datadog managed attributes generated by Datadog. User supplied values are ignored.
name [required]Unique name given to an entity under the kind/namespace.
namespaceNamespace is a part of unique identifier. It has a default value of 'default'.
ownerThe owner of the entity, usually a team.
tagsA set of custom tags.
specThe definition of Entity V3 Datastore Spec object.
componentOfA list of components the datastore is a part of
lifecycleThe lifecycle state of the datastore.
tierThe importance of the datastore.
typeThe type of datastore.
<kind=queue>Schema for queue entities.
apiVersion [required]The version of the schema data that was used to populate this entity's data. This could be via the API, Terraform, or YAML file in a repository. The field is known as schema-version in the previous version.
v3, v2.2, v2.1, v2datadogDatadog product integrations for the datastore entity.
eventsEvents associations.
nameThe name of the query.
queryThe query to run.
logsLogs association.
nameThe name of the query.
queryThe query to run.
performanceDataPerformance stats association.
tagsA list of APM entity tags that associates the APM Stats data with the entity.
extensionsCustom extensions. This is the free-formed field to send client-side metadata. No Datadog features are affected by this field.
integrationsA base schema for defining third-party integrations.
opsgenieAn Opsgenie integration schema.
regionThe region for the Opsgenie integration.
serviceURL [required]The service URL for the Opsgenie integration.
pagerdutyA PagerDuty integration schema.
serviceURL [required]The service URL for the PagerDuty integration.
kind [required]The definition of Entity V3 Queue Kind object.
queuemetadata [required]The definition of Entity V3 Metadata object.
additionalOwnersThe additional owners of the entity, usually a team.
name [required]Team name.
typeTeam type.
contactsA list of contacts for the entity.
contact [required]Contact value.
nameContact name.
type [required]Contact type.
descriptionShort description of the entity. The UI can leverage the description for display.
displayNameUser friendly name of the entity. The UI can leverage the display name for display.
idA read-only globally unique identifier for the entity generated by Datadog. User supplied values are ignored.
inheritFromThe entity reference from which to inherit metadata
linksA list of links for the entity.
name [required]Link name.
providerLink provider.
type [required]Link type.
otherurl [required]Link URL.
managedA read-only set of Datadog managed attributes generated by Datadog. User supplied values are ignored.
name [required]Unique name given to an entity under the kind/namespace.
namespaceNamespace is a part of unique identifier. It has a default value of 'default'.
ownerThe owner of the entity, usually a team.
tagsA set of custom tags.
specThe definition of Entity V3 Queue Spec object.
componentOfA list of components the queue is a part of
lifecycleThe lifecycle state of the queue.
tierThe importance of the queue.
typeThe type of queue.
<kind=system>Schema for system entities.
apiVersion [required]The version of the schema data that was used to populate this entity's data. This could be via the API, Terraform, or YAML file in a repository. The field is known as schema-version in the previous version.
v3, v2.2, v2.1, v2datadogDatadog product integrations for the service entity.
eventsEvents associations.
nameThe name of the query.
queryThe query to run.
logsLogs association.
nameThe name of the query.
queryThe query to run.
performanceDataPerformance stats association.
tagsA list of APM entity tags that associates the APM Stats data with the entity.
pipelinesCI Pipelines association.
fingerprintsA list of CI Fingerprints that associate CI Pipelines with the entity.
extensionsCustom extensions. This is the free-formed field to send client-side metadata. No Datadog features are affected by this field.
integrationsA base schema for defining third-party integrations.
opsgenieAn Opsgenie integration schema.
regionThe region for the Opsgenie integration.
serviceURL [required]The service URL for the Opsgenie integration.
pagerdutyA PagerDuty integration schema.
serviceURL [required]The service URL for the PagerDuty integration.
kind [required]The definition of Entity V3 System Kind object.
systemmetadata [required]The definition of Entity V3 Metadata object.
additionalOwnersThe additional owners of the entity, usually a team.
name [required]Team name.
typeTeam type.
contactsA list of contacts for the entity.
contact [required]Contact value.
nameContact name.
type [required]Contact type.
descriptionShort description of the entity. The UI can leverage the description for display.
displayNameUser friendly name of the entity. The UI can leverage the display name for display.
idA read-only globally unique identifier for the entity generated by Datadog. User supplied values are ignored.
inheritFromThe entity reference from which to inherit metadata
linksA list of links for the entity.
name [required]Link name.
providerLink provider.
type [required]Link type.
otherurl [required]Link URL.
managedA read-only set of Datadog managed attributes generated by Datadog. User supplied values are ignored.
name [required]Unique name given to an entity under the kind/namespace.
namespaceNamespace is a part of unique identifier. It has a default value of 'default'.
ownerThe owner of the entity, usually a team.
tagsA set of custom tags.
specThe definition of Entity V3 System Spec object.
componentsA list of components belongs to the system.
lifecycleThe lifecycle state of the component.
tierAn entity reference to the owner of the component.
<kind=api>Schema for API entities.
apiVersion [required]The version of the schema data that was used to populate this entity's data. This could be via the API, Terraform, or YAML file in a repository. The field is known as schema-version in the previous version.
v3, v2.2, v2.1, v2datadogDatadog product integrations for the API entity.
codeLocationsSchema for mapping source code locations to an entity.
pathsThe paths (glob) to the source code of the service.
repositoryURLThe repository path of the source code of the entity.
eventsEvents associations.
nameThe name of the query.
queryThe query to run.
logsLogs association.
nameThe name of the query.
queryThe query to run.
performanceDataPerformance stats association.
tagsA list of APM entity tags that associates the APM Stats data with the entity.
pipelinesCI Pipelines association.
fingerprintsA list of CI Fingerprints that associate CI Pipelines with the entity.
extensionsCustom extensions. This is the free-formed field to send client-side metadata. No Datadog features are affected by this field.
integrationsA base schema for defining third-party integrations.
opsgenieAn Opsgenie integration schema.
regionThe region for the Opsgenie integration.
serviceURL [required]The service URL for the Opsgenie integration.
pagerdutyA PagerDuty integration schema.
serviceURL [required]The service URL for the PagerDuty integration.
kind [required]The definition of Entity V3 API Kind object.
apimetadata [required]The definition of Entity V3 Metadata object.
additionalOwnersThe additional owners of the entity, usually a team.
name [required]Team name.
typeTeam type.
contactsA list of contacts for the entity.
contact [required]Contact value.
nameContact name.
type [required]Contact type.
descriptionShort description of the entity. The UI can leverage the description for display.
displayNameUser friendly name of the entity. The UI can leverage the display name for display.
idA read-only globally unique identifier for the entity generated by Datadog. User supplied values are ignored.
inheritFromThe entity reference from which to inherit metadata
linksA list of links for the entity.
name [required]Link name.
providerLink provider.
type [required]Link type.
otherurl [required]Link URL.
managedA read-only set of Datadog managed attributes generated by Datadog. User supplied values are ignored.
name [required]Unique name given to an entity under the kind/namespace.
namespaceNamespace is a part of unique identifier. It has a default value of 'default'.
ownerThe owner of the entity, usually a team.
tagsA set of custom tags.
specThe definition of Entity V3 API Spec object.
implementedByServices which implemented the API.
interfaceThe API definition.
Object 1The definition of EntityV3APISpecInterfaceFileRef object.
fileRefThe reference to the API definition file.
Object 2The definition of EntityV3APISpecInterfaceDefinition object.
definitionThe API definition.
lifecycleThe lifecycle state of the component.
tierThe importance of the component.
typeThe type of API.
Option 2Entity definition in raw JSON or YAML representation.
{
"apiVersion": "v3",
"datadog": {
"codeLocations": [
{
"paths": []
}
],
"events": [
{}
],
"logs": [
{}
],
"performanceData": {
"tags": []
},
"pipelines": {
"fingerprints": []
}
},
"integrations": {
"opsgenie": {
"serviceURL": "https://www.opsgenie.com/service/shopping-cart"
},
"pagerduty": {
"serviceURL": "https://www.pagerduty.com/service-directory/Pshopping-cart"
}
},
"kind": "service",
"metadata": {
"additionalOwners": [],
"contacts": [
{
"contact": "https://slack/",
"type": "slack"
}
],
"id": "4b163705-23c0-4573-b2fb-f6cea2163fcb",
"inheritFrom": "application:default/myapp",
"links": [
{
"name": "mylink",
"type": "link",
"url": "https://mylink"
}
],
"name": "service-examplesoftwarecatalog",
"tags": [
"this:tag",
"that:tag"
]
},
"spec": {
"dependsOn": [],
"languages": []
}
}Response
ACCEPTED
Upsert entity response.
dataList of entity data.
attributesEntity attributes.
apiVersionThe API version.
descriptionThe description.
displayNameThe display name.
kindThe kind.
nameThe name.
namespaceThe namespace.
ownerThe owner.
tagsThe tags.
idEntity ID.
metaEntity metadata.
createdAtThe creation time.
ingestionSourceThe ingestion source.
modifiedAtThe modification time.
originThe origin.
relationshipsEntity relationships.
incidentsEntity to incidents relationship.
dataRelationships.
idAssociated data ID.
typeRelationship type.
oncallEntity to oncalls relationship.
dataRelationships.
idAssociated data ID.
typeRelationship type.
rawSchemaEntity to raw schema relationship.
dataRelationship entry.
idAssociated data ID.
typeRelationship type.
relatedEntitiesEntity to related entities relationship.
dataRelationships.
idAssociated data ID.
typeRelationship type.
schemaEntity to detail schema relationship.
dataRelationship entry.
idAssociated data ID.
typeRelationship type.
typeEntity.
includedUpsert entity response included.
<type=schema>Included detail entity schema.
attributesIncluded schema.
schemaEntity schema v3.
<kind=service>Schema for service entities.
apiVersion [required]The version of the schema data that was used to populate this entity's data. This could be via the API, Terraform, or YAML file in a repository. The field is known as schema-version in the previous version.
v3, v2.2, v2.1, v2datadogDatadog product integrations for the service entity.
codeLocationsSchema for mapping source code locations to an entity.
pathsThe paths (glob) to the source code of the service.
repositoryURLThe repository path of the source code of the entity.
eventsEvents associations.
nameThe name of the query.
queryThe query to run.
logsLogs association.
nameThe name of the query.
queryThe query to run.
performanceDataPerformance stats association.
tagsA list of APM entity tags that associates the APM Stats data with the entity.
pipelinesCI Pipelines association.
fingerprintsA list of CI Fingerprints that associate CI Pipelines with the entity.
extensionsCustom extensions. This is the free-formed field to send client-side metadata. No Datadog features are affected by this field.
integrationsA base schema for defining third-party integrations.
opsgenieAn Opsgenie integration schema.
regionThe region for the Opsgenie integration.
serviceURL [required]The service URL for the Opsgenie integration.
pagerdutyA PagerDuty integration schema.
serviceURL [required]The service URL for the PagerDuty integration.
kind [required]The definition of Entity V3 Service Kind object.
servicemetadata [required]The definition of Entity V3 Metadata object.
additionalOwnersThe additional owners of the entity, usually a team.
name [required]Team name.
typeTeam type.
contactsA list of contacts for the entity.
contact [required]Contact value.
nameContact name.
type [required]Contact type.
descriptionShort description of the entity. The UI can leverage the description for display.
displayNameUser friendly name of the entity. The UI can leverage the display name for display.
idA read-only globally unique identifier for the entity generated by Datadog. User supplied values are ignored.
inheritFromThe entity reference from which to inherit metadata
linksA list of links for the entity.
name [required]Link name.
providerLink provider.
type [required]Link type.
otherurl [required]Link URL.
managedA read-only set of Datadog managed attributes generated by Datadog. User supplied values are ignored.
name [required]Unique name given to an entity under the kind/namespace.
namespaceNamespace is a part of unique identifier. It has a default value of 'default'.
ownerThe owner of the entity, usually a team.
tagsA set of custom tags.
specThe definition of Entity V3 Service Spec object.
componentOfA list of components the service is a part of
dependsOnA list of components the service depends on.
languagesThe service's programming language.
lifecycleThe lifecycle state of the component.
tierThe importance of the component.
typeThe type of service.
<kind=datastore>Schema for datastore entities.
apiVersion [required]The version of the schema data that was used to populate this entity's data. This could be via the API, Terraform, or YAML file in a repository. The field is known as schema-version in the previous version.
v3, v2.2, v2.1, v2datadogDatadog product integrations for the datastore entity.
eventsEvents associations.
nameThe name of the query.
queryThe query to run.
logsLogs association.
nameThe name of the query.
queryThe query to run.
performanceDataPerformance stats association.
tagsA list of APM entity tags that associates the APM Stats data with the entity.
extensionsCustom extensions. This is the free-formed field to send client side metadata. No Datadog features are affected by this field.
integrationsA base schema for defining third-party integrations.
opsgenieAn Opsgenie integration schema.
regionThe region for the Opsgenie integration.
serviceURL [required]The service URL for the Opsgenie integration.
pagerdutyA PagerDuty integration schema.
serviceURL [required]The service URL for the PagerDuty integration.
kind [required]The definition of Entity V3 Datastore Kind object.
datastoremetadata [required]The definition of Entity V3 Metadata object.
additionalOwnersThe additional owners of the entity, usually a team.
name [required]Team name.
typeTeam type.
contactsA list of contacts for the entity.
contact [required]Contact value.
nameContact name.
type [required]Contact type.
descriptionShort description of the entity. The UI can leverage the description for display.
displayNameUser friendly name of the entity. The UI can leverage the display name for display.
idA read-only globally unique identifier for the entity generated by Datadog. User supplied values are ignored.
inheritFromThe entity reference from which to inherit metadata
linksA list of links for the entity.
name [required]Link name.
providerLink provider.
type [required]Link type.
otherurl [required]Link URL.
managedA read-only set of Datadog managed attributes generated by Datadog. User supplied values are ignored.
name [required]Unique name given to an entity under the kind/namespace.
namespaceNamespace is a part of unique identifier. It has a default value of 'default'.
ownerThe owner of the entity, usually a team.
tagsA set of custom tags.
specThe definition of Entity V3 Datastore Spec object.
componentOfA list of components the datastore is a part of
lifecycleThe lifecycle state of the datastore.
tierThe importance of the datastore.
typeThe type of datastore.
<kind=queue>Schema for queue entities.
apiVersion [required]The version of the schema data that was used to populate this entity's data. This could be via the API, Terraform, or YAML file in a repository. The field is known as schema-version in the previous version.
v3, v2.2, v2.1, v2datadogDatadog product integrations for the datastore entity.
eventsEvents associations.
nameThe name of the query.
queryThe query to run.
logsLogs association.
nameThe name of the query.
queryThe query to run.
performanceDataPerformance stats association.
tagsA list of APM entity tags that associates the APM Stats data with the entity.
extensionsCustom extensions. This is the free-formed field to send client-side metadata. No Datadog features are affected by this field.
integrationsA base schema for defining third-party integrations.
opsgenieAn Opsgenie integration schema.
regionThe region for the Opsgenie integration.
serviceURL [required]The service URL for the Opsgenie integration.
pagerdutyA PagerDuty integration schema.
serviceURL [required]The service URL for the PagerDuty integration.
kind [required]The definition of Entity V3 Queue Kind object.
queuemetadata [required]The definition of Entity V3 Metadata object.
additionalOwnersThe additional owners of the entity, usually a team.
name [required]Team name.
typeTeam type.
contactsA list of contacts for the entity.
contact [required]Contact value.
nameContact name.
type [required]Contact type.
descriptionShort description of the entity. The UI can leverage the description for display.
displayNameUser friendly name of the entity. The UI can leverage the display name for display.
idA read-only globally unique identifier for the entity generated by Datadog. User supplied values are ignored.
inheritFromThe entity reference from which to inherit metadata
linksA list of links for the entity.
name [required]Link name.
providerLink provider.
type [required]Link type.
otherurl [required]Link URL.
managedA read-only set of Datadog managed attributes generated by Datadog. User supplied values are ignored.
name [required]Unique name given to an entity under the kind/namespace.
namespaceNamespace is a part of unique identifier. It has a default value of 'default'.
ownerThe owner of the entity, usually a team.
tagsA set of custom tags.
specThe definition of Entity V3 Queue Spec object.
componentOfA list of components the queue is a part of
lifecycleThe lifecycle state of the queue.
tierThe importance of the queue.
typeThe type of queue.
<kind=system>Schema for system entities.
apiVersion [required]The version of the schema data that was used to populate this entity's data. This could be via the API, Terraform, or YAML file in a repository. The field is known as schema-version in the previous version.
v3, v2.2, v2.1, v2datadogDatadog product integrations for the service entity.
eventsEvents associations.
nameThe name of the query.
queryThe query to run.
logsLogs association.
nameThe name of the query.
queryThe query to run.
performanceDataPerformance stats association.
tagsA list of APM entity tags that associates the APM Stats data with the entity.
pipelinesCI Pipelines association.
fingerprintsA list of CI Fingerprints that associate CI Pipelines with the entity.
extensionsCustom extensions. This is the free-formed field to send client-side metadata. No Datadog features are affected by this field.
integrationsA base schema for defining third-party integrations.
opsgenieAn Opsgenie integration schema.
regionThe region for the Opsgenie integration.
serviceURL [required]The service URL for the Opsgenie integration.
pagerdutyA PagerDuty integration schema.
serviceURL [required]The service URL for the PagerDuty integration.
kind [required]The definition of Entity V3 System Kind object.
systemmetadata [required]The definition of Entity V3 Metadata object.
additionalOwnersThe additional owners of the entity, usually a team.
name [required]Team name.
typeTeam type.
contactsA list of contacts for the entity.
contact [required]Contact value.
nameContact name.
type [required]Contact type.
descriptionShort description of the entity. The UI can leverage the description for display.
displayNameUser friendly name of the entity. The UI can leverage the display name for display.
idA read-only globally unique identifier for the entity generated by Datadog. User supplied values are ignored.
inheritFromThe entity reference from which to inherit metadata
linksA list of links for the entity.
name [required]Link name.
providerLink provider.
type [required]Link type.
otherurl [required]Link URL.
managedA read-only set of Datadog managed attributes generated by Datadog. User supplied values are ignored.
name [required]Unique name given to an entity under the kind/namespace.
namespaceNamespace is a part of unique identifier. It has a default value of 'default'.
ownerThe owner of the entity, usually a team.
tagsA set of custom tags.
specThe definition of Entity V3 System Spec object.
componentsA list of components belongs to the system.
lifecycleThe lifecycle state of the component.
tierAn entity reference to the owner of the component.
<kind=api>Schema for API entities.
apiVersion [required]The version of the schema data that was used to populate this entity's data. This could be via the API, Terraform, or YAML file in a repository. The field is known as schema-version in the previous version.
v3, v2.2, v2.1, v2datadogDatadog product integrations for the API entity.
codeLocationsSchema for mapping source code locations to an entity.
pathsThe paths (glob) to the source code of the service.
repositoryURLThe repository path of the source code of the entity.
eventsEvents associations.
nameThe name of the query.
queryThe query to run.
logsLogs association.
nameThe name of the query.
queryThe query to run.
performanceDataPerformance stats association.
tagsA list of APM entity tags that associates the APM Stats data with the entity.
pipelinesCI Pipelines association.
fingerprintsA list of CI Fingerprints that associate CI Pipelines with the entity.
extensionsCustom extensions. This is the free-formed field to send client-side metadata. No Datadog features are affected by this field.
integrationsA base schema for defining third-party integrations.
opsgenieAn Opsgenie integration schema.
regionThe region for the Opsgenie integration.
serviceURL [required]The service URL for the Opsgenie integration.
pagerdutyA PagerDuty integration schema.
serviceURL [required]The service URL for the PagerDuty integration.
kind [required]The definition of Entity V3 API Kind object.
apimetadata [required]The definition of Entity V3 Metadata object.
additionalOwnersThe additional owners of the entity, usually a team.
name [required]Team name.
typeTeam type.
contactsA list of contacts for the entity.
contact [required]Contact value.
nameContact name.
type [required]Contact type.
descriptionShort description of the entity. The UI can leverage the description for display.
displayNameUser friendly name of the entity. The UI can leverage the display name for display.
idA read-only globally unique identifier for the entity generated by Datadog. User supplied values are ignored.
inheritFromThe entity reference from which to inherit metadata
linksA list of links for the entity.
name [required]Link name.
providerLink provider.
type [required]Link type.
otherurl [required]Link URL.
managedA read-only set of Datadog managed attributes generated by Datadog. User supplied values are ignored.
name [required]Unique name given to an entity under the kind/namespace.
namespaceNamespace is a part of unique identifier. It has a default value of 'default'.
ownerThe owner of the entity, usually a team.
tagsA set of custom tags.
specThe definition of Entity V3 API Spec object.
implementedByServices which implemented the API.
interfaceThe API definition.
Object 1The definition of EntityV3APISpecInterfaceFileRef object.
fileRefThe reference to the API definition file.
Object 2The definition of EntityV3APISpecInterfaceDefinition object.
definitionThe API definition.
lifecycleThe lifecycle state of the component.
tierThe importance of the component.
typeThe type of API.
idEntity ID.
typeSchema type.
schemametaEntity metadata.
countTotal entities count.
includeCountTotal included data count.
{
"data": [
{
"attributes": {
"apiVersion": "string",
"description": "string",
"displayName": "string",
"kind": "string",
"name": "string",
"namespace": "string",
"owner": "string",
"tags": []
},
"id": "string",
"meta": {
"createdAt": "string",
"ingestionSource": "string",
"modifiedAt": "string",
"origin": "string"
},
"relationships": {
"incidents": {
"data": [
{
"id": "string",
"type": "string"
}
]
},
"oncall": {
"data": [
{
"id": "string",
"type": "string"
}
]
},
"rawSchema": {
"data": {
"id": "string",
"type": "string"
}
},
"relatedEntities": {
"data": [
{
"id": "string",
"type": "string"
}
]
},
"schema": {
"data": {
"id": "string",
"type": "string"
}
}
},
"type": "string"
}
],
"included": [
{
"attributes": {
"schema": {
"apiVersion": "v3",
"datadog": {
"codeLocations": [
{
"paths": [],
"repositoryURL": "string"
}
],
"events": [
{
"name": "string",
"query": "string"
}
],
"logs": [
{
"name": "string",
"query": "string"
}
],
"performanceData": {
"tags": []
},
"pipelines": {
"fingerprints": []
}
},
"extensions": {},
"integrations": {
"opsgenie": {
"region": "string",
"serviceURL": "https://www.opsgenie.com/service/shopping-cart"
},
"pagerduty": {
"serviceURL": "https://www.pagerduty.com/service-directory/Pshopping-cart"
}
},
"kind": "service",
"metadata": {
"additionalOwners": [
{
"name": "",
"type": "string"
}
],
"contacts": [
{
"contact": "https://slack/",
"name": "string",
"type": "slack"
}
],
"description": "string",
"displayName": "string",
"id": "4b163705-23c0-4573-b2fb-f6cea2163fcb",
"inheritFrom": "application:default/myapp",
"links": [
{
"name": "mylink",
"provider": "string",
"type": "link",
"url": "https://mylink"
}
],
"managed": {},
"name": "myService",
"namespace": "default",
"owner": "string",
"tags": [
"this:tag",
"that:tag"
]
},
"spec": {
"componentOf": [],
"dependsOn": [],
"languages": [],
"lifecycle": "string",
"tier": "string",
"type": "string"
}
}
},
"id": "string",
"type": "string"
}
],
"meta": {
"count": "integer",
"includeCount": "integer"
}
}Bad Request
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Forbidden
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Too many requests
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Code Example
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/catalog/entity" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"apiVersion": "v3",
"datadog": {
"codeLocations": [
{
"paths": []
}
],
"events": [
{}
],
"logs": [
{}
],
"performanceData": {
"tags": []
},
"pipelines": {
"fingerprints": []
}
},
"integrations": {
"opsgenie": {
"serviceURL": "https://www.opsgenie.com/service/shopping-cart"
},
"pagerduty": {
"serviceURL": "https://www.pagerduty.com/service-directory/Pshopping-cart"
}
},
"kind": "service",
"metadata": {
"additionalOwners": [],
"contacts": [
{
"contact": "https://slack/",
"type": "slack"
}
],
"id": "4b163705-23c0-4573-b2fb-f6cea2163fcb",
"inheritFrom": "application:default/myapp",
"links": [
{
"name": "mylink",
"type": "link",
"url": "https://mylink"
}
],
"name": "service-examplesoftwarecatalog",
"tags": [
"this:tag",
"that:tag"
]
},
"spec": {
"dependsOn": [],
"languages": []
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/catalog/entity" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"apiVersion": "v3",
"datadog": {
"codeLocations": [
{
"paths": []
}
],
"events": [
{}
],
"logs": [
{}
],
"performanceData": {
"tags": []
},
"pipelines": {
"fingerprints": []
}
},
"integrations": {
"opsgenie": {
"serviceURL": "https://www.opsgenie.com/service/shopping-cart"
},
"pagerduty": {
"serviceURL": "https://www.pagerduty.com/service-directory/Pshopping-cart"
}
},
"kind": "service",
"metadata": {
"additionalOwners": [],
"contacts": [
{
"contact": "https://slack/",
"type": "slack"
}
],
"id": "4b163705-23c0-4573-b2fb-f6cea2163fcb",
"inheritFrom": "application:default/myapp",
"links": [
{
"name": "mylink",
"type": "link",
"url": "https://mylink"
}
],
"name": "service-examplesoftwarecatalog",
"tags": [
"this:tag",
"that:tag"
]
},
"spec": {
"dependsOn": [],
"languages": []
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/catalog/entity" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"apiVersion": "v3",
"datadog": {
"codeLocations": [
{
"paths": []
}
],
"events": [
{}
],
"logs": [
{}
],
"performanceData": {
"tags": []
},
"pipelines": {
"fingerprints": []
}
},
"integrations": {
"opsgenie": {
"serviceURL": "https://www.opsgenie.com/service/shopping-cart"
},
"pagerduty": {
"serviceURL": "https://www.pagerduty.com/service-directory/Pshopping-cart"
}
},
"kind": "service",
"metadata": {
"additionalOwners": [],
"contacts": [
{
"contact": "https://slack/",
"type": "slack"
}
],
"id": "4b163705-23c0-4573-b2fb-f6cea2163fcb",
"inheritFrom": "application:default/myapp",
"links": [
{
"name": "mylink",
"type": "link",
"url": "https://mylink"
}
],
"name": "service-examplesoftwarecatalog",
"tags": [
"this:tag",
"that:tag"
]
},
"spec": {
"dependsOn": [],
"languages": []
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/catalog/entity" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"apiVersion": "v3",
"datadog": {
"codeLocations": [
{
"paths": []
}
],
"events": [
{}
],
"logs": [
{}
],
"performanceData": {
"tags": []
},
"pipelines": {
"fingerprints": []
}
},
"integrations": {
"opsgenie": {
"serviceURL": "https://www.opsgenie.com/service/shopping-cart"
},
"pagerduty": {
"serviceURL": "https://www.pagerduty.com/service-directory/Pshopping-cart"
}
},
"kind": "service",
"metadata": {
"additionalOwners": [],
"contacts": [
{
"contact": "https://slack/",
"type": "slack"
}
],
"id": "4b163705-23c0-4573-b2fb-f6cea2163fcb",
"inheritFrom": "application:default/myapp",
"links": [
{
"name": "mylink",
"type": "link",
"url": "https://mylink"
}
],
"name": "service-examplesoftwarecatalog",
"tags": [
"this:tag",
"that:tag"
]
},
"spec": {
"dependsOn": [],
"languages": []
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/catalog/entity" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"apiVersion": "v3",
"datadog": {
"codeLocations": [
{
"paths": []
}
],
"events": [
{}
],
"logs": [
{}
],
"performanceData": {
"tags": []
},
"pipelines": {
"fingerprints": []
}
},
"integrations": {
"opsgenie": {
"serviceURL": "https://www.opsgenie.com/service/shopping-cart"
},
"pagerduty": {
"serviceURL": "https://www.pagerduty.com/service-directory/Pshopping-cart"
}
},
"kind": "service",
"metadata": {
"additionalOwners": [],
"contacts": [
{
"contact": "https://slack/",
"type": "slack"
}
],
"id": "4b163705-23c0-4573-b2fb-f6cea2163fcb",
"inheritFrom": "application:default/myapp",
"links": [
{
"name": "mylink",
"type": "link",
"url": "https://mylink"
}
],
"name": "service-examplesoftwarecatalog",
"tags": [
"this:tag",
"that:tag"
]
},
"spec": {
"dependsOn": [],
"languages": []
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/catalog/entity" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"apiVersion": "v3",
"datadog": {
"codeLocations": [
{
"paths": []
}
],
"events": [
{}
],
"logs": [
{}
],
"performanceData": {
"tags": []
},
"pipelines": {
"fingerprints": []
}
},
"integrations": {
"opsgenie": {
"serviceURL": "https://www.opsgenie.com/service/shopping-cart"
},
"pagerduty": {
"serviceURL": "https://www.pagerduty.com/service-directory/Pshopping-cart"
}
},
"kind": "service",
"metadata": {
"additionalOwners": [],
"contacts": [
{
"contact": "https://slack/",
"type": "slack"
}
],
"id": "4b163705-23c0-4573-b2fb-f6cea2163fcb",
"inheritFrom": "application:default/myapp",
"links": [
{
"name": "mylink",
"type": "link",
"url": "https://mylink"
}
],
"name": "service-examplesoftwarecatalog",
"tags": [
"this:tag",
"that:tag"
]
},
"spec": {
"dependsOn": [],
"languages": []
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/catalog/entity" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"apiVersion": "v3",
"datadog": {
"codeLocations": [
{
"paths": []
}
],
"events": [
{}
],
"logs": [
{}
],
"performanceData": {
"tags": []
},
"pipelines": {
"fingerprints": []
}
},
"integrations": {
"opsgenie": {
"serviceURL": "https://www.opsgenie.com/service/shopping-cart"
},
"pagerduty": {
"serviceURL": "https://www.pagerduty.com/service-directory/Pshopping-cart"
}
},
"kind": "service",
"metadata": {
"additionalOwners": [],
"contacts": [
{
"contact": "https://slack/",
"type": "slack"
}
],
"id": "4b163705-23c0-4573-b2fb-f6cea2163fcb",
"inheritFrom": "application:default/myapp",
"links": [
{
"name": "mylink",
"type": "link",
"url": "https://mylink"
}
],
"name": "service-examplesoftwarecatalog",
"tags": [
"this:tag",
"that:tag"
]
},
"spec": {
"dependsOn": [],
"languages": []
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/catalog/entity" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"apiVersion": "v3",
"datadog": {
"codeLocations": [
{
"paths": []
}
],
"events": [
{}
],
"logs": [
{}
],
"performanceData": {
"tags": []
},
"pipelines": {
"fingerprints": []
}
},
"integrations": {
"opsgenie": {
"serviceURL": "https://www.opsgenie.com/service/shopping-cart"
},
"pagerduty": {
"serviceURL": "https://www.pagerduty.com/service-directory/Pshopping-cart"
}
},
"kind": "service",
"metadata": {
"additionalOwners": [],
"contacts": [
{
"contact": "https://slack/",
"type": "slack"
}
],
"id": "4b163705-23c0-4573-b2fb-f6cea2163fcb",
"inheritFrom": "application:default/myapp",
"links": [
{
"name": "mylink",
"type": "link",
"url": "https://mylink"
}
],
"name": "service-examplesoftwarecatalog",
"tags": [
"this:tag",
"that:tag"
]
},
"spec": {
"dependsOn": [],
"languages": []
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/catalog/entity" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"apiVersion": "v3",
"datadog": {
"codeLocations": [
{
"paths": []
}
],
"events": [
{}
],
"logs": [
{}
],
"performanceData": {
"tags": []
},
"pipelines": {
"fingerprints": []
}
},
"integrations": {
"opsgenie": {
"serviceURL": "https://www.opsgenie.com/service/shopping-cart"
},
"pagerduty": {
"serviceURL": "https://www.pagerduty.com/service-directory/Pshopping-cart"
}
},
"kind": "service",
"metadata": {
"additionalOwners": [],
"contacts": [
{
"contact": "https://slack/",
"type": "slack"
}
],
"id": "4b163705-23c0-4573-b2fb-f6cea2163fcb",
"inheritFrom": "application:default/myapp",
"links": [
{
"name": "mylink",
"type": "link",
"url": "https://mylink"
}
],
"name": "service-examplesoftwarecatalog",
"tags": [
"this:tag",
"that:tag"
]
},
"spec": {
"dependsOn": [],
"languages": []
}
}
EOF// Create or update software catalog entity using schema v3 returns "ACCEPTED" response
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)
func main() {
body := datadogV2.UpsertCatalogEntityRequest{
EntityV3: &datadogV2.EntityV3{
EntityV3Service: &datadogV2.EntityV3Service{
ApiVersion: datadogV2.ENTITYV3APIVERSION_V3,
Datadog: &datadogV2.EntityV3ServiceDatadog{
CodeLocations: []datadogV2.EntityV3DatadogCodeLocationItem{
{
Paths: []string{},
},
},
Events: []datadogV2.EntityV3DatadogEventItem{
{},
},
Logs: []datadogV2.EntityV3DatadogLogItem{
{},
},
PerformanceData: &datadogV2.EntityV3DatadogPerformance{
Tags: []string{},
},
Pipelines: &datadogV2.EntityV3DatadogPipelines{
Fingerprints: []string{},
},
},
Integrations: &datadogV2.EntityV3Integrations{
Opsgenie: &datadogV2.EntityV3DatadogIntegrationOpsgenie{
ServiceUrl: "https://www.opsgenie.com/service/shopping-cart",
},
Pagerduty: &datadogV2.EntityV3DatadogIntegrationPagerduty{
ServiceUrl: "https://www.pagerduty.com/service-directory/Pshopping-cart",
},
},
Kind: datadogV2.ENTITYV3SERVICEKIND_SERVICE,
Metadata: datadogV2.EntityV3Metadata{
AdditionalOwners: []datadogV2.EntityV3MetadataAdditionalOwnersItems{},
Contacts: []datadogV2.EntityV3MetadataContactsItems{
{
Contact: "https://slack/",
Type: "slack",
},
},
Id: datadog.PtrString("4b163705-23c0-4573-b2fb-f6cea2163fcb"),
InheritFrom: datadog.PtrString("application:default/myapp"),
Links: []datadogV2.EntityV3MetadataLinksItems{
{
Name: "mylink",
Type: "link",
Url: "https://mylink",
},
},
Name: "service-examplesoftwarecatalog",
Tags: []string{
"this:tag",
"that:tag",
},
},
Spec: &datadogV2.EntityV3ServiceSpec{
DependsOn: []string{},
Languages: []string{},
},
}}}
ctx := datadog.NewDefaultContext(context.Background())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewSoftwareCatalogApi(apiClient)
resp, r, err := api.UpsertCatalogEntity(ctx, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `SoftwareCatalogApi.UpsertCatalogEntity`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `SoftwareCatalogApi.UpsertCatalogEntity`:\n%s\n", responseContent)
}
Instructions
First install the library and its dependencies and then save the example to main.go and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"// Create or update software catalog entity using schema v3 returns "ACCEPTED" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.SoftwareCatalogApi;
import com.datadog.api.client.v2.model.EntityV3;
import com.datadog.api.client.v2.model.EntityV3APIVersion;
import com.datadog.api.client.v2.model.EntityV3DatadogCodeLocationItem;
import com.datadog.api.client.v2.model.EntityV3DatadogEventItem;
import com.datadog.api.client.v2.model.EntityV3DatadogIntegrationOpsgenie;
import com.datadog.api.client.v2.model.EntityV3DatadogIntegrationPagerduty;
import com.datadog.api.client.v2.model.EntityV3DatadogLogItem;
import com.datadog.api.client.v2.model.EntityV3DatadogPerformance;
import com.datadog.api.client.v2.model.EntityV3DatadogPipelines;
import com.datadog.api.client.v2.model.EntityV3Integrations;
import com.datadog.api.client.v2.model.EntityV3Metadata;
import com.datadog.api.client.v2.model.EntityV3MetadataContactsItems;
import com.datadog.api.client.v2.model.EntityV3MetadataLinksItems;
import com.datadog.api.client.v2.model.EntityV3Service;
import com.datadog.api.client.v2.model.EntityV3ServiceDatadog;
import com.datadog.api.client.v2.model.EntityV3ServiceKind;
import com.datadog.api.client.v2.model.EntityV3ServiceSpec;
import com.datadog.api.client.v2.model.UpsertCatalogEntityRequest;
import com.datadog.api.client.v2.model.UpsertCatalogEntityResponse;
import java.util.Arrays;
import java.util.Collections;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
SoftwareCatalogApi apiInstance = new SoftwareCatalogApi(defaultClient);
UpsertCatalogEntityRequest body =
new UpsertCatalogEntityRequest(
new EntityV3(
new EntityV3Service()
.apiVersion(EntityV3APIVersion.V3)
.datadog(
new EntityV3ServiceDatadog()
.codeLocations(
Collections.singletonList(new EntityV3DatadogCodeLocationItem()))
.events(Collections.singletonList(new EntityV3DatadogEventItem()))
.logs(Collections.singletonList(new EntityV3DatadogLogItem()))
.performanceData(new EntityV3DatadogPerformance())
.pipelines(new EntityV3DatadogPipelines()))
.integrations(
new EntityV3Integrations()
.opsgenie(
new EntityV3DatadogIntegrationOpsgenie()
.serviceUrl("https://www.opsgenie.com/service/shopping-cart"))
.pagerduty(
new EntityV3DatadogIntegrationPagerduty()
.serviceUrl(
"https://www.pagerduty.com/service-directory/Pshopping-cart")))
.kind(EntityV3ServiceKind.SERVICE)
.metadata(
new EntityV3Metadata()
.contacts(
Collections.singletonList(
new EntityV3MetadataContactsItems()
.contact("https://slack/")
.type("slack")))
.id("4b163705-23c0-4573-b2fb-f6cea2163fcb")
.inheritFrom("application:default/myapp")
.links(
Collections.singletonList(
new EntityV3MetadataLinksItems()
.name("mylink")
.type("link")
.url("https://mylink")))
.name("service-examplesoftwarecatalog")
.tags(Arrays.asList("this:tag", "that:tag")))
.spec(new EntityV3ServiceSpec())));
try {
UpsertCatalogEntityResponse result = apiInstance.upsertCatalogEntity(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling SoftwareCatalogApi#upsertCatalogEntity");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Instructions
First install the library and its dependencies and then save the example to Example.java and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java""""
Create or update software catalog entity using schema v3 returns "ACCEPTED" response
"""
from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.software_catalog_api import SoftwareCatalogApi
from datadog_api_client.v2.model.entity_v3_api_version import EntityV3APIVersion
from datadog_api_client.v2.model.entity_v3_datadog_code_location_item import EntityV3DatadogCodeLocationItem
from datadog_api_client.v2.model.entity_v3_datadog_event_item import EntityV3DatadogEventItem
from datadog_api_client.v2.model.entity_v3_datadog_integration_opsgenie import EntityV3DatadogIntegrationOpsgenie
from datadog_api_client.v2.model.entity_v3_datadog_integration_pagerduty import EntityV3DatadogIntegrationPagerduty
from datadog_api_client.v2.model.entity_v3_datadog_log_item import EntityV3DatadogLogItem
from datadog_api_client.v2.model.entity_v3_datadog_performance import EntityV3DatadogPerformance
from datadog_api_client.v2.model.entity_v3_datadog_pipelines import EntityV3DatadogPipelines
from datadog_api_client.v2.model.entity_v3_integrations import EntityV3Integrations
from datadog_api_client.v2.model.entity_v3_metadata import EntityV3Metadata
from datadog_api_client.v2.model.entity_v3_metadata_contacts_items import EntityV3MetadataContactsItems
from datadog_api_client.v2.model.entity_v3_metadata_links_items import EntityV3MetadataLinksItems
from datadog_api_client.v2.model.entity_v3_service import EntityV3Service
from datadog_api_client.v2.model.entity_v3_service_datadog import EntityV3ServiceDatadog
from datadog_api_client.v2.model.entity_v3_service_kind import EntityV3ServiceKind
from datadog_api_client.v2.model.entity_v3_service_spec import EntityV3ServiceSpec
body = EntityV3Service(
api_version=EntityV3APIVersion.V3,
datadog=EntityV3ServiceDatadog(
code_locations=[
EntityV3DatadogCodeLocationItem(
paths=[],
),
],
events=[
EntityV3DatadogEventItem(),
],
logs=[
EntityV3DatadogLogItem(),
],
performance_data=EntityV3DatadogPerformance(
tags=[],
),
pipelines=EntityV3DatadogPipelines(
fingerprints=[],
),
),
integrations=EntityV3Integrations(
opsgenie=EntityV3DatadogIntegrationOpsgenie(
service_url="https://www.opsgenie.com/service/shopping-cart",
),
pagerduty=EntityV3DatadogIntegrationPagerduty(
service_url="https://www.pagerduty.com/service-directory/Pshopping-cart",
),
),
kind=EntityV3ServiceKind.SERVICE,
metadata=EntityV3Metadata(
additional_owners=[],
contacts=[
EntityV3MetadataContactsItems(
contact="https://slack/",
type="slack",
),
],
id="4b163705-23c0-4573-b2fb-f6cea2163fcb",
inherit_from="application:default/myapp",
links=[
EntityV3MetadataLinksItems(
name="mylink",
type="link",
url="https://mylink",
),
],
name="service-examplesoftwarecatalog",
tags=[
"this:tag",
"that:tag",
],
),
spec=EntityV3ServiceSpec(
depends_on=[],
languages=[],
),
)
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
api_instance = SoftwareCatalogApi(api_client)
response = api_instance.upsert_catalog_entity(body=body)
print(response)
Instructions
First install the library and its dependencies and then save the example to example.py and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"# Create or update software catalog entity using schema v3 returns "ACCEPTED" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
end
api_instance = DatadogAPIClient::V2::SoftwareCatalogAPI.new
body = DatadogAPIClient::V2::EntityV3Service.new({
api_version: DatadogAPIClient::V2::EntityV3APIVersion::V3,
datadog: DatadogAPIClient::V2::EntityV3ServiceDatadog.new({
code_locations: [
DatadogAPIClient::V2::EntityV3DatadogCodeLocationItem.new({
paths: [],
}),
],
events: [
DatadogAPIClient::V2::EntityV3DatadogEventItem.new({}),
],
logs: [
DatadogAPIClient::V2::EntityV3DatadogLogItem.new({}),
],
performance_data: DatadogAPIClient::V2::EntityV3DatadogPerformance.new({
tags: [],
}),
pipelines: DatadogAPIClient::V2::EntityV3DatadogPipelines.new({
fingerprints: [],
}),
}),
integrations: DatadogAPIClient::V2::EntityV3Integrations.new({
opsgenie: DatadogAPIClient::V2::EntityV3DatadogIntegrationOpsgenie.new({
service_url: "https://www.opsgenie.com/service/shopping-cart",
}),
pagerduty: DatadogAPIClient::V2::EntityV3DatadogIntegrationPagerduty.new({
service_url: "https://www.pagerduty.com/service-directory/Pshopping-cart",
}),
}),
kind: DatadogAPIClient::V2::EntityV3ServiceKind::SERVICE,
metadata: DatadogAPIClient::V2::EntityV3Metadata.new({
additional_owners: [],
contacts: [
DatadogAPIClient::V2::EntityV3MetadataContactsItems.new({
contact: "https://slack/",
type: "slack",
}),
],
id: "4b163705-23c0-4573-b2fb-f6cea2163fcb",
inherit_from: "application:default/myapp",
links: [
DatadogAPIClient::V2::EntityV3MetadataLinksItems.new({
name: "mylink",
type: "link",
url: "https://mylink",
}),
],
name: "service-examplesoftwarecatalog",
tags: [
"this:tag",
"that:tag",
],
}),
spec: DatadogAPIClient::V2::EntityV3ServiceSpec.new({
depends_on: [],
languages: [],
}),
})
p api_instance.upsert_catalog_entity(body)
Instructions
First install the library and its dependencies and then save the example to example.rb and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"// Create or update software catalog entity using schema v3 returns "ACCEPTED"
// response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_software_catalog::SoftwareCatalogAPI;
use datadog_api_client::datadogV2::model::EntityV3;
use datadog_api_client::datadogV2::model::EntityV3APIVersion;
use datadog_api_client::datadogV2::model::EntityV3DatadogCodeLocationItem;
use datadog_api_client::datadogV2::model::EntityV3DatadogEventItem;
use datadog_api_client::datadogV2::model::EntityV3DatadogIntegrationOpsgenie;
use datadog_api_client::datadogV2::model::EntityV3DatadogIntegrationPagerduty;
use datadog_api_client::datadogV2::model::EntityV3DatadogLogItem;
use datadog_api_client::datadogV2::model::EntityV3DatadogPerformance;
use datadog_api_client::datadogV2::model::EntityV3DatadogPipelines;
use datadog_api_client::datadogV2::model::EntityV3Integrations;
use datadog_api_client::datadogV2::model::EntityV3Metadata;
use datadog_api_client::datadogV2::model::EntityV3MetadataContactsItems;
use datadog_api_client::datadogV2::model::EntityV3MetadataLinksItems;
use datadog_api_client::datadogV2::model::EntityV3Service;
use datadog_api_client::datadogV2::model::EntityV3ServiceDatadog;
use datadog_api_client::datadogV2::model::EntityV3ServiceKind;
use datadog_api_client::datadogV2::model::EntityV3ServiceSpec;
use datadog_api_client::datadogV2::model::UpsertCatalogEntityRequest;
#[tokio::main]
async fn main() {
let body = UpsertCatalogEntityRequest::EntityV3(Box::new(EntityV3::EntityV3Service(Box::new(
EntityV3Service::new(
EntityV3APIVersion::V3,
EntityV3ServiceKind::SERVICE,
EntityV3Metadata::new("service-examplesoftwarecatalog".to_string())
.additional_owners(vec![])
.contacts(vec![EntityV3MetadataContactsItems::new(
"https://slack/".to_string(),
"slack".to_string(),
)])
.id("4b163705-23c0-4573-b2fb-f6cea2163fcb".to_string())
.inherit_from("application:default/myapp".to_string())
.links(vec![EntityV3MetadataLinksItems::new(
"mylink".to_string(),
"link".to_string(),
"https://mylink".to_string(),
)])
.tags(vec!["this:tag".to_string(), "that:tag".to_string()]),
)
.datadog(
EntityV3ServiceDatadog::new()
.code_locations(vec![EntityV3DatadogCodeLocationItem::new().paths(vec![])])
.events(vec![EntityV3DatadogEventItem::new()])
.logs(vec![EntityV3DatadogLogItem::new()])
.performance_data(EntityV3DatadogPerformance::new().tags(vec![]))
.pipelines(EntityV3DatadogPipelines::new().fingerprints(vec![])),
)
.integrations(
EntityV3Integrations::new()
.opsgenie(EntityV3DatadogIntegrationOpsgenie::new(
"https://www.opsgenie.com/service/shopping-cart".to_string(),
))
.pagerduty(EntityV3DatadogIntegrationPagerduty::new(
"https://www.pagerduty.com/service-directory/Pshopping-cart".to_string(),
)),
)
.spec(
EntityV3ServiceSpec::new()
.depends_on(vec![])
.languages(vec![]),
),
))));
let configuration = datadog::Configuration::new();
let api = SoftwareCatalogAPI::with_config(configuration);
let resp = api.upsert_catalog_entity(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
Instructions
First install the library and its dependencies and then save the example to src/main.rs and run following commands:
DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run/**
* Create or update software catalog entity using schema v3 returns "ACCEPTED" response
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration({
authMethods: {
AuthZ: {
accessToken: process.env.DD_BEARER_TOKEN as string,
},
},
});
const apiInstance = new v2.SoftwareCatalogApi(configuration);
const params: v2.SoftwareCatalogApiUpsertCatalogEntityRequest = {
body: {
apiVersion: "v3",
datadog: {
codeLocations: [
{
paths: [],
},
],
events: [{}],
logs: [{}],
performanceData: {
tags: [],
},
pipelines: {
fingerprints: [],
},
},
integrations: {
opsgenie: {
serviceUrl: "https://www.opsgenie.com/service/shopping-cart",
},
pagerduty: {
serviceUrl:
"https://www.pagerduty.com/service-directory/Pshopping-cart",
},
},
kind: "service",
metadata: {
additionalOwners: [],
contacts: [
{
contact: "https://slack/",
type: "slack",
},
],
id: "4b163705-23c0-4573-b2fb-f6cea2163fcb",
inheritFrom: "application:default/myapp",
links: [
{
name: "mylink",
type: "link",
url: "https://mylink",
},
],
name: "service-examplesoftwarecatalog",
tags: ["this:tag", "that:tag"],
},
spec: {
dependsOn: [],
languages: [],
},
},
};
apiInstance
.upsertCatalogEntity(params)
.then((data: v2.UpsertCatalogEntityResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
Instructions
First install the library and its dependencies and then save the example to example.ts and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"