Get a list of entity relations

GET https://api.ap1.datadoghq.com/api/v2/catalog/relationhttps://api.ap2.datadoghq.com/api/v2/catalog/relationhttps://api.datadoghq.eu/api/v2/catalog/relationhttps://api.ddog-gov.com/api/v2/catalog/relationhttps://api.us2.ddog-gov.com/api/v2/catalog/relationhttps://api.datadoghq.com/api/v2/catalog/relationhttps://api.us3.datadoghq.com/api/v2/catalog/relationhttps://api.us5.datadoghq.com/api/v2/catalog/relation

Overview

Get a list of entity relations from Software Catalog.

OAuth apps require the apm_service_catalog_read authorization scope to access this endpoint.

Arguments

Query Strings

Name

Type

Description

page[offset]

integer

Specific offset to use as the beginning of the returned page.

page[limit]

integer

Maximum number of relations in the response.

filter[type]

enum

Filter relations by type.
Allowed enum values: RelationTypeOwns, RelationTypeOwnedBy, RelationTypeDependsOn, RelationTypeDependencyOf, RelationTypePartsOf, RelationTypeHasPart, RelationTypeOtherOwns, RelationTypeOtherOwnedBy, RelationTypeImplementedBy, RelationTypeImplements

filter[from_ref]

string

Filter relations by the reference of the first entity in the relation.

filter[to_ref]

string

Filter relations by the reference of the second entity in the relation.

include

enum

Include relationship data.
Allowed enum values: entity, schema

includeDiscovered

boolean

If true, includes relationships discovered by APM and USM.

Response

OK

List entity relation response.

Expand All

Field

Type

Description

data

[object]

Array of relation responses

attributes

object

Relation attributes.

from

object

Relation entity reference.

kind

string

Entity kind.

name

string

Entity name.

namespace

string

Entity namespace.

to

object

Relation entity reference.

kind

string

Entity kind.

name

string

Entity name.

namespace

string

Entity namespace.

type

enum

Supported relation types. Allowed enum values: RelationTypeOwns,RelationTypeOwnedBy,RelationTypeDependsOn,RelationTypeDependencyOf,RelationTypePartsOf,RelationTypeHasPart,RelationTypeOtherOwns,RelationTypeOtherOwnedBy,RelationTypeImplementedBy,RelationTypeImplements

id

string

Relation ID.

meta

object

Relation metadata.

createdAt

date-time

Relation creation time.

definedBy

string

Relation defined by.

modifiedAt

date-time

Relation modification time.

source

string

Relation source.

relationships

object

Relation relationships.

fromEntity

object

Relation to entity.

data

object

Relationship entry.

id

string

Associated data ID.

type

string

Relationship type.

meta

object

Entity metadata.

createdAt

string

The creation time.

ingestionSource

string

The ingestion source.

modifiedAt

string

The modification time.

origin

string

The origin.

toEntity

object

Relation to entity.

data

object

Relationship entry.

id

string

Associated data ID.

type

string

Relationship type.

meta

object

Entity metadata.

createdAt

string

The creation time.

ingestionSource

string

The ingestion source.

modifiedAt

string

The modification time.

origin

string

The origin.

subtype

string

Relation subtype.

type

enum

Relation type. Allowed enum values: relation

included

[object]

List relation response included entities.

attributes

object

Entity attributes.

apiVersion

string

The API version.

description

string

The description.

displayName

string

The display name.

kind

string

The kind.

name

string

The name.

namespace

string

The namespace.

owner

string

The owner.

tags

[string]

The tags.

id

string

Entity ID.

meta

object

Entity metadata.

createdAt

string

The creation time.

ingestionSource

string

The ingestion source.

modifiedAt

string

The modification time.

origin

string

The origin.

relationships

object

Entity relationships.

incidents

object

Entity to incidents relationship.

data

[object]

Relationships.

id

string

Associated data ID.

type

string

Relationship type.

oncall

object

Entity to oncalls relationship.

data

[object]

Relationships.

id

string

Associated data ID.

type

string

Relationship type.

rawSchema

object

Entity to raw schema relationship.

data

object

Relationship entry.

id

string

Associated data ID.

type

string

Relationship type.

relatedEntities

object

Entity to related entities relationship.

data

[object]

Relationships.

id

string

Associated data ID.

type

string

