APIs for managing catalog Entities which represent the core components of your system. Entities can represent services, APIs, user groups, resources, and more. These endpoints allow you to create, retrieve, update, delete, and query entities across different scopes.
Creates a new Entity in the specified scope (Account, Organization, or Project). Entities are the core components of the catalog system and can represent various resources such as services, APIs, user groups, and more. Each entity has a specific kind and type that defines its purpose in the system.
Entity YAML definition provided as a string. The YAML should conform to either the Harness entity format or the Backstage entity format, depending on the operation.
Response containing a complete Entity definition including its metadata, relationships, and YAML representation.
{- "yaml": "apiVersion: harness.io/v1\nkind: component\ntype: Service\nidentifier: my-sample-service\nname: my-sample-service\nowner: sample-owner\nspec:\n lifecycle: experimental\n ownedBy:\n - group/sample-group\nmetadata:\n description: My Sample service.\n annotations:\n backstage.io/source-location: url:https://github.com/sample/sample/tree/main/harness/sample/\n backstage.io/techdocs-ref: dir:.\n links:\n - title: Website\n url: http://my-sample-website.com\n tags:\n - my-sample\n"
}
{- "identifier": "string",
- "entity_ref": "string",
- "orgIdentifier": "string",
- "org_name": "string",
- "projectIdentifier": "string",
- "project_name": "string",
- "scope": "ACCOUNT",
- "referenceType": "INLINE",
- "kind": "api",
- "type": "string",
- "name": "string",
- "description": "string",
- "owner": "string",
- "tags": [
- "string"
], - "lifecycle": "string",
- "metadata": { },
- "scorecards": {
- "average": 0,
- "scores": [
- {
- "scorecard": "string",
- "score": 0,
- "total_checks": 0,
- "passed_checks": 0
}
]
}, - "yaml": "string",
- "starred": true,
- "status": [
- {
- "type": "string",
- "level": "string",
- "message": "string"
}
], - "groups": [
- {
- "org_identifier": "string",
- "org_name": "string",
- "project_identifier": "string",
- "project_name": "string",
- "scope": "ACCOUNT",
- "group_identifier": "string",
- "group_name": "string",
- "group_description": "string",
- "group_icon": "string"
}
]
}
Retrieves a paginated list of Entities based on the provided filters. This endpoint supports comprehensive filtering options to help you find specific entities across different scopes, kinds, and other properties. The response includes pagination metadata and counts for owned and favorite entities.
Response containing a paginated list of Entities matching the filter criteria, along with pagination metadata and entity counts.
[- {
- "identifier": "string",
- "entity_ref": "string",
- "orgIdentifier": "string",
- "org_name": "string",
- "projectIdentifier": "string",
- "project_name": "string",
- "scope": "ACCOUNT",
- "referenceType": "INLINE",
- "kind": "api",
- "type": "string",
- "name": "string",
- "description": "string",
- "owner": "string",
- "tags": [
- "string"
], - "lifecycle": "string",
- "metadata": { },
- "scorecards": {
- "average": 0,
- "scores": [
- {
- "scorecard": "string",
- "score": 0,
- "total_checks": 0,
- "passed_checks": 0
}
]
}, - "yaml": "string",
- "starred": true,
- "status": [
- {
- "type": "string",
- "level": "string",
- "message": "string"
}
], - "groups": [
- {
- "org_identifier": "string",
- "org_name": "string",
- "project_identifier": "string",
- "project_name": "string",
- "scope": "ACCOUNT",
- "group_identifier": "string",
- "group_name": "string",
- "group_description": "string",
- "group_icon": "string"
}
]
}
]
Converts entity YAML between Backstage and Harness formats. This is useful when migrating entities between systems or when standardizing entity definitions across different platforms. The conversion preserves all semantic information while adapting to the target format conventions.
Entity YAML definition provided as a string. The YAML should conform to either the Harness entity format or the Backstage entity format, depending on the operation.
Response containing the converted Entity YAML in the target format (either Backstage or Harness format).
{- "yaml": "apiVersion: harness.io/v1\nkind: component\ntype: Service\nidentifier: my-sample-service\nname: my-sample-service\nowner: sample-owner\nspec:\n lifecycle: experimental\n ownedBy:\n - group/sample-group\nmetadata:\n description: My Sample service.\n annotations:\n backstage.io/source-location: url:https://github.com/sample/sample/tree/main/harness/sample/\n backstage.io/techdocs-ref: dir:.\n links:\n - title: Website\n url: http://my-sample-website.com\n tags:\n - my-sample\n"
}
{- "yaml": "string"
}
Updates an existing Entity identified by its scope, kind, and identifier. All fields in the entity definition will be replaced with the new values provided in the request. This operation is idempotent and will create the entity if it doesn't already exist.
Entity YAML definition provided as a string. The YAML should conform to either the Harness entity format or the Backstage entity format, depending on the operation.
Response containing a complete Entity definition including its metadata, relationships, and YAML representation.
{- "yaml": "apiVersion: harness.io/v1\nkind: component\ntype: Service\nidentifier: my-sample-service\nname: my-sample-service\nowner: sample-owner\nspec:\n lifecycle: experimental\n ownedBy:\n - group/sample-group\nmetadata:\n description: My Sample service.\n annotations:\n backstage.io/source-location: url:https://github.com/sample/sample/tree/main/harness/sample/\n backstage.io/techdocs-ref: dir:.\n links:\n - title: Website\n url: http://my-sample-website.com\n tags:\n - my-sample\n"
}
{- "identifier": "string",
- "entity_ref": "string",
- "orgIdentifier": "string",
- "org_name": "string",
- "projectIdentifier": "string",
- "project_name": "string",
- "scope": "ACCOUNT",
- "referenceType": "INLINE",
- "kind": "api",
- "type": "string",
- "name": "string",
- "description": "string",
- "owner": "string",
- "tags": [
- "string"
], - "lifecycle": "string",
- "metadata": { },
- "scorecards": {
- "average": 0,
- "scores": [
- {
- "scorecard": "string",
- "score": 0,
- "total_checks": 0,
- "passed_checks": 0
}
]
}, - "yaml": "string",
- "starred": true,
- "status": [
- {
- "type": "string",
- "level": "string",
- "message": "string"
}
], - "groups": [
- {
- "org_identifier": "string",
- "org_name": "string",
- "project_identifier": "string",
- "project_name": "string",
- "scope": "ACCOUNT",
- "group_identifier": "string",
- "group_name": "string",
- "group_description": "string",
- "group_icon": "string"
}
]
}
Permanently removes an Entity identified by its scope, kind, and identifier from the system. This operation cannot be undone, so use it with caution. Any references to the deleted entity from other entities will become invalid.
Entity successfully deleted with no content returned
Retrieves the complete details of an Entity identified by its scope, kind, and identifier, including its YAML definition, metadata, and relationships with other entities. This endpoint provides the most comprehensive view of a specific entity.
Response containing a complete Entity definition including its metadata, relationships, and YAML representation.
{- "identifier": "string",
- "entity_ref": "string",
- "orgIdentifier": "string",
- "org_name": "string",
- "projectIdentifier": "string",
- "project_name": "string",
- "scope": "ACCOUNT",
- "referenceType": "INLINE",
- "kind": "api",
- "type": "string",
- "name": "string",
- "description": "string",
- "owner": "string",
- "tags": [
- "string"
], - "lifecycle": "string",
- "metadata": { },
- "scorecards": {
- "average": 0,
- "scores": [
- {
- "scorecard": "string",
- "score": 0,
- "total_checks": 0,
- "passed_checks": 0
}
]
}, - "yaml": "string",
- "starred": true,
- "status": [
- {
- "type": "string",
- "level": "string",
- "message": "string"
}
], - "groups": [
- {
- "org_identifier": "string",
- "org_name": "string",
- "project_identifier": "string",
- "project_name": "string",
- "scope": "ACCOUNT",
- "group_identifier": "string",
- "group_name": "string",
- "group_description": "string",
- "group_icon": "string"
}
]
}
Returns a list of all supported Entity Kinds along with their display names, descriptions, and counts. This is useful for populating filter dropdowns in UIs and for understanding what kinds of entities are available in the system.
Response containing a list of all supported Entity Kinds along with their display names, descriptions, and counts.
[- {
- "kind": "string",
- "display_name": "string",
- "description": "string",
- "total": 0
}
]
Returns the available filter options that can be used when querying entities. This helps in building dynamic filter UIs for entity exploration and discovery. The response includes filter names and their possible values based on the current entities in the system.
Response containing available filter options that can be used when querying entities, including filter names and their possible values.
[- {
- "filter": "string",
- "values": { }
}
]
Returns the JSON Schema for validating Entity definitions. This is useful for client-side validation before submitting entity creation or update requests. The schema can be filtered by entity kind to get specific validation rules.
Response containing the JSON Schema for validating Entity definitions, which can be used for client-side validation.
{ }