List entities
GET/api/v1/catalog
List all entities across the Service, Resource and Domain Catalogs.
This API returns summary data for each entity, so refer to the retrieve entity method to lookup more details for a single entity.
Request
Query Parameters
Filter based on groups, which correspond to the x-cortex-groups
field in the Catalog Descriptor. Accepts a comma-delimited list of groups
Filter based on owner group names, which correspond to the x-cortex-owners
field in the Catalog Descriptor. Accepts a comma-delimited list of owner group names
Default value: full
Depth of the parent / children hierarchy nodes. Can be 'full' or a valid integer
Supports only GitHub repositories in the org/repo
format
List of sub fields to include for hierarchies. Only supports 'groups'
Filter the response to specific types of entities. By default, this includes services, resources, and domains. Corresponds to the x-cortex-type
field in the entity descriptor.
Filter based on a search query. This will search across entity properties. If provided, results will be sorted by relevance.
Whether to include archived entities in the response
Whether to include custom data for each entity in the response
Whether to include links for each entity in the response
Whether to include Slack channels for each entity in the response
Whether to include ownership information for each entity in the response
List of sub fields to include for different types
Default value: 250
Number of results to return per page, between 1 and 1000. Default 250.
Default value: 0
Page number to return, 0-indexed. Default 0.
Responses
- 200
- 400
- 429
Successfully found entities
- application/json
- Schema
- Example (from schema)
Schema
Array [
Array [
]
Array [
]
Array [
]
Array [
Array [
]
Array [
]
]
Array [
]
Array [
]
Array [
]
Array [
]
]
entities
object[]
required
Description of the entity visible in the Service, Resource, or Domain Catalog. This may contain markdown.
git
object
Metadata about the entity's git repository
Custom defined alias (this is only relevant if you have opted into multi account support)
If the entity is in a monorepo (e.g. in a subdirectory), this field defines the subdirectory
Name of the Git provider
Repository name as defined in your Git provider
URL of the Git repository
Corresponds to the x-cortex-groups field in the Catalog Descriptor
hierarchy
object
required
Hierarchy details for the entity. Includes both the parent & the children chains.
children
object[]
required
Nested children chain for the specific entity.
children
object
required
Child at the current depth, and its children.
List of groups for this node. Only included if includeHierarchyFields contains groups
List of groups for this node. Only included if includeHierarchyFields contains groups
parents
object[]
required
Nested parent chain for the specific entity.
List of groups for this node. Only included if includeHierarchyFields contains groups
parents
object
required
Parent at the current depth, and its parents.
List of groups for this node. Only included if includeHierarchyFields contains groups
Unique, immutable, 18-character auto-generated identifier for the entity.
Last updated ISO timestamp
links
object[]
required
Relevant links for the entity. Corresponds to the x-cortex-links field in the entity descriptor
An optional description of the link
Human-readable name for the link visible in the Catalog
Corresponds to the type field in a link definition provided in the Catalog Descriptor
members
object[]
Description of the team member
Email of the team member
Name of the team member
roles
object[]
required
Name of the role
Source of the role if pulled in through integration. This will be blank if manually defined in Cortex.
sources
object[]
required
Possible values: [ACTIVE_DIRECTORY
, BAMBOO_HR
, GITHUB
, GITLAB
, GOOGLE
, OKTA
, OPSGENIE
, WORKDAY
, SERVICE_NOW
]
Possible values: [ENTITY_DEFINED
, IDP_GROUP
]
metadata
object[]
Custom data key/values associated with the entity.
The custom data key, referred to in CQL as custom("key")
Human-readable name for the entity
owners
object
Entity owners information
individuals
object[]
required
Description of the email owner
teams
object[]
required
Description of the team entity
Unique, immutable, 18-character auto-generated identifier for the team entity
Possible values: [APPEND
, FALLBACK
, NONE
]
Inheritance type, only defined for domain entities
Human-readable name for the team entity
Possible values: [ACTIVE_DIRECTORY
, BAMBOO_HR
, CORTEX
, GITHUB
, GITLAB
, GOOGLE
, OKTA
, OPSGENIE
, WORKDAY
, SERVICE_NOW
]
If defined, indicates the ownership provider the team slug references
Unique identifier for the team entity. Corresponds to the x-cortex-tag field in the entity descriptor
slackChannels
object[]
required
Description of the Slack channel
Name of the Slack channel
Whether notifications are enabled for this channel
Unique identifier for the entity. Corresponds to the x-cortex-tag field in the entity descriptor.
Type of the entity. Corresponds to the x-cortex-type field in the entity descriptor or 'service' for services.
Current page number, 0-indexed
Total number of results
Total number of pages
{
"entities": [
{
"description": "string",
"git": {
"alias": "string",
"basepath": "string",
"provider": "github",
"repository": "string",
"repositoryUrl": "string"
},
"groups": [
"string"
],
"hierarchy": {
"children": [
{
"children": {
"definition": {},
"description": "string",
"groups": [
"string"
],
"id": "string",
"name": "string",
"tag": "string",
"type": "string"
},
"definition": {},
"description": "string",
"groups": [
"string"
],
"id": "string",
"name": "string",
"tag": "string",
"type": "string"
}
],
"parents": [
{
"definition": {},
"description": "string",
"groups": [
"string"
],
"id": "string",
"name": "string",
"parents": {
"definition": {},
"description": "string",
"groups": [
"string"
],
"id": "string",
"name": "string",
"tag": "string",
"type": "string"
},
"tag": "string",
"type": "string"
}
]
},
"id": "en2da8159dbeefb974",
"isArchived": true,
"lastUpdated": "2024-07-29T15:51:28.071Z",
"links": [
{
"description": "string",
"name": "string",
"type": "string",
"url": "string"
}
],
"members": [
{
"description": "Product manager",
"email": "aditya.bansal@cortex.io",
"name": "Aditya Bansal",
"roles": [
{
"name": "Team Leader",
"source": "WORKDAY"
}
],
"sources": [
{
"externalGroupId": "string",
"externalId": "string",
"provider": "ACTIVE_DIRECTORY",
"type": "ENTITY_DEFINED"
}
]
}
],
"metadata": [
{
"key": "string",
"value": {}
}
],
"name": "My Favorite Entity",
"owners": {
"individuals": [
{
"description": "Product manager",
"email": "string"
}
],
"teams": [
{
"description": "This is my team",
"id": "en2da8159dbeefb974",
"inheritance": "APPEND",
"isArchived": true,
"name": "My Favorite Team",
"provider": "ACTIVE_DIRECTORY",
"tag": "my-favorite-team-entity"
}
]
},
"slackChannels": [
{
"description": "This is the engineering channel",
"name": "engineering",
"notificationsEnabled": true
}
],
"tag": "my-favorite-entity",
"type": "service"
}
],
"page": 0,
"total": 0,
"totalPages": 0
}
Invalid filters
- application/json
- Schema
- Example (from schema)
Schema
Possible values: [INTEGRATION_MISSING
, INTEGRATION_UNREGISTERED
, INTEGRATION_UNSUPPORTED
, INTEGRATION_GRAPHQL_ERROR
, INTEGRATION_BAD_REQUEST
, INTEGRATION_UNAUTHORIZED
, INTEGRATION_FORBIDDEN
, INTEGRATION_NOT_FOUND
, INTEGRATION_UNPROCESSABLE_CONTENT
, INTEGRATION_RATE_LIMITED
, INTEGRATION_INTERNAL_ERROR
, INTEGRATION_NOT_IMPLEMENTED
, INTEGRATION_BAD_GATEWAY
, INTEGRATION_UNAVAILABLE
, INTEGRATION_GATEWAY_TIMEOUT
, INTEGRATION_TIMED_OUT
, INTEGRATION_CACHE_ERROR
, INTEGRATION_UNHANDLED_HTTP_ERROR
, INTEGRATION_UNHANDLED_EXCEPTION
, INTEGRATION_UNEXPECTED_ERROR
, ILLEGAL_ARGUMENT_ERROR
, BAD_REQUEST
, FORBIDDEN
, NOT_FOUND
, REQUEST_TIMEOUT
, CONFLICT
, UNHANDLED_EXCEPTION
, UNCATEGORIZED
, SERVICE_CREATOR
, UNKNOWN_HOST
]
{
"details": "string",
"gatewayHttpStatus": 0,
"httpStatus": 0,
"message": "string",
"requestId": "string",
"type": "INTEGRATION_MISSING"
}
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
Response Headers
Retry-After
integer
The number of seconds until the rate limiting resets.
- application/problem+json
- Schema
- Example (from schema)
Schema
The number of seconds until the rate limiting resets.
Possible values: >= 100
and <= 599
, [429
]
{
"detail": "string",
"instance": "string",
"retryAfter": 0,
"status": 429,
"title": "string",
"type": "string"
}