Relationship type.

schema

object

Entity to detail schema relationship.

data

object

Relationship entry.

id

string

Associated data ID.

type

string

Relationship type.

type

string

Entity.

links

object

List relation response links.

next

string

Next link.

previous

string

Previous link.

self

string

Current link.

meta

object

Relation response metadata.

count

int64

Total relations count.

includeCount

int64

Total included data count.

{
  "data": [
    {
      "attributes": {
        "from": {
          "kind": "string",
          "name": "string",
          "namespace": "string"
        },
        "to": {
          "kind": "string",
          "name": "string",
          "namespace": "string"
        },
        "type": "string"
      },
      "id": "string",
      "meta": {
        "createdAt": "2019-09-19T10:00:00.000Z",
        "definedBy": "string",
        "modifiedAt": "2019-09-19T10:00:00.000Z",
        "source": "string"
      },
      "relationships": {
        "fromEntity": {
          "data": {
            "id": "string",
            "type": "string"
          },
          "meta": {
            "createdAt": "string",
            "ingestionSource": "string",
            "modifiedAt": "string",
            "origin": "string"
          }
        },
        "toEntity": {
          "data": {
            "id": "string",
            "type": "string"
          },
          "meta": {
            "createdAt": "string",
            "ingestionSource": "string",
            "modifiedAt": "string",
            "origin": "string"
          }
        }
      },
      "subtype": "string",
      "type": "string"
    }
  ],
  "included": [
    {
      "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"
    }
  ],
  "links": {
    "next": "/api/v2/catalog/relation?filter[from_ref]=service:service-catalog\u0026include=entity\u0026page[limit]=2\u0026page[offset]=2",
    "previous": "string",
    "self": "/api/v2/catalog/relation?filter[from_ref]=service:service-catalog\u0026include=entity\u0026page[limit]=2\u0026page[offset]=0"
  },
  "meta": {
    "count": "integer",
    "includeCount": "integer"
  }
}

Forbidden

API error response.

Expand All

Field

Type

Description

errors [required]

[string]

A list of errors.

{
  "errors": [
    "Bad Request"
  ]
}

Too many requests

API error response.

Expand All

Field

Type

Description

errors [required]

[string]

A list of errors.

{
  "errors": [
    "Bad Request"
  ]
}

Code Example

                  # Curl command
curl -X GET "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/catalog/relation" \ -H "Accept: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
"""
Get a list of entity relations returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.software_catalog_api import SoftwareCatalogApi

configuration = Configuration()
with ApiClient(configuration) as api_client:
    api_instance = SoftwareCatalogApi(api_client)
    response = api_instance.list_catalog_relation()

    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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
# Get a list of entity relations returns "OK" response

require "datadog_api_client"
api_instance = DatadogAPIClient::V2::SoftwareCatalogAPI.new
p api_instance.list_catalog_relation()

Instructions

First install the library and its dependencies and then save the example to example.rb and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
// Get a list of entity relations returns "OK" 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() {
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewSoftwareCatalogApi(apiClient)
	resp, r, err := api.ListCatalogRelation(ctx, *datadogV2.NewListCatalogRelationOptionalParameters())

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `SoftwareCatalogApi.ListCatalogRelation`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `SoftwareCatalogApi.ListCatalogRelation`:\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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
// Get a list of entity relations returns "OK" 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.ListRelationCatalogResponse;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    SoftwareCatalogApi apiInstance = new SoftwareCatalogApi(defaultClient);

    try {
      ListRelationCatalogResponse result = apiInstance.listCatalogRelation();
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling SoftwareCatalogApi#listCatalogRelation");
      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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
// Get a list of entity relations returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_software_catalog::ListCatalogRelationOptionalParams;
use datadog_api_client::datadogV2::api_software_catalog::SoftwareCatalogAPI;

#[tokio::main]
async fn main() {
    let configuration = datadog::Configuration::new();
    let api = SoftwareCatalogAPI::with_config(configuration);
    let resp = api
        .list_catalog_relation(ListCatalogRelationOptionalParams::default())
        .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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
/**
 * Get a list of entity relations returns "OK" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
const apiInstance = new v2.SoftwareCatalogApi(configuration);

apiInstance
  .listCatalogRelation()
  .then((data: v2.ListRelationCatalogResponse) => {
    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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"