Entity Properties

Entity Properties are key-value pairs where the key is the identifier of the property, and the value is a dynamic type based on the configured catalog Property object. The contents of the value is specific to the entity.

Property identifiers can easily be found in the catalog admin section under each entity type, next to the property name.

Example

Example where language is the property identifier for a multi-select property:

{
  "language": ["Ruby", "HTML", "Shell"]
}

Types of Properties

See the Property object type for more information about supported types and how to configure them.

Single field

URL

A string which is a URL.

type: url

{ "slack-team": "https://company.slack.com/archive/2394kfl3" }

Text

Simple open-ended text value.

type: text

{ "note": "Do not deploy" }

Boolean

Simple true/false value.

type: boolean

{ "approved": true }

Number

Simple integer value.

type: number

{ "q3-incidents": 12 }

Date

A string which is a date.

type: date

{ "reviewed_on": "2025-01-12" }

Multiple fields

Single-select

Has a distinct set of possible values. One value allowed.

type: select

{ "service-tier": "Tier-1" }

Multi-select

Has a distinct set of possible values. Multiple values allowed.

type: multi_select

{ "languages": ["Ruby", "Javascript"] }

List

An ordered list of free-form string values.

type: list

{ "frameworks": ["React", "Rails", "GraphQL"] }

JSON

A nested JSON object.

type: json

{ "json_config": { "key1": "value1", "array": [0, 1, 2] } }

Communication

User

A user identified by their email address.

type: user

{ "on-call-owner": "jane@example.com" }

Email

An email address used as a notification destination for entity-level alerts.

type: email

{ "alert-email": "team@example.com" }

Note: This property type is only available if your account has email notifications configured.

Slack Channel

A Slack channel used as a notification destination for entity-level alerts.

type: slack_channel

{
  "alert-channel": {
    "channel_id": "C012AB3CD",
    "channel_name": "platform-alerts"
  }
}

Note: This property type is only available if your account has a Slack integration configured.

Microsoft Teams Channel

A Microsoft Teams channel used as a notification destination for entity-level alerts.

type: msteams_channel

{
  "alert-channel": {
    "channel_id": "19:abc123@thread.tacv2",
    "channel_name": "platform-alerts"
  }
}

Note: This property type is only available if your account has a Microsoft Teams integration configured.

OpenAPI Spec

A JSON object containing an OpenAPI or Swagger spec.

type: openapi

{
  "api-docs": {
    "openapi": "3.0.0",
    "info": {
      "title": "My API",
      "version": "1.0.0"
    },
    "paths": {}
  }
}

System

Computed

Has a SQL query to compute the value.

type: computed

{ "open-prs": 2 }

File matching rule

Pattern matches from repository file contents.

type: file_matching_rule

Example value:

{
  "console-log-statements": {
    "status": "FOUND_MATCHES",
    "match_count": 2,
    "matches": [
      {
        "file_path": "src/main.js",
        "line": 5,
        "output": "console.log(\"Hello world\")",
        "reference_url": "https://example.com/path/to/src/main.js#line-5"
      }
      {
        "file_path": "src/main.js",
        "line": 10,
        "output": "console.log(\"Other log statement\")",
        "reference_url": "https://example.com/path/to/src/main.js#line-10"
      }
    ]
  }
}

The status field can be one of these values:

Value Description
FOUND_MATCHES One or more matches were found in the file
NO_MATCHES The file was found but no matches were present
FILE_NOT_FOUND The file path did not exist in the repository

If an entity does not have a repo alias covered by a repository integration, the entity property will not be present.

Fields

Entity Properties are stored as key-value pairs where:

Key Type Description
<property_identifier> varies The value of the entity property. The type depends on the property configuration (boolean, string, number, array, object, etc.).

Removing Entity Properties

To remove an entity property, simply update or upsert a catalog entity with the desired property to remove and set null as the value. Omitted properties will not be affected.

Example:

{
  "language": null
}