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.
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
Number of results to return per page. (Note: If no "pageSize" value is provided, the endpoint will attempt to return all entities.)
Default value: 0
Page number to return, 0 indexed.
Responses
- 200
- 400
Successfully found entities
- application/json
- Schema
- Example (from schema)
Schema
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
Last updated ISO timestamp
links
object[]
required
Relevant links for the entity. Corresponds to the x-cortex-links field in the entity descriptor
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.
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
Human-readable name for the team entity
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"
],
"name": "string",
"tag": "string",
"type": "string"
},
"definition": {},
"description": "string",
"groups": [
"string"
],
"name": "string",
"tag": "string",
"type": "string"
}
],
"parents": [
{
"definition": {},
"description": "string",
"groups": [
"string"
],
"name": "string",
"parents": {
"definition": {},
"description": "string",
"groups": [
"string"
],
"name": "string",
"tag": "string",
"type": "string"
},
"tag": "string",
"type": "string"
}
]
},
"isArchived": true,
"lastUpdated": "2024-04-26T18:10:53.865Z",
"links": [
{
"name": "string",
"type": "string",
"url": "string"
}
],
"members": [
{
"description": "Product manager",
"email": "aditya.bansal@cortex.io",
"name": "Aditya Bansal",
"roles": [
{
"name": "Team Leader",
"source": "WORKDAY"
}
]
}
],
"metadata": [
{
"key": "string",
"value": {}
}
],
"name": "My Favorite Entity",
"owners": {
"individuals": [
{
"description": "Product manager",
"email": "string"
}
],
"teams": [
{
"description": "This is my team",
"isArchived": true,
"name": "My Favorite Team",
"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"
}