Catalog API endpoints
Use the Catalog API endpoints to view the status of tenants and lookup fields. Before you run an endpoint, make sure that you authenticate the API request.
openapi: 3.0.0 components: schemas: About: type: object required: - product - component - api_version properties: product: description: Product name type: string version: type: string example: 1 component: description: Component type: string api_version: description: API versions type: array items: type: string ApiError: title: ApiError description: An error message returned by the server type: object required: - code - message properties: code: type: string message: type: string transient: type: boolean Lookup: title: Lookup description: Lookup type: object required: - key - value properties: key: description: Name of the lookup property type: string value: description: Value for the lookup property type: string weak: description: Is a weak lookup type: boolean EntityLookupByProvider: description: Entity Lookup By Provider type: object required: - metadata - sequence properties: metadata: description: The metadata of the entity type: object additionalProperties: type: string example: provider_id: '14' entity_catalog_id: '2' sequence: description: The lookup fields type: array items: $ref: '#/components/schemas/Lookup' example: - key: VMW_ID value: 'jhfd7-8csjhd-fgw89-gsd:vm-23' - key: HOSTNAME value: my.host.domain EntityLookup: description: Lookup Request type: object required: - entity_id - lookup properties: entity_id: description: The unique identifier of the entity (number) type: number example: 78945 name: description: The name of the entity type: string example: MyCluster type: description: The type of the entity type: string pattern: '^(sys|app|wkld)(:{1}[a-z]+){1,}$' example: 'sys:vhc:vmw' lookup: description: The lookup fields type: array items: $ref: '#/components/schemas/EntityLookupByProvider' MigrationSummary: title: Migration summary description: Migration summary type: object properties: migrated_systems: description: Number of migrated systems type: number migrated_business_drivers: description: Number of migrated business drivers type: number migrated_domains: description: Number of migrated domains type: number LookupCreationRequest: description: Lookup Request type: object required: - sequence properties: metadata: description: The metadata of the entity type: object additionalProperties: type: string example: update_ts: '2020-01-01T00:15:00Z' insert_ts: '2020-01-30T11:00:00Z' provider_id: '14' entity_catalog_id: '2' sequence: description: The lookup fields type: array items: $ref: '#/components/schemas/Lookup' example: - key: VMW_ID value: 'jhfd7-8csjhd-fgw89-gsd:vm-23' - key: HOSTNAME value: my.host.domain LookupDeleteRequest: title: Lookup Deletion Request description: Lookup Deletion Request type: object required: - metadata - keys properties: metadata: description: The metadata of the entity type: object additionalProperties: type: string example: update_ts: '2020-01-01T00:15:00Z' insert_ts: '2020-01-30T11:00:00Z' provider_id: '14' entity_catalog_id: '2' keys: description: Keys to delete type: array items: type: string example: - HOSTNAME - NAME LookupSequencesFilter: title: Lookup sequences filter description: Optional lookup sequences filter type: object required: - sequences properties: sequences: description: The lookup fields to be used in search type: array items: $ref: '#/components/schemas/Lookup' Sorting: title: Sorting description: Sorting filter type: object properties: sort: type: string description: Sorting mode default: ASC example: ASC enum: - ASC - DESC field: type: string description: Field to sort example: PaginationRequest: type: object required: - page - size properties: page: type: integer description: 'The page requested, starting from 0' example: 0 size: type: integer description: The number of element in the page example: 50 EntityCatalogNavigationRequest: title: Entity catalog navigation request description: Navigate content for an entity catalog type: object required: - pagination properties: provider_id: description: id of the provider (optional) type: integer example: 3 entity_id_filter: description: Optional filter on entity id type: array items: type: number example: - 1223 - 3345 entity_name_filter: description: Optional filter on entity name type: array items: type: string example: - vm* entity_type_filter: description: Optional filter on entity type example: - 'sys:vh:vmw' - 'sys:gm:vmw' type: array items: type: string lookup_sequences_filter: $ref: '#/components/schemas/LookupSequencesFilter' sorting: $ref: '#/components/schemas/Sorting' example: sorting: sort: ASC|DESC field: entity_id|entity_name|entity_type pagination: $ref: '#/components/schemas/PaginationRequest' PaginationResult: type: object properties: page: type: integer description: 'The page requested, starting from 0' size: type: integer description: The number of element requested for this page total_record: type: integer description: The total number of results. has_more_data: type: boolean description: True if there are subsequent pages. EntityCatalogNavigationResponse: title: Entity catalog navigation response description: Response for an entity catalog request type: object required: - pagination properties: entity_catalog_id: description: entity catalog id type: integer example: 1 provider_id: description: id of the provider (optional) type: integer example: 3 pagination: $ref: '#/components/schemas/PaginationResult' lookups: description: Lookup fields type: array items: $ref: '#/components/schemas/EntityLookup' CountByTypeRequest: title: Count by type request description: Returns the count by type for an entity catalog type: object required: - entity_catalog_id properties: provider_id: description: ids of the provider (optional) type: array items: type: integer example: - 137 - 138 entity_catalog_id: description: id of the entity catalog type: integer example: 2 last_activity_gt: description: filter entities with the last activity greater than the one provided type: string format: date-time example: 2023-01-01T00:00:00.000Z CountByTypeResponse: title: Entity catalog navigation response description: Response for an entity catalog request type: object properties: entity_catalog_id: description: entity catalog id type: integer example: 1 provider_id: description: id of the provider (optional) type: array items: type: integer example: - 137 - 138 count_by_type: description: count by type type: array items: type: object required: - type - count properties: type: description: The type of the entity type: string pattern: '^(sys|app|wkld)(:{1}[a-z]+){1,}$' example: 'sys:vhc:vmw' count: description: The count for that type type: number example: 78945 EntityCatalogSwitchRequest: title: Entity catalog switch request description: Entity catalog switch request type: object required: - source_entity_catalog_srcid - destination_entity_catalog_srcid - provider_id properties: source_entity_catalog_srcid: description: id of the sourceId of the source entity catalog type: integer example: 105 destination_entity_catalog_srcid: description: id of the sourceId of the destination entity catalog type: integer example: 2 provider_id: description: source id of the datasource to migrate type: integer example: 95 ResourceFormulaSourceResources: type: object properties: resource_ids: description: the resource id type: array items: type: string metrics: description: source metric used to calculate derived metric type: array items: type: string example: - MEM_UTIL operator: description: operator used by source metrics type: string example: - '*' ResourceFormula: description: 'For an aggregate metric, the formula used to create it' type: object properties: last_temp_id: description: >- The id of the last temporary timeseries saved on TsStore. Use until the TsStore will allow to delete a timeseries. type: string format: uuid example: be9b32ab-d075-4835-ac91-831da4889d94 target_metric: description: The name of the target metric type: string example: TOTAL_FS_UTIL source_resources: description: The source resources id type: array items: $ref: '#/components/schemas/ResourceFormulaSourceResources' aggregation: description: The aggregation type type: string example: SUM ResourceLookup: type: object required: - name - type - namespaces properties: name: description: The name of the resource type: string example: disk1 type: description: The type of the resource type: string example: DISK metadata: description: The metadata of the resource type: object additionalProperties: type: string example: update_ts: '2020-01-01T00:15:00Z' insert_ts: '2020-01-30T11:00:00Z' namespaces: description: The metrics of the resources grouped by namespace type: array minItems: 1 default: [] items: type: object properties: name: description: Name of the namespace type: string example: 'opt:meas:vn' metrics: type: array items: type: string example: - CPU_UTIL - MEM_UTIL formulas: type: array items: $ref: '#/components/schemas/ResourceFormula' lookup: description: The lookup fields type: array items: $ref: '#/components/schemas/Lookup' example: - key: uuid value: 68d3f652-07c3-11ea-8d71-362b9e155667 EntityLookupRequest: title: Entity Lookup Request description: Entity Lookup Request type: object required: - name - type - lookup properties: name: description: The name of the entity type: string example: MyCluster description: description: The description of the entity type: string example: MyDescription type: description: The type of the entity type: string pattern: '^(sys|app|wkld)(:{1}[a-z]+){1,}$' example: 'sys:vhc:vmw' metadata: description: The metadata of the entity type: object additionalProperties: type: string example: update_ts: '2020-01-01T00:15:00Z' insert_ts: '2020-01-30T11:00:00Z' provider_id: '14' entity_catalog_id: '2' lookup: description: The lookup sequence to use type: array items: $ref: '#/components/schemas/Lookup' example: - key: VMW_ID value: 'jhfd7-8csjhd-fgw89-gsd:vm-23' - key: HOSTNAME value: my.host.domain - key: NAME value: my.host resources: description: The resources of the entity type: array items: $ref: '#/components/schemas/ResourceLookup' EntTag: title: Tag type: object required: - type - values properties: type: description: The tag type type: string example: Environment values: description: Values for the given tag type: array items: type: string example: - Production Entity: type: object required: - entity_id - name - type properties: entity_id: description: The unique identifier of the entity (number) type: number example: 78945 status_id: description: Status id (number) type: number example: 1 name: description: The name of the entity type: string example: MyCluster description: description: The description of the entity type: string example: MyDescription type: description: The type of the entity type: string pattern: '^(sys|app|wkld)(:{1}[a-z]+){1,}$' example: 'sys:vhc:vmw' metadata: description: The metadata of the entity type: object additionalProperties: type: string example: update_ts: '2020-01-01T00:15:00Z' insert_ts: '2020-01-30T11:00:00Z' tags: description: Tags associated to the entity type: array items: $ref: '#/components/schemas/EntTag' ResourceMetrics: type: object required: - name - type properties: name: description: The name of the resource type: string example: disk1 type: description: The type of the resource type: string example: DISK resource_id: description: UUID of the resource type: string format: uuid example: d682dd48-378a-11ea-978f-2e728ce88125 metadata: description: The metadata of the resource type: object additionalProperties: type: string example: update_ts: '2020-01-01T00:15:00Z' insert_ts: '2020-01-30T11:00:00Z' namespaces: description: The metrics of the resources grouped by namespace type: array items: type: object properties: name: description: Name of the namespace type: string example: 'opt:meas:vn' metrics: type: array items: type: string example: - CPU_UTIL - MEM_UTIL formulas: type: array items: $ref: '#/components/schemas/ResourceFormula' lookup: description: The lookup fields type: array items: $ref: '#/components/schemas/Lookup' example: - key: uuid value: 68d3f652-07c3-11ea-8d71-362b9e155667 EntityLookupResponse: title: Entity Lookup Response description: Entity Lookup Response type: object allOf: - $ref: '#/components/schemas/Entity' - type: object properties: resources: description: The resources of the entity type: array items: $ref: '#/components/schemas/ResourceMetrics' EntityLookupDeletionRequest: title: Entity lookup deletion request description: Entity lookup deletion request type: object required: - entity_ids properties: entity_ids: description: Arrays of entity identifiers type: array items: type: number example: - 23 - 234 - 345 - 54654 DeleteLookupResults: type: object properties: removed: description: >- Arrays of identifiers for entities completely removed with no more associations with other ETLs type: array items: type: number example: - 23 - 234 - 345 - 54654 linked: description: >- Arrays of identifiers for entities removed but with associations with other ETLs type: array items: type: number example: - 23 - 234 - 345 - 54654 LookupSequencesRequest: title: Lookup Sequences Request type: object required: - entity_ids properties: entity_ids: description: Entity identifiers type: array items: type: number example: - 12 - 121 - 234 - 345 - 56456 sequence_keys: description: Lookup fields to extract type: array items: type: string example: - HOSTNAME - NAME - UUID LookupSearchRequest: title: Lookup Search Request type: object required: - value properties: value: description: Lookup value (wildcard supported) type: string example: cluster sequence_key: description: Optional lookup field to extract type: string example: HOSTNAME LookupSearchRequests: title: Lookup Search Requests type: object required: - filters properties: filters: type: array items: $ref: '#/components/schemas/LookupSearchRequest' operator: description: Used to set filters in OR or AND condition (default is OR) type: string default: OR example: AND EntityRequest: title: Entity Request description: Entity creation/update request type: object required: - name - status_id - type properties: name: description: The name of the entity type: string example: MyCluster status_id: description: Status id (number) type: number example: 1 description: description: The description of the entity type: string example: MyDescription type: description: The type of the entity type: string pattern: '^(sys|app|wkld)(:{1}[a-z]+){1,}$' example: 'sys:vhc:vmw' metadata: description: The metadata of the entity type: object additionalProperties: type: string example: ts: '2019-01-01 03:15:20+020' EntityReadResponse: title: Entity Read Response description: Entity Read Response type: object required: - entity_id - status_id - name - type properties: entity_id: description: The unique identifier of the entity (number) type: number example: 78945 status_id: description: Status id (number) type: number example: 1 name: description: The name of the entity type: string example: MyCluster description: description: The description of the entity type: string example: MyDescription type: description: The type of the entity type: string pattern: '^(sys|app|wkld)(:{1}[a-z]+){1,}$' example: 'sys:vhc:vmw' metadata: description: The metadata of the entity type: object additionalProperties: type: string example: update_ts: '2020-01-01T00:15:00Z' insert_ts: '2020-01-30T11:00:00Z' tags: description: Tags associated to the entity type: array items: $ref: '#/components/schemas/EntTag' EntityDelete: title: Entity deletion description: Entity deletion type: object required: - entity_ids properties: entity_ids: description: Entity ids type: array items: type: number example: - 1223 - 3345 EntitiesReadRequest: title: Entities read request description: Entities read request type: object required: - entity_ids properties: entity_ids: description: Entity ids type: array items: type: number example: - 1223 - 3345 EntityStatusUpdateRequest: type: object required: - entity_ids - status_id properties: entity_ids: description: Arrays of entity identifiers type: array items: type: number example: - 23 - 234 - 345 - 54654 status_id: description: Status id type: number example: 4 DomainRepairRequest: type: object required: - domain_id properties: domain_id: description: Domains identifier type: number example: 23 ReconciliationQueue: type: object required: - total_reconciliation_requests - pending_reconciliations properties: entity_catalog_srcid: description: Source id of the entity catalog type: number example: 2 total_reconciliation_requests: description: >- Number of reconciliation requests sent. A reconciliation request is intended as the destination entity - entities to reconcile pair. type: number example: 55 pending_reconciliations: description: >- Number of pending reconciliation requests in queue. A reconciliation request is intended as the destination entity - entities to reconcile pair. type: number example: 15 last_kill_request_timestamp: description: 'If present, last time a kill request has been submitted.' type: string format: date-time example: 2023-10-01T00:00:00.000Z ReconciliationRequest: type: object required: - destination_entity_id - entity_ids_to_reconcile properties: destination_entity_id: description: Destination entity identifier type: number example: 4 entity_ids_to_reconcile: description: >- Arrays of entity identifiers that have to be reconciled with the destination entity type: array items: type: number example: - 23 - 234 - 345 - 54654 ReconciliationResponse: type: object required: - reconciliation_requests properties: reconciliation_requests: description: >- Number of reconciliation requests sent. A reconciliation request is intended as the destination entity - entities to reconcile pair. type: number example: 15 FilterCondition: title: Filter condition description: Filter condition type: object required: - field_name - operator - values properties: field_name: type: string example: entity.type operator: type: string enum: - IN - NOT_IN - LIKE - NOT_LIKE - GREATER_THAN - LOWER_THAN example: IN values: type: array items: type: string example: - 'sys:vhc:vmw' - 'sys:vh:vmw' TagsTypeFilter: title: Tags type filter description: | Provides filtering condition for tags type data extraction Tag type filters permits to filter on: * entity.id: search tag types associated to given entity ids Supported operators: IN * entity.type: search tag types associated to given entity types Supported operators: IN, NOT_IN, LIKE, NOT_LIKE * domain.id.recursive: search tags for entities that have the domain (with specified id) as ancestor. Supported operators: IN type: object required: - filters properties: filters: type: array items: $ref: '#/components/schemas/FilterCondition' TagsFilter: title: Tags filter description: | Provides filtering condition for tags values data extraction type: object properties: types: description: Tag types type: array items: type: string example: - Env - Owner filters: type: array items: $ref: '#/components/schemas/FilterCondition' Tag: title: Tag type: object required: - type - values properties: type: description: The tag type type: string example: Env values: description: Values for the given tag type: array items: type: string example: - Production - Mail service BulkTagRequest: title: Bulk tag request description: Request for bulk patch of tags by entity id type: object required: - entity_id - tags properties: entity_id: description: The unique identifier of the entity (number) type: number example: 78945 tags: type: array items: $ref: '#/components/schemas/Tag' Metric: title: Resource metric description: Resource metric type: object required: - namespace - metric - activity_date - min_ts - max_ts properties: resource_id: description: UUID of the resource type: string format: uuid example: d682dd48-378a-11ea-978f-2e728ce88125 namespace: description: Name of the namespace type: string example: 'opt:meas:vn' metric: description: Name of the metric type: string example: DISK_IO_RATE activity_date: description: >- the last date the metric was imported. Used to track if the metric is still imported type: string format: date-time example: 2020-01-30T00:00:00.000Z min_ts: description: the date of the first sample for the metric type: string format: date-time example: 2020-01-01T00:00:00.000Z max_ts: description: the date of the last sample for the metric type: string format: date-time example: 2019-01-28T00:00:00.000Z duration: description: 'The last known duration of the samples, in seconds' type: number example: 3600 provider_ids: description: Ids of datasources that have populated the time series type: array items: type: integer example: - 1 - 3 - 27 entity_id: description: The unique identifier of the entity (number) type: number example: 78945 formula: $ref: '#/components/schemas/ResourceFormula' ResourceMetricsActivity: type: object required: - name - type - resource_id properties: name: description: The name of the resource type: string example: disk1 type: description: The type of the resource type: string example: DISK resource_id: description: UUID of the resource type: string format: uuid example: d682dd48-378a-11ea-978f-2e728ce88125 metadata: description: The metadata of the resource type: object additionalProperties: type: string example: update_ts: '2020-01-01T00:15:00Z' insert_ts: '2020-01-30T11:00:00Z' namespaces: description: The metrics of the resources grouped by namespace type: array items: type: object properties: name: description: Name of the namespace type: string example: 'opt:meas:vn' metrics: type: array items: $ref: '#/components/schemas/Metric' example: - name: CPU_UTIL activity_date: '2020-01-30T00:00:00Z' min_ts: '2020-01-01T00:00:00Z' max_ts: '2019-01-28T00:00:00Z' duration: 3600 - name: MEM_UTIL activity_date: '2020-01-30T00:00:00Z' min_ts: '2020-01-01T00:00:00Z' max_ts: '2019-01-28T00:00:00Z' duration: 300 ResourceCreateRequest: title: Resource Create Request description: Resource Create Request type: array items: $ref: '#/components/schemas/ResourceLookup' ResourceCreateResponse: title: Resource Create Response description: Resource Create Response type: array items: $ref: '#/components/schemas/ResourceMetrics' ResourceDeletionMetrics: type: object required: - resource_id properties: resource_id: description: UUID of the resource type: string format: uuid example: d682dd48-378a-11ea-978f-2e728ce88125 namespaces: description: The metrics of the resources grouped by namespace type: array items: type: object properties: name: description: Name of the namespace type: string example: 'opt:meas' metrics: type: array items: type: string example: - CPU_UTIL - MEM_UTIL ResourceDeletionRequest: title: Resource and metrics deletion request description: Resource and metrics deletion request type: array items: $ref: '#/components/schemas/ResourceDeletionMetrics' ResourceUpdateRequest: title: Resource Update Request description: Resource Update Request type: array items: $ref: '#/components/schemas/ResourceLookup' ResourceUpdateResponse: title: Resource Update Response description: Resource Update Response type: array items: $ref: '#/components/schemas/ResourceMetrics' EntityLastActivity: title: Entity last activity description: Entity last activity type: object required: - entity_id - last_activity properties: entity_id: description: entity identifier type: number example: 32455 last_activity: description: last activity type: string format: date-time example: 2019-01-28T00:00:00.000Z NamespaceBestMatch: title: Namespace filter for automatic selection description: Namespace filter for automatic selection type: object required: - apply_best_match properties: source: description: match best namespaces by source type: string example: opt type: description: match best namespaces by type type: string example: 'meas:vn' enabled: description: >- if true, for each metric the best matching namespace is determined (and marked with a flag) type: boolean ListMetricActivity: title: List metric activity description: Metric activity extraction request type: object required: - resource_ids - metrics properties: resource_ids: description: array of UUIDs of the resources type: array items: type: string format: uuid example: - 5ce94503-c1cf-4fcf-8d0b-aa9f0c835d11 - ceae40f6-b485-4428-aa38-e5217026975c metrics: description: array of metrics type: array items: type: string example: - CPU_UTIL - MEM_UTIL namespaces: description: array of namespaces. Optional value. type: array items: type: string example: - 'opt:meas:vn' namespace_best_match: description: >- selection of best matching namespace according to namespace priority and filters (source and type) $ref: '#/components/schemas/NamespaceBestMatch' UdmMetadata: title: Unified Data Model Metadata description: | Unified Data Model Metadata for metric mappings type: object required: - timeseries_labels properties: timeseries_labels: description: Map of labels to identify the timeseries on Victoria Metrics type: object additionalProperties: type: string scaling_factor: description: >- Number to multiply to the source metric to obtain the correct value for HCO metric type: number src_unit: description: Unit of the source metric type: string MetricActivity: title: Metric activity description: Provide metric activity information for the given metric. type: object required: - metric properties: namespace: description: Name of the namespace type: string example: 'opt:meas:vn' name: description: Name of the metric type: string example: CPU_UTIL activity_date: description: >- the last date the metric was imported. Used to track if the metric is still imported type: string format: date-time example: 2020-01-30T00:00:00.000Z min_ts: description: the date of the first sample for the metric type: string format: date-time example: 2020-01-01T00:00:00.000Z max_ts: description: the date of the last sample for the metric type: string format: date-time example: 2019-01-28T00:00:00.000Z duration: description: 'The last known duration of the samples, in seconds' type: number example: 3600 provider_ids: description: Ids of datasources that have populated the time series type: array items: type: integer example: - 1 - 3 - 27 udm_metadata: description: metadata for unified data model mappings $ref: '#/components/schemas/UdmMetadata' best_namespace_match: description: >- this flag is true if the namespace is the best matching for the metric in case of automatic selection type: boolean ResourceActivity: title: Resource metrics activity description: | Provides metrics activity for the given set of metrics per namespace. type: object required: - resource_id - namespaces properties: resource_id: description: UUID of the resource type: string format: uuid example: d682dd48-378a-11ea-978f-2e728ce88125 namespaces: description: The metrics of the resources grouped by namespace type: array items: type: object properties: name: description: Name of the namespace type: string example: 'opt:meas:vn' metrics: type: array items: $ref: '#/components/schemas/MetricActivity' example: - name: CPU_UTIL activity_date: '2020-01-30T00:00:00Z' min_ts: '2020-01-01T00:00:00Z' max_ts: '2019-01-28T00:00:00Z' duration: 3600 provider_ids: - 2 - 4 - name: MEM_UTIL activity_date: '2020-01-30T00:00:00Z' min_ts: '2020-01-01T00:00:00Z' max_ts: '2019-01-28T00:00:00Z' duration: 300 provider_ids: - 2 - 4 ResourceMetricsActivityUpdate: title: Resource metric activity request description: Resource metric activity request type: object properties: resource_id: description: UUID of the resource type: string format: uuid example: d682dd48-378a-11ea-978f-2e728ce88125 entity_id: description: The unique identifier of the entity (number) type: number example: 78945 metrics: description: List of metrics with activity information type: array items: $ref: '#/components/schemas/MetricActivity' RelationFilter: title: Relation request filter description: >- Filter related to relation parent/child. Supports filter 'entity.type' for searched relations. type: object required: - type properties: enabled: type: boolean description: enabling/disabling data extraction for the given filter example: true extract_hidden_relations: type: boolean description: >- enabling/disabling data extraction for hidden relations. 'false' as default example: false filters: type: array items: $ref: '#/components/schemas/FilterCondition' RelationRequest: title: Relation extraction request description: >- Request for parents/children relations extraction for a provided set of entities type: object required: - entity_ids - parents - children properties: entity_ids: description: Array of entity IDs type: array items: type: number example: - 12 - 15 parents: $ref: '#/components/schemas/RelationFilter' children: $ref: '#/components/schemas/RelationFilter' BaseEntity: title: Base entity description: Object that represent the base entity type: object required: - entity_id - name - type properties: entity_id: description: The unique identifier of the entity (number) type: number example: 78945 name: description: The name of the entity type: string example: cluster-1 description: description: The description of the entity type: string type: description: The type of the entity type: string example: 'sys:vhc:vmw' tags: description: Tags associated to the entity type: array items: $ref: '#/components/schemas/Tag' BreadCrumbDomain: title: domain description: domain required: - id - name properties: id: description: The unique identifier of the entity (number) type: number example: 1223 name: description: The domain name type: string example: VMware infrastructure type: description: The domain type type: string example: 'app:gen' BreadCrumb: title: List of Domains description: List of Domains type: array items: $ref: '#/components/schemas/BreadCrumbDomain' EntityRelation: title: Entity definition description: Object that represent the entity type: object allOf: - $ref: '#/components/schemas/BaseEntity' - type: object properties: status_id: description: Status id (number) type: integer example: 1 breadcrumbs: description: List of breadcrumbs type: array items: $ref: '#/components/schemas/BreadCrumb' metadata: description: The metadata of the entity type: object additionalProperties: type: string example: update_ts: '2020-01-01T00:15:00Z' insert_ts: '2020-01-30T11:00:00Z' relation_type: description: Relation type type: string example: CONTAINED_IN relation_hidden: description: Tells if relation is hidden type: boolean EntityRelations: title: Entity definition description: Object that represent the entity type: object allOf: - $ref: '#/components/schemas/BaseEntity' - type: object properties: status_id: description: Status id (number) type: integer example: 1 breadcrumbs: description: List of breadcrumbs type: array items: $ref: '#/components/schemas/BreadCrumb' example: - id: 0 name: Root domain - id: 32332 name: VMware infrastructure metadata: description: The metadata of the entity type: object additionalProperties: type: string example: update_ts: '2020-01-01T00:15:00Z' insert_ts: '2020-01-30T11:00:00Z' parent_relations: description: The parents of the entity type: array items: $ref: '#/components/schemas/EntityRelation' children_relations: description: The children of the entity type: array items: $ref: '#/components/schemas/EntityRelation' Relation: title: Relation description: Relation type: object required: - target_entity_id - target_entity_type - relation_type properties: target_entity_id: description: Numeric ID of the target node type: number example: 78456 target_entity_type: description: Type of the target node type: string example: 'sys:vhc:vmw' relation_type: description: Type of the relation type: string example: CONTAINED_IN ChildParentRelation: title: ChildParentRelation description: Relation between parent and child type: object required: - child_id - parent_id - relation_type properties: child_id: description: Numeric ID of the child node type: number example: 78456 parent_id: description: Numeric ID of the parent node type: number example: 78466 relation_type: description: Type of the relation type: string example: CONTAINED_IN hidden: description: show or not relation type: boolean default: true Relations: title: Relations description: List of relations to add/remove type: object required: - to_add - to_remove properties: to_add: description: List of relations to add. Can be empty type: array items: $ref: '#/components/schemas/ChildParentRelation' to_remove: description: List of relations to remove. Can be empty type: array items: $ref: '#/components/schemas/ChildParentRelation' ConfigurationMetricsRequestItem: type: object required: - resource_id - metrics properties: resource_id: description: UUID of the resource type: string format: uuid example: d682dd48-378a-11ea-978f-2e728ce88125 metrics: description: List of requested metrics type: array minItems: 1 items: type: string example: - CPU_NUM - CPU_MHZ - TOTAL_REAL_MEM - OS_VER namespace: type: string example: 'opt:meas' ConfigurationMetricsLastValueRequest: type: object required: - resources properties: all_namespaces: type: boolean description: >- By default, it will be returned the most relevant namespace based on following priority [opt:meas:vn, opt:meas, opt:der, opt:mod, opt:ind]. Setting this parameter to true will return values for all available namespaces default: false namespace_source: type: string description: >- filter on namespace source (e.g. opt, mon). Valid only if automatic namespace selection is required (not requested all namespaces and not provided specific namespace for each metric) this is a filter on namespace type (e.g. meas, meas:vn, meas:app) example: opt namespace_type: type: string description: >- filter on namespace type (e.g. meas, meas:vn, meas:app). Valid only if automatic namespace selection is required (not requested all namespaces and not provided specific namespace for each metric). example: meas resources: type: array description: List of requested resources/metrics items: $ref: '#/components/schemas/ConfigurationMetricsRequestItem' ConfigurationMetricsLastValue: type: object required: - ts - name - value properties: ts: description: the date of the first sample for the metric value type: string format: date-time example: 2020-01-01T00:00:00.000Z name: description: 'Name of the metric, like CPU_NUM' type: string example: OS_VER value: description: String value representation of the metric type: string example: Red Hat 7.8 metadata: description: >- The metadata of the sample. insert_ts containe the creation timestamp, update_ts contains the last update (change) timestamp type: object additionalProperties: type: string example: update_ts: '2020-05-26T12:38:10Z' insert_ts: '2020-01-01T05:06:00Z' ConfigurationMetricsLastValues: type: object required: - resource_id - namespaces properties: resource_id: description: UUID of the resource type: string format: uuid example: d682dd48-378a-11ea-978f-2e728ce88125 namespaces: description: List of available namespaces type: array minItems: 1 items: type: object properties: name: description: Name of the namespace type: string example: 'opt:meas' metrics: description: List of available metrics type: array minItems: 1 items: $ref: '#/components/schemas/ConfigurationMetricsLastValue' ConfigurationMetricsLastValueResults: type: array minItems: 1 items: $ref: '#/components/schemas/ConfigurationMetricsLastValues' DeletionSummary: type: object properties: deleted_items: type: integer example: 3 ConfigurationMetricsBulkMergeRequest: type: array minItems: 1 items: $ref: '#/components/schemas/ConfigurationMetricsLastValues' SearchFilter: title: Search filter request description: Filter for search. type: object required: - field_name - operator - values properties: field_name: type: string operator: type: string values: type: array items: type: string SearchCondition: title: Search condition request description: Join more SearchFilter type: object required: - filters properties: filters: type: array items: $ref: '#/components/schemas/SearchFilter' SearchRequest: type: object properties: pagination: $ref: '#/components/schemas/PaginationRequest' has_children: type: boolean description: Check if entity has children associated (default - false) compute_entity_last_activity: type: boolean description: >- Compute entity last activity for discovered entities (default - false) include_administrative_domains: type: boolean description: Check if include administrative domains default: false include_resources: type: boolean description: Flag to include/exclude resources into response default: true include_relations: type: boolean description: Flag to include/exclude entity relations into response default: false sorting: $ref: '#/components/schemas/Sorting' conditions: type: array items: $ref: '#/components/schemas/SearchCondition' HasChildren: type: object description: Tells if entity contains a specify class of entities required: - systems - domains - business_drivers properties: systems: description: contains system entities type: boolean example: true domains: description: contains domain entities type: boolean example: false business_drivers: description: contains business driver entities type: boolean example: false SearchResult: type: object allOf: - $ref: '#/components/schemas/Entity' - type: object properties: breadcrumbs: description: List of breadcrumbs type: array items: $ref: '#/components/schemas/BreadCrumb' resources: description: The resources of the entity type: array items: $ref: '#/components/schemas/ResourceMetrics' relations: descriptions: The relations of the entity type: array items: $ref: '#/components/schemas/Relation' has_children_type: $ref: '#/components/schemas/HasChildren' activity_date: description: Entity activity date type: string format: date-time example: 2020-01-28T00:00:00.000Z SearchResults: type: object properties: pagination: $ref: '#/components/schemas/PaginationResult' results: type: array items: $ref: '#/components/schemas/SearchResult' ScrollSearchRequest: type: object properties: page_size: type: number description: Search page size default: 1000 minimum: 1 maximum: 5000 ttl: type: number description: Scroll TTL in minutes default: 1 minimum: 1 maximum: 15 has_children: type: boolean description: Check if entity has children associated default: false compute_entity_last_activity: type: boolean description: Compute entity last activity for discovered entities default: false include_administrative_domains: type: boolean description: Check if include administrative domains default: false include_resources: type: boolean description: Flag to include/exclude resources into response default: true include_relations: type: boolean description: Flag to include/exclude entity relations into response default: false sorting: $ref: '#/components/schemas/Sorting' conditions: type: array items: $ref: '#/components/schemas/SearchCondition' ScrollSearchResults: type: object properties: page_size: type: number description: Search page size scroll_id: type: string description: Scroll identifier results: type: array items: $ref: '#/components/schemas/SearchResult' FreeSearchRequest: type: object properties: pagination: $ref: '#/components/schemas/PaginationRequest' has_children: type: boolean description: Check if entity has children associated (default - false) include_administrative_domains: type: boolean description: Check if include administrative domains default: false include_resources: type: boolean description: Flag to include/exclude resources into response default: true include_relations: type: boolean description: Flag to include/exclude entity relations into response default: false query: type: string example: 'entityid:1234455 AND name:vm*' SearchRequestLight: type: object properties: pagination: $ref: '#/components/schemas/PaginationRequest' include_administrative_domains: type: boolean description: Check if include administrative domains default: false conditions: type: array items: $ref: '#/components/schemas/SearchCondition' LightSearchResults: type: object properties: pagination: $ref: '#/components/schemas/PaginationResult' sys: description: Arrays of identifiers for entities of type System type: array items: type: number example: - 23 - 234 - 345 - 54654 wkld: description: Arrays of identifiers for entities of type Business Driver type: array items: type: number example: - 1236 - 7895 - 56225 app: description: Arrays of identifiers for entities of type Domain type: array items: type: number example: - 7812 - 226 ScrollSearchRequestLight: type: object properties: page_size: type: number description: Search page size default: 1000 minimum: 1 maximum: 5000 ttl: type: number description: Scroll TTL in minutes default: 1 minimum: 1 maximum: 15 include_administrative_domains: type: boolean description: Check if include administrative domains default: false conditions: type: array items: $ref: '#/components/schemas/SearchCondition' ScrollLightSearchResults: type: object properties: page_size: type: number description: Search page size scroll_id: type: string description: Scroll identifier sys: description: Arrays of identifiers for entities of type System type: array items: type: number example: - 23 - 234 - 345 - 54654 wkld: description: Arrays of identifiers for entities of type Business Driver type: array items: type: number example: - 1236 - 7895 - 56225 app: description: Arrays of identifiers for entities of type Domain type: array items: type: number example: - 7812 - 226 FreeSearchRequestLight: type: object properties: pagination: $ref: '#/components/schemas/PaginationRequest' include_administrative_domains: type: boolean description: Check if include administrative domains default: false query: type: string example: 'entityid:1234455 AND name:vm*' ScrollFreeSearchRequestLight: type: object properties: page_size: type: number description: Search page size default: 1000 minimum: 1 maximum: 5000 ttl: type: number description: Scroll TTL in minutes default: 1 minimum: 1 maximum: 15 include_administrative_domains: type: boolean description: Check if include administrative domains default: false query: type: string example: 'entityid:1234455 AND name:vm*' Domain: title: Domain description: contains the domains information for rbac type: object required: - id - name - description - type properties: id: type: number description: the domain id example: 78945 name: type: string description: the name of the domain example: AP1 description: type: string description: the description of the domain example: AP1 type: type: string description: the type of the domain example: 'app:generic' RbacGetResponse: type: object properties: group: type: string visible_domains: type: array items: $ref: '#/components/schemas/Domain' RbacConfigurationRequest: title: Rbac Configuration request description: used for the update and delete type: object required: - group properties: group: type: string description: the group from ims example: '123454677' domain_ids: type: array description: Array of domain IDs example: - 1230 - 4560 items: type: number example: 7890 RbacConfigurationResponse: title: Rbac Configuration Response description: Rbac Configuration Response type: object properties: request_id: type: string description: the id of the rbac configuration request format: uuid example: e682dd48-378a-11ea-978f-2e728ce88126 RbacConfigurationBulkRequest: title: Rbac Configuration Bulk Request description: used for bulk update type: object properties: to_add: description: list of groups to add on specific domains type: array items: $ref: '#/components/schemas/RbacConfigurationRequest' to_remove: description: list of groups to remove on specific domains type: array items: $ref: '#/components/schemas/RbacConfigurationRequest' RbacConfigurationStatusResponse: title: Rbac Configuration Status Response description: Rbac Configuration Status Response type: object properties: request_id: type: string description: the id of the rbac configuration request format: uuid example: e682dd48-378a-11ea-978f-2e728ce88126 status: type: string description: the status of the rbac configuration request example: COMPLETED enum: - PENDING - IN_PROGRESS - COMPLETED - FAILED - UNKNOWN error: type: string description: >- the error of the rbac configuration request (only in case status = FAILED) DomainTree: title: Domain Tree description: >- Object that represent the tree of the domain with information on group visibility allOf: - $ref: '#/components/schemas/BaseEntity' - type: object required: - children properties: has_group_applied: description: True if domain is visible for the specied group type: boolean children: description: The children of the entity type: array items: $ref: '#/components/schemas/DomainTree' EntityTree: title: Entity Tree description: Object that represent the tree of the entity allOf: - $ref: '#/components/schemas/BaseEntity' - type: object required: - children properties: children: description: The children of the entity type: array items: $ref: '#/components/schemas/EntityTree' ExploreSearchFilter: title: Explore Search filter request description: Filter for explore search. type: object required: - field_name - operator - values properties: field_name: type: string operator: type: string enum: - IN - NOT_IN - LIKE - NOT_LIKE values: type: array items: type: string ExploreSearchCondition: title: Explore Search Condition Request description: Join more SearchFilter for the explore type: object required: - filters properties: filters: type: array items: $ref: '#/components/schemas/ExploreSearchFilter' ReconcileSearchRequest: title: Reconcile search request description: Object that represent the reconcile search request type: object required: - pagination - entity_catalog_id - provider_ids - compare_by properties: entity_catalog_id: description: The entity catalog id of the entities to search type: string example: '1' provider_ids: description: >- The provider ids (source ids) of the ETLs that generated the entities to search type: array items: type: string example: - '1' - '2' entity_type: description: The entity type of the entities to reconcile type: string example: 'sys:gm:vmw' compare_by: description: Criteria used to search duplicated entities type: string enum: - NAME - NAME_AND_TYPE - LOOKUP example: NAME_AND_TYPE entity_name: description: The entity name which the results must contain type: object properties: name: description: The entity name type: string operator: description: The operator type: string enum: - LIKE lookups: description: The lookup fields that the filtered entity must have type: array items: type: string example: - hostname - _compatibility_ pagination: description: The pagination details $ref: '#/components/schemas/PaginationRequest' search_key: description: >- The base64 search key that the backend uses to internally manage search operations type: string example: MWVjNjI5Y2EtODY3Ni00MzI0LThlODktYTYzYjQ2ZDY0NDg4 ReconciliationEntity: title: Candidate for reconciliation description: possible duplicated entity type: object required: - name - entity_id - entity_type - lookup properties: name: description: The name of the candidate type: string example: vm1 entity_id: description: The entity id type: number example: '1' entity_type: description: The entity type type: string example: 'sys:gm:vmw' provider_ids: description: The ids of the providers that generated the current entity type: array items: type: number example: - 416 - 548 - 12 ReconcileDetails: title: Reconcile details description: Object that represent the reconcile search results type: object properties: duplicate_entities: description: Possible duplicates of the criteria described in the keys field type: array items: $ref: '#/components/schemas/ReconciliationEntity' ReconcileSearchResult: title: Reconcile search result description: The reconcile search result type: object properties: result: type: array items: $ref: '#/components/schemas/ReconcileDetails' search_key: description: >- The base64 search key returned by backend to internally manage search operations type: string example: MWVjNjI5Y2EtODY3Ni00MzI0LThlODktYTYzYjQ2ZDY0NDg4 total_records: description: The total records of the search duplicates for reconciliation type: number example: 7623 ReconcileSearchLookupRequest: title: Reconcile search lookup request description: The reconcile search lookup request type: object required: - entity_catalog_id properties: entity_catalog_id: description: The entity catalog id of the entities to search type: string example: '1' provider_ids: description: >- The provider ids (source ids) of the ETLs that generated the entities to search type: array items: type: string example: - '1' - '2' entity_type: description: The entity type of the entities to reconcile type: string example: 'sys:gm:vmw' ReconcileSearchLookupResult: title: Reconcile search lookup result description: The reconcile search lookup result type: object properties: result: type: array items: type: string UpdateDerivedEntityRequest: title: Create derived entity request description: >- The request body to create a derived entity starting from existing resources type: object required: - entity_id properties: entity_id: description: The derived entity id type: string example: '1234' name: description: The derived entity name type: string example: manually-derived-vm description: description: The derived entity description type: string example: Entity derived from existing resources type: description: The derived entity type type: string example: 'sys:gm:vmw' children: description: >- The entities which are sources of the derived entity that will be created type: array items: type: string example: - '421242' - '5326' - '823993' aggregation: description: >- The way in which the children entity resources will be aggregated to create the output metrics of the derived entity type: string enum: - DEFAULT - AVG - MIN - MAX - SUM example: AVG metrics: description: The metrics that will be aggregated and the derived entity will have type: array items: type: string example: - CPU_UTIL - MEM_UTIL from_ts: description: >- The timestamp from which the metric aggregation will begin (ISO 8601 format) type: string example: '2023-03-01T00:00:00Z' DerivedEntity: title: Create derived entity request description: >- The request body to create a derived entity starting from existing resources type: object required: - name - aggregation - type - children - from_ts properties: name: description: The derived entity name type: string example: manually-derived-vm description: description: The derived entity description type: string example: Entity derived from existing resources type: description: The derived entity type type: string example: 'sys:gm:vmw' children: description: >- The entities which are sources of the derived entity that will be created type: array items: type: string example: - '421242' - '5326' - '823993' aggregation: description: >- The way in which the children entity resources will be aggregated to create the output metrics of the derived entity type: string enum: - DEFAULT - AVG - MIN - MAX - SUM example: AVG metrics: description: The metrics that will be aggregated and the derived entity will have type: array items: type: string example: - CPU_UTIL - MEM_UTIL migrate: description: >- Boolean field that tells if this route has been called by migration task. It is an optional field, false by default. type: boolean default: false example: false from_ts: description: >- The timestamp from which the metric aggregation will begin (ISO 8601 format) type: string example: '2023-03-01T00:00:00Z' DerivedEntityResponse: title: Create derived entity response description: The response body of the derived entity creation type: object allOf: - $ref: '#/components/schemas/DerivedEntity' - type: object required: - id properties: id: description: The created derived entity id type: number example: 14393 responses: Unauthorized: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' Forbidden: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ApiError' NotFound: description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' InternalServerError: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ApiError' BadRequest: description: Bad request content: application/json: schema: $ref: '#/components/schemas/ApiError' TooManyRequest: description: Too Many Request content: application/json: schema: $ref: '#/components/schemas/ApiError' Conflict: description: Conflict content: application/json: schema: $ref: '#/components/schemas/ApiError' tags: - name: about description: The status of the service - name: lookup description: Manage all regarding the lookups - name: entity description: CRUD for entity object - name: resource description: CRUD for resources - name: relation description: CRUD for relation between entities - name: explore description: Navigation for entities - name: metrics description: CRUD on configuration metrics (last value) - name: search description: Search on the catalog resources - name: rbac description: Management endpoints for RBAC - name: tag description: Entities tags endpoints paths: /opt/api/catalog/about: get: tags: - about summary: getAboutInfo operationId: about security: [] responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/About' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' deprecated: false '/opt/api/v1/catalog/lookup/{entityId}': get: summary: Get lookup entries for given entity description: | Get lookup entries for given entity.
operationId: getLookupForEntityId tags: - lookup parameters: - in: path name: entityId description: Numeric ID of the entity required: true schema: type: number responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/EntityLookup' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/catalog/lookup/migration/{migrationId}': get: summary: Get lookup entries for given migration id description: | Get lookup entries for given migration id.
operationId: getLookupForMigrationId tags: - lookup parameters: - in: path name: migrationId description: Migration ID of the entity required: true schema: type: number responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/EntityLookup' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/lookup/migration/summary: get: summary: Get summary of migrated entities description: | Get summary of migrated entities.
operationId: getMigrationSummary tags: - lookup responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/MigrationSummary' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/catalog/lookup/{entityId}/add': patch: summary: Add the specified set of lookup fields description: | Add the specified set of lookup fields.
operationId: addLookupEntries tags: - lookup parameters: - in: path name: entityId description: Numeric ID of the entity required: true schema: type: number requestBody: content: application/json: schema: $ref: '#/components/schemas/LookupCreationRequest' description: Lookup Entries creation request required: true responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/EntityLookup' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/catalog/lookup/{entityId}/remove': patch: summary: Remove the specified set of lookup fields description: | Remove the specified set of lookup fields.
operationId: removeLookupEntries tags: - lookup parameters: - in: path name: entityId description: Numeric ID of the entity required: true schema: type: number requestBody: content: application/json: schema: $ref: '#/components/schemas/LookupDeleteRequest' description: Lookup Entries creation request required: true responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/EntityLookup' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/catalog/lookup/bycatalog/{entityCatalogId}': post: summary: Navigate a shared lookup catalog description: > Navigate a shared lookup catalog with filtering options by provider_id.
Supported sorting fields: entity_id, entity_name, entity_type operationId: listEntityCatalog tags: - lookup parameters: - in: path name: entityCatalogId description: Entity catalog identifier required: true schema: type: number requestBody: content: application/json: schema: $ref: '#/components/schemas/EntityCatalogNavigationRequest' description: Entity catalog navigation request required: true responses: '200': description: Content extracted content: application/json: schema: $ref: '#/components/schemas/EntityCatalogNavigationResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequest' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/lookup/countbytype: post: summary: Count the entities imported for each type description: | Fetch the lookup catalog filtering by provider_id.
Returns a count of the entities for each type operationId: countByType tags: - lookup requestBody: content: application/json: schema: $ref: '#/components/schemas/CountByTypeRequest' description: Count by type request required: true responses: '200': description: Content extracted content: application/json: schema: $ref: '#/components/schemas/CountByTypeResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequest' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/lookup/switch: post: summary: Switch an entitycatalog description: > Switch an entitycatalog, providing the ability to move from and to a private to shared catalog operationId: switchEntityCatalog tags: - lookup requestBody: content: application/json: schema: $ref: '#/components/schemas/EntityCatalogSwitchRequest' description: Entity catalog switch request required: true responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequest' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/lookup: post: summary: Perform entities lookup description: > Lookup an entity (create the entity if it does not exist).
Lookup create or match an entity, creating or matching associated resources.
operationId: lookupEntity tags: - lookup requestBody: content: application/json: schema: $ref: '#/components/schemas/EntityLookupRequest' description: Entity Lookup Request required: true responses: '200': description: Lookup succeeded content: application/json: schema: $ref: '#/components/schemas/EntityLookupResponse' '201': description: New entity is created content: application/json: schema: $ref: '#/components/schemas/EntityLookupResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequest' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/catalog/lookup/providers/{providerId}': delete: summary: Delete lookup information for given entities description: > Delete lookup information for given entities for a specific provider.
operationId: deleteLookupForEntities tags: - lookup parameters: - in: path name: providerId description: Provider identifier required: true schema: type: number requestBody: content: application/json: schema: $ref: '#/components/schemas/EntityLookupDeletionRequest' description: Entity lookup deletion request required: true responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/DeleteLookupResults' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequest' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/lookup/sequences: post: summary: Search for lookup sequences given a set of filters description: > Given a set of mandatory filters on entity ids and lookup sequences, provides distinct values by entity id for requested lookup entries. Entity id and lookup sequence filters are mandatory request parameters. operationId: listLookupSequences tags: - lookup requestBody: content: application/json: schema: $ref: '#/components/schemas/LookupSequencesRequest' description: Relation request required: true responses: '200': description: Ok content: application/json: schema: type: array items: $ref: '#/components/schemas/EntityLookup' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/lookup/sequences/search: post: summary: Search for lookup sequences given a set of lookup fields description: > Given a set of mandatory lookup fields, provides distinct values by entity id for requested lookup entries. operationId: searchLookupSequences tags: - lookup requestBody: content: application/json: schema: $ref: '#/components/schemas/LookupSearchRequests' description: Relation request required: true responses: '200': description: Ok content: application/json: schema: type: array items: $ref: '#/components/schemas/EntityLookup' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/entities: post: summary: Create a new entity description: | Create a new entity assigning a new entity identifier.
operationId: createEntity tags: - entity requestBody: content: application/json: schema: $ref: '#/components/schemas/EntityRequest' description: Entity creation request required: true responses: '201': description: New entity created content: application/json: schema: $ref: '#/components/schemas/EntityReadResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' delete: summary: Delete a set of entities description: | Delete a set of entities.
operationId: deleteEntities tags: - entity requestBody: content: application/json: schema: $ref: '#/components/schemas/EntityDelete' description: Entity deletion request required: true responses: '200': description: Deleted entities content: application/json: schema: $ref: '#/components/schemas/EntityDelete' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/entities/list: post: summary: List entities description: | List a set of entities.
operationId: listEntities tags: - entity requestBody: content: application/json: schema: $ref: '#/components/schemas/EntitiesReadRequest' description: Entity creation request required: true responses: '200': description: Ok content: application/json: schema: type: array items: $ref: '#/components/schemas/EntityReadResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/entities/status: put: summary: Update status for given entities description: | Update status identifier for given entities.
operationId: updateEntitiesStatus tags: - entity requestBody: content: application/json: schema: $ref: '#/components/schemas/EntityStatusUpdateRequest' description: Entity update request required: true responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/entities/repair: post: summary: Repair all the entities contained in the given domain description: > Repair relations/breadcrumbs/status for all the entities contained in the given domain.
operationId: repairEntities tags: - entity requestBody: content: application/json: schema: $ref: '#/components/schemas/DomainRepairRequest' description: Entity update request required: true responses: '202': description: Accepted '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/entities/reconcile: get: summary: Get active reconciliation queue requests status description: | Get active reconciliation queue requests status operationId: getActiveReconciliationQueueStatus tags: - reconcile responses: '200': description: Ok content: application/json: schema: type: array items: $ref: '#/components/schemas/ReconciliationQueue' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' post: summary: Reconcile the given set of entities description: | Reconcile the given set of entities.
operationId: reconcileEntities tags: - reconcile requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/ReconciliationRequest' description: Entity reconciliation request required: true responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ReconciliationResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/catalog/entities/reconcile/{entityCatalogSrcId}': get: summary: Get reconciliation queue requests status for given entity catalog description: | Get reconciliation queue requests status for given entity catalog operationId: getReconciliationQueueStatusForEntityCatalog tags: - reconcile parameters: - in: path name: entityCatalogSrcId description: Source ID of the entity catalog required: true schema: type: number responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ReconciliationQueue' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' delete: summary: Kill reconciliation requests for given entity catalog description: | Kill reconciliation requests for given entity catalog operationId: killReconciliationsForEntityCatalog tags: - reconcile parameters: - in: path name: entityCatalogSrcId description: Source ID of the entity catalog required: true schema: type: number responses: '202': description: Accepted '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/catalog/entities/{entityId}': get: summary: Get entity by id description: | Get entity by id.
operationId: getEntityById tags: - entity parameters: - in: path name: entityId description: Numeric ID of the entity required: true schema: type: number responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/EntityReadResponse' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' put: summary: Update entity by id description: | Update entity by id.
operationId: updateEntityById tags: - entity parameters: - in: path name: entityId description: Numeric ID of the entity required: true schema: type: number requestBody: content: application/json: schema: $ref: '#/components/schemas/EntityRequest' description: Entity Update Request required: true responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' delete: summary: Delete entity by id description: | Delete entity by id.
operationId: deleteEntityById tags: - entity parameters: - in: path name: entityId description: Numeric ID of the entity required: true schema: type: number responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/entities/tags/types: get: summary: List available tag types description: | List all available tag types operationId: listTagTypes tags: - tag responses: '200': description: Ok content: application/json: schema: type: array items: type: string example: - Env - Service - AppTier '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' post: summary: List available tag types description: | List available tag types supporting filtering by entity id. operationId: listFilteredTagTypes tags: - tag requestBody: content: application/json: schema: $ref: '#/components/schemas/TagsTypeFilter' description: Filter on entity ids required: true responses: '200': description: Ok content: application/json: schema: type: array items: type: string example: - Env - Service - AppTier '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/entities/tags: post: summary: List tags with filtering conditions description: | List tags with filtering conditions on tag types and entity ids.
Tag filters permits to filter on: * entity.id: search tag types associated to given entity ids Supported operators: IN * entity.type: search tag types associated to given entity types Supported operators: IN, NOT_IN, LIKE, NOT_LIKE * domain.id.recursive: search entities that have the domain (with specified id) as ancestor. Supported operators: IN * tags.values: filtering based on values Supported operators: IN, NOT_IN, LIKE, NOT_LIKE operationId: listFilteredTags tags: - tag requestBody: content: application/json: schema: $ref: '#/components/schemas/TagsFilter' description: Tags patch request required: true responses: '200': description: Ok content: application/json: schema: type: array items: $ref: '#/components/schemas/Tag' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' patch: summary: Bulk delta addition of provided set of tags for given entities description: > Delta addition of provided set of tags. Tags not present will be inserted, other modified. Max allowed request size of 500 entries. operationId: patchTagsBulk tags: - tag requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/BulkTagRequest' description: Tags bulk patch request required: true responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' delete: summary: Bulk delete of provided set of tags for given entities description: > Deletion of provided set of tags. Max allowed request size of 500 entries. operationId: deleteTagsBulk tags: - tag requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/BulkTagRequest' description: Tags bulk delete request required: true responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/catalog/entities/{entityId}/tags': post: summary: Add tags for given entity description: > Add tags for given entity. Tags types associated to entity will be substituted with the given set of tag types/values. operationId: addTags tags: - tag parameters: - in: path name: entityId description: Numeric ID of the entity required: true schema: type: number requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/Tag' description: Tags patch request required: true responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' patch: summary: Delta addition of provided set of tags for given entity description: > Delta addition of provided set of tags. Tags not present will be inserted, other modified. operationId: patchTags tags: - tag parameters: - in: path name: entityId description: Numeric ID of the entity required: true schema: type: number requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/Tag' description: Tags patch request required: true responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' delete: summary: Delete provided set of tags for given entity description: | Delete the provided set of tags for given entity operationId: deleteTags tags: - tag parameters: - in: path name: entityId description: Numeric ID of the entity required: true schema: type: number requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/Tag' description: Tags deletion request required: true responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/catalog/entities/{entityId}/resources': post: summary: Create resources description: | Create resources.
operationId: createResource tags: - resource parameters: - in: path name: entityId description: Numeric ID of the entity required: true schema: type: number - in: query name: withWait description: Flag to wait effectively creation of the resources. Default false. default: false required: false schema: type: boolean requestBody: content: application/json: schema: $ref: '#/components/schemas/ResourceCreateRequest' description: Resource Create Request required: true responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ResourceCreateResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' patch: summary: Patch resources description: | Patch resources.
operationId: patchResource tags: - resource parameters: - in: path name: entityId description: Numeric ID of the entity required: true schema: type: number requestBody: content: application/json: schema: $ref: '#/components/schemas/ResourceUpdateRequest' description: Resource Patch Request required: true responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ResourceUpdateResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' get: summary: Get resources description: | Get resources.
operationId: getResources tags: - resource parameters: - in: path name: entityId description: Numeric ID of the entity required: true schema: type: number responses: '200': description: Ok content: application/json: schema: type: array items: $ref: '#/components/schemas/ResourceMetricsActivity' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' delete: summary: Delete resources and metrics description: > Delete resources and metrics.
In case a metrics filter is provides, it will be removed the metrics in the reource. If resource is empty (so no namespaces and no metrics), resources will be deleted as well.
operationId: deleteResourceAndMetrics tags: - resource parameters: - in: path name: entityId description: Numeric ID of the entity required: true schema: type: number requestBody: content: application/json: schema: $ref: '#/components/schemas/ResourceDeletionRequest' description: Resource Create Request required: true responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/catalog/entities/{entityId}/resources/update': post: summary: Update resources description: | Update resources.
operationId: patchAndUpdateResource tags: - resource parameters: - in: path name: entityId description: Numeric ID of the entity required: true schema: type: number requestBody: content: application/json: schema: $ref: '#/components/schemas/ResourceUpdateRequest' description: Resource Update Request required: true responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ResourceUpdateResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/catalog/entities/{entityId}/resources/{resourceId}': get: summary: Get resource by id description: | Get resource by id.
operationId: getResourceById tags: - resource parameters: - in: path name: entityId description: Numeric ID of the entity required: true schema: type: number - in: path name: resourceId description: UUID of the resource required: true schema: type: string format: uuid responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ResourceMetricsActivity' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' put: summary: Update resource by id description: | Update resource by id.
operationId: updateResourceById tags: - resource parameters: - in: path name: entityId description: Numeric ID of the entity required: true schema: type: number - in: path name: resourceId description: UUID of the resource required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/ResourceMetrics' description: Resource Update Request required: true responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' delete: summary: Delete resource by id description: | Delete resource by id.
operationId: deleteResourceById tags: - resource parameters: - in: path name: entityId description: Numeric ID of the entity required: true schema: type: number - in: path name: resourceId description: UUID of the resource required: true schema: type: string format: uuid responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/entities/last-activity: post: summary: Compute entities last activity description: > Given a set of mandatory filters on entity ids, provides last activity for the given entities computed upon populated metrics. operationId: getEntitiesLastActivity tags: - entity requestBody: content: application/json: schema: type: array items: type: number example: - 12 - 121 - 234 - 345 - 56456 description: entity request required: true responses: '200': description: Ok content: application/json: schema: type: array items: $ref: '#/components/schemas/EntityLastActivity' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/entities/resources/metric-activity: post: summary: Get metric activity for the given set of metrics and resource ids. description: | Extract metric activity information's for the given set of metrics.
Namespace is optional. If not set, all namespaces will be extracted. operationId: listMetricActivity tags: - resource requestBody: content: application/json: schema: $ref: '#/components/schemas/ListMetricActivity' description: Metric activity extraction request required: true responses: '200': description: Ok content: application/json: schema: type: array items: $ref: '#/components/schemas/ResourceActivity' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/entities/resources/metric-activity/bulk: post: summary: Bulk updates the metrics activity for the resources description: > Updates the metrics activity for the resources.
The min_ts will be update only if it is less than of the current min_ts.
The max_ts will be update only if it is greater than of the current max_ts.
Duration will be updated only if present in request and different from the one recorded.
If an error occurs during the update of a specific metric, it will be simply skipped and update continue with the next metric.
operationId: bulkUpdateMetricsActivity tags: - resource requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/ResourceMetricsActivityUpdate' description: Bulk update request for metrics activity required: true responses: '204': description: No Content '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/entities/relations: post: summary: Get parents/children relations description: > Get relations (parents/children) linked to a set of entities, optionally filtered by parent/child entity type. ## Entities * entity.type: search entities by type Supported operators: IN, NOT_IN, LIKE, NOT_LIKE Entities can be filtered by last activity. * entity.lastactivity: search for entities based on metrics last activity. Values as ISO date format: e.g. '2020-01-01T00:15:00Z' Supported operators: GREATER_THAN, LOWER_THAN
Request is limited to a max of 200 entities operationId: getEntitiesLinkedRelations tags: - relation requestBody: content: application/json: schema: $ref: '#/components/schemas/RelationRequest' description: Relation request required: true responses: '200': description: Ok content: application/json: schema: type: array items: $ref: '#/components/schemas/EntityRelations' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/catalog/entities/{entityId}/relations': post: summary: Create Relation description: | Create Relation.
operationId: createRelation tags: - relation parameters: - in: path name: entityId description: Numeric ID of the entity required: true schema: type: number requestBody: content: application/json: schema: $ref: '#/components/schemas/Relation' description: Relation Create Request required: true responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Relation' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '500': $ref: '#/components/responses/InternalServerError' get: summary: Get Relations description: | Get Relations.
operationId: getRelations tags: - relation parameters: - in: path name: entityId description: Numeric ID of the entity required: true schema: type: number responses: '200': description: Ok content: application/json: schema: type: array items: $ref: '#/components/schemas/Relation' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' delete: summary: Delete Relation description: | Delete Relation.
operationId: deleteRelation tags: - relation parameters: - in: path name: entityId description: Numeric ID of the entity required: true schema: type: number requestBody: content: application/json: schema: $ref: '#/components/schemas/Relation' description: Relation Delete Request required: true responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/entities/relations/bulk: post: summary: Create and/or delete relations description: > Bulk endpoint to add/remove relations. In case of add, duplicate relations are simply ignored. In case of remove, relation that doesn't exists will be simply ignored. operationId: updateRelations tags: - relation requestBody: content: application/json: schema: $ref: '#/components/schemas/Relations' description: Relation Create Request required: true responses: '204': description: Relations created and/or deleted '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/metrics/last: post: summary: Get last values for given configuration metrics description: > Provide and entry point to retieve configuration data last (current) values.
operationId: metricsLast tags: - metrics requestBody: content: application/json: schema: $ref: '#/components/schemas/ConfigurationMetricsLastValueRequest' description: >- Configuration metrics last value request. Namespace is optional - if not provided, metrics of all namespaces will be retrieved required: true responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ConfigurationMetricsLastValueResults' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' delete: summary: Delete last values for given configuration metrics description: > Provide and entry point to delete configuration data last (current) values.
operationId: metricsLastDelete tags: - metrics requestBody: content: application/json: schema: $ref: '#/components/schemas/ConfigurationMetricsLastValueRequest' description: >- Configuration metrics last value deletion request. Namespace is optional - if not provided, metrics of all namespaces will be deleted required: true responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/DeletionSummary' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/metrics/last/bulk: post: summary: Configuration data last value bulk update/insert description: > Provide and entry point to bulk update/insert configration data last (current) values.
operationId: metricsLastBulk tags: - metrics requestBody: content: application/json: schema: $ref: '#/components/schemas/ConfigurationMetricsBulkMergeRequest' description: Configuration metrics last value bulk merge request required: true responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/search: post: summary: Search description: > Full search on the catalog. Supported filter are grouped by domain, entity and resource. Results are sorted by name. ## Domain Domain filters permits to filter on entity of type app* (aka domain): * domain.id: search entities that have the domain (with specified id) as parent. Supported operators: IN, NOT_IN * domain.id.recursive: search entities that have the domain (with specified id) as ancestor. Supported operators: IN, NOT_IN ## Entity Entity filters permits to filter on field specific to entity * entity.id: search entities by id Supported operators: IN, NOT_IN * entity.type: search entities by type Supported operators: IN, NOT_IN, LIKE, NOT_LIKE * entity.name: search entities by name Supported operators: IN, NOT_IN, LIKE, NOT_LIKE * entity.status: search entities by status Supported operators: IN, NOT_IN, LIKE, NOT_LIKE * entity.tag.type: search entities by tag type Supported operators: IN, NOT_IN, LIKE, NOT_LIKE * entity.tag: search entities by tag value Supported operators: IN, NOT_IN, LIKE, NOT_LIKE * entity.tag.full: search entities by full tag (concatened tag type and value - syntax: :) Supported operators: IN, NOT_IN, LIKE, NOT_LIKE * descendant.entity.type: search for domains owning entities of the given type Supported operators: IN * entity.migrationid: search entities by migration id Supported operators: IN, NOT_IN A special case when entity is prefixed with '.parent.' permits to search entities filtering on parent fields * entity.parent.id: search entities that have parent with specified id. So entities that is direct children of entity specified by id Supported operators: IN * entity.parent.type: search entities that have parent with specified type Supported operators: LIKE * entity.parent.hidden.relations: search entities that have visible/hidden relation with parent specified (boolean value) Supported operators: IN Entities can be filtered by last activity. In such case, no resource filter is allowed. * entity.lastactivity: search for entities based on metrics last activity. Values as ISO date format: e.g. '2020-01-01T00:15:00Z' Supported operators: GREATER_THAN, LOWER_THAN ## Resource * resource.id: search entities that haave resources with specified id Supported operators: IN, NOT_IN * resource.name: search entities that have resources with specified name Supported operators: IN, NOT_IN, LIKE, NOT_LIKE * resource.type: search entities that have resources with specified type Supported operators: IN, NOT_IN, LIKE, NOT_LIKE * resource.metric.name: search entities that have resources with a metric with specified name Supported operators: IN, NOT_IN, LIKE, NOT_LIKE * resource.namespace.name:search entities that have resources with a namespace with specified name Supported operators: IN, NOT_IN, LIKE, NOT_LIKE More that one conditions can be put in the same filters array. In this case the condition are in AND. Instead, if more filters arrays are put inside the conditions array, they are put in OR. NOTE: if resource filter is used the response will be total_records field set to -1. NOTE: Sorting is supported only when a filter on entity is present. Supported sorting fields: id, name, type, insert_ts, update_ts operationId: search tags: - search requestBody: content: application/json: schema: $ref: '#/components/schemas/SearchRequest' description: Search Request required: true responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/SearchResults' example: pagination: page: 0 size: 100 total_records: 1000 has_more_data: true results: - entity_id: 789654 name: AUS_Cluster_01 description: Austin - Cluster 1 type: 'sys:vhc:vmw' metadata: update_ts: 2020-01-01T00:15:00.000Z insert_ts: 2020-01-30T11:00:00.000Z tags: - type: Environment values: - Production - type: OS values: - Linux resources: - resource_id: 63bb0d5a-968e-4b69-91ae-cbceb025988e name: GLOBAL type: MEM metadata: update_ts: 2020-02-01T00:15:00.000Z insert_ts: 2020-01-30T11:00:00.000Z namespaces: - name: GLOBAL metrics: - MEM_UTIL lookup: - key: uuid value: 68d3f652-07c3-11ea-8d71-362b9e155667 '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/search/scroll: post: summary: Scroll Search description: > Full scroll search on the catalog. Support domain and entity filters defined for /search API, but with a scroll oriented flow, in order to optimize data extraction.
Open a new scroll request and the get next chunk od data with POST search/scroll/{scrollId} API call.
Scroll can be closed with DELETE search/scroll/{scrollId} API call.
operationId: openScrollSearch tags: - search requestBody: content: application/json: schema: $ref: '#/components/schemas/ScrollSearchRequest' description: Search Request required: true responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ScrollSearchResults' example: page_size: 1000 scroll_id: >- FGluY2x1ZGVfY29udGV4dF91dWlkDXF1ZXJ5QW5kRmV0Y2gBFnJsMktEZ2tVUVRlSzRUMS12bHpXUncAAAAAAAAAARZTUGNwejl2MFJUV09wVEtlLWtheDBn results: - entity_id: 789654 name: AUS_Cluster_01 description: Austin - Cluster 1 type: 'sys:vhc:vmw' metadata: update_ts: 2020-01-01T00:15:00.000Z insert_ts: 2020-01-30T11:00:00.000Z tags: - type: Environment values: - Production - type: OS values: - Linux resources: - resource_id: 63bb0d5a-968e-4b69-91ae-cbceb025988e name: GLOBAL type: MEM metadata: update_ts: 2020-02-01T00:15:00.000Z insert_ts: 2020-01-30T11:00:00.000Z namespaces: - name: GLOBAL metrics: - MEM_UTIL lookup: - key: uuid value: 68d3f652-07c3-11ea-8d71-362b9e155667 '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/catalog/search/scroll/{scrollId}': post: summary: Scroll Search by scroll description: | Get the next chunk of data from a scroll api search. operationId: nextOnScrollSearch tags: - search parameters: - in: path name: scrollId description: Scroll identifier required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ScrollSearchRequest' description: Search Request required: true responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ScrollSearchResults' example: page_size: 1000 scroll_id: >- FGluY2x1ZGVfY29udGV4dF91dWlkDXF1ZXJ5QW5kRmV0Y2gBFnJsMktEZ2tVUVRlSzRUMS12bHpXUncAAAAAAAAAARZTUGNwejl2MFJUV09wVEtlLWtheDBn results: - entity_id: 789654 name: AUS_Cluster_01 description: Austin - Cluster 1 type: 'sys:vhc:vmw' metadata: update_ts: 2020-01-01T00:15:00.000Z insert_ts: 2020-01-30T11:00:00.000Z tags: - type: Environment values: - Production - type: OS values: - Linux resources: - resource_id: 63bb0d5a-968e-4b69-91ae-cbceb025988e name: GLOBAL type: MEM metadata: update_ts: 2020-02-01T00:15:00.000Z insert_ts: 2020-01-30T11:00:00.000Z namespaces: - name: GLOBAL metrics: - MEM_UTIL lookup: - key: uuid value: 68d3f652-07c3-11ea-8d71-362b9e155667 '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' delete: summary: Search description: > Close already opened scroll. If scroll is not found, no operation is performed. operationId: deleteScroll tags: - search parameters: - in: path name: scrollId description: Scroll identifier required: true schema: type: string responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/search/free: post: summary: Free search description: > Full search on the catalog with free search text capabilities with Lucene-like syntax.
Eg. entityid:654123 OR entityid:43545 ### Supported search fields: * *entityid* - Entity identifier - aliases: sysid, systemid, wkldid, workloadid, appid, entid * *name* - name of the entity (supporting wildcard) - aliases: sys, server, system, app, domain, application, bd, businessdriver, workload, wkld * *domainid* - direct container domain id for an entity - aliases: applicationid * *breadcrumbid* - container domain id for an entity over the breadcrumb * *enttype* - entity type (eg. sys:vh:vmw - sys:*) * *enttypename* - entity type name (eg. Generic - Cloud*) * *migrationid* - Entity migration identifier * *relatedto* - related (parent) entity (eg. Cluster-23) * *relatedtoid* - related (parent) entity by id. Syntax: (eg. SYS12334, WKLD89234, APP87324) * *tag* - entities with a specified tag value * *tag.type* - entities with a specified tag type * *status* - entities with a specified status id (1=active, 2=unassigned, 4=dismissed, 3=newly discovered) ### Supported operator: AND, OR, -, + ### Default operator: AND operationId: searchFree tags: - search requestBody: content: application/json: schema: $ref: '#/components/schemas/FreeSearchRequest' description: Search Request required: true responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/SearchResults' example: pagination: page: 0 size: 100 total_records: 1000 has_more_data: true results: - entity_id: 789654 name: AUS_Cluster_01 description: Austin - Cluster 1 type: 'sys:vhc:vmw' metadata: update_ts: 2020-01-01T00:15:00.000Z insert_ts: 2020-01-30T11:00:00.000Z tags: - type: Environment values: - Production - type: OS values: - Linux resources: - resource_id: 63bb0d5a-968e-4b69-91ae-cbceb025988e name: GLOBAL type: MEM metadata: update_ts: 2020-02-01T00:15:00.000Z insert_ts: 2020-01-30T11:00:00.000Z namespaces: - name: GLOBAL metrics: - MEM_UTIL lookup: - key: uuid value: 68d3f652-07c3-11ea-8d71-362b9e155667 '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/search/light: post: summary: Light search description: > Full search on the catalog with the aim of listing ids associated to a given search. Supported filter are grouped by domain and entity. ## Domain Domain filters permits to filter on entity of type app* (aka domain): * domain.id: search entities that have the domain (with specified id) as parent. Supported operators: IN, NOT_IN * domain.id.recursive: search entities that have the domain (with specified id) as ancestor. Supported operators: IN, NOT_IN ## Entity Entity filters permits to filter on field specific to entity * entity.id: search entities by id Supported operators: IN, NOT_IN * entity.type: search entities by type Supported operators: IN, NOT_IN, LIKE, NOT_LIKE * entity.status: search entities by status Supported operators: IN, NOT_IN, LIKE, NOT_LIKE * entity.tag.type: search entities by tag type Supported operators: IN, NOT_IN, LIKE, NOT_LIKE * entity.tag: search entities by tag value Supported operators: IN, NOT_IN, LIKE, NOT_LIKE A special case when entity is prefixed with '.parent.' permits to search entities filtering on parent fields * entity.parent.id: search entities that have parent with specified id. So entities that is direct children of entity specified by id Supported operators: IN * entity.parent.type: search entities that have parent with specified type Supported operators: LIKE * entity.parent.hidden.relations: search entities that have visible/hidden relation with parent specified (boolean value) Supported operators: IN Entities can be filtered by last activity. In such case, no resource filter is allowed. * entity.lastactivity: search for entities based on metrics last activity. Values as ISO date format: e.g. '2020-01-01T00:15:00Z' Supported operators: GREATER_THAN, LOWER_THAN More that one conditions can be put in the same filters array. In this case the condition are in AND. On the contrary, if more filters arrays are put inside the conditions array, they are put in OR. operationId: searchLight tags: - search requestBody: content: application/json: schema: $ref: '#/components/schemas/SearchRequestLight' description: Search Request required: true responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/LightSearchResults' '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/search/light/scroll: post: summary: Scroll Light search description: > Full scroll light search on the catalog. Support all filters defined for /search API, but with a scroll oriented flow, in order to optimize data extraction.
Open a new scroll request and the get next chunk od data with POST search/light/scroll/{scrollId} API call.
Scroll can be closed with DELETE search/light/scroll/{scrollId} API call.
operationId: openScrollLightSearch tags: - search requestBody: content: application/json: schema: $ref: '#/components/schemas/ScrollSearchRequestLight' description: Search Request required: true responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ScrollLightSearchResults' '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/catalog/search/light/scroll/{scrollId}': post: summary: Scroll Light search by scroll description: | Get the next chunk of data from a scroll api light search. operationId: nextOnScrollLightSearch tags: - search parameters: - in: path name: scrollId description: Scroll identifier required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ScrollSearchRequestLight' description: Search Request required: true responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ScrollLightSearchResults' '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' delete: summary: Search description: > Close already opened scroll. If scroll is not found, no operation is performed. operationId: deleteLightScroll tags: - search parameters: - in: path name: scrollId description: Scroll identifier required: true schema: type: string responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/search/light/free: post: summary: Light free search description: > full search on the catalog with free search text capabilities with lucene-like syntax.
eg. entityid:654123 or entityid:43545 ### supported search fields: * *entityid* - entity identifier - aliases: sysid, systemid, wkldid, workloadid, appid, entid * *name* - name of the entity (supporting wildcard) - aliases: sys, server, system, app, domain, application, bd, businessdriver, workload, wkld * *domainid* - direct container domain id for an entity - aliases: applicationid * *breadcrumbid* - container domain id for an entity over the breadcrumb * *enttype* - entity type (eg. sys:vh:vmw - sys:*) * *enttypename* - entity type name (eg. generic - cloud*) * *migrationid* - entity migration identifier * *relatedto* - related (parent) entity (eg. cluster-23) * *relatedtoid* - related (parent) entity by id. syntax: (eg. sys12334, wkld89234, app87324) * *tag* - entities with a specified tag value * *tag.type* - entities with a specified tag type * *status* - entities with a specified status id (1=active, 2=unassigned, 4=dismissed, 3=newly discovered) ### supported operator: and, or, -, + ### default operator: and operationId: searchLightFree tags: - search requestBody: content: application/json: schema: $ref: '#/components/schemas/FreeSearchRequestLight' description: Search Request required: true responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/LightSearchResults' '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/search/light/free/scroll: post: summary: Scroll Light free search description: > Full scroll light search on the catalog. Support all filters defined for /search/free API, but with a scroll oriented flow, in order to optimize data extraction.
Open a new scroll request and the get next chunk od data with POST search/light/free/scroll/{scrollId} API call.
Scroll can be closed with DELETE search/light/free/scroll/{scrollId} API call.
operationId: openScrollSearchLightFree tags: - search requestBody: content: application/json: schema: $ref: '#/components/schemas/ScrollFreeSearchRequestLight' description: Search Request required: true responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ScrollLightSearchResults' '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/catalog/search/light/free/scroll/{scrollId}': post: summary: Scroll Light free search by scroll description: | Get the next chunk of data from a scroll api light free search. operationId: nextOnScrollFreeLightSearch tags: - search parameters: - in: path name: scrollId description: Scroll identifier required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ScrollFreeSearchRequestLight' description: Search Request required: true responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ScrollLightSearchResults' '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' delete: summary: Search description: > Close already opened scroll. If scroll is not found, no operation is performed. operationId: deleteFreeLightScroll tags: - search parameters: - in: path name: scrollId description: Scroll identifier required: true schema: type: string responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/rbac/domains/configuration: post: summary: Bulk update the groups to given domains description: '' operationId: updateRbac tags: - rbac requestBody: content: application/json: schema: $ref: '#/components/schemas/RbacConfigurationBulkRequest' description: Group visibility object required: true responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/RbacConfigurationResponse' example: request_id: e682dd48-378a-11ea-978f-2e728ce88126 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' put: summary: Add the group to given domains description: '' operationId: addRbac tags: - rbac requestBody: content: application/json: schema: $ref: '#/components/schemas/RbacConfigurationRequest' description: Group visibility object required: true responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/RbacConfigurationResponse' example: request_id: e682dd48-378a-11ea-978f-2e728ce88126 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' delete: summary: Delete the group from given domains description: '' operationId: deleteRbac tags: - rbac requestBody: content: application/json: schema: $ref: '#/components/schemas/RbacConfigurationRequest' description: Group visibility object required: true responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/RbacConfigurationResponse' example: request_id: e682dd48-378a-11ea-978f-2e728ce88126 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' get: summary: >- Returns the list of domains on which visibility privileges are set for the specified group description: | Rbac GET request operationId: getRbac tags: - rbac parameters: - in: query name: group schema: type: string required: true description: the group for which will be retrieved the visible domains responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/RbacGetResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/catalog/rbac/domains/configuration/{requestId}/status': get: summary: Returns the status of the rbac configuration request description: '' operationId: getRbacStatus tags: - rbac parameters: - in: path name: requestId description: id of the rbac configuration request required: true schema: type: string format: uuid responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/RbacConfigurationStatusResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/catalog/explore/domains/{domainId}/tree': get: summary: Explore domain relations giving also information on rbac visibility description: | Navigate relations of the specified domain (until a given depth).
operationId: exploreDomains tags: - explore parameters: - in: path name: domainId description: Numeric ID of the domain required: true schema: type: number - in: query name: group description: Group used to check if domain is visible or not required: true schema: type: string - in: query name: depth description: 'Tree depth. If not set, the default value is 1.' schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/DomainTree' example: id: 789654 name: PR10 description: PR0 type: 'app:generic' has_group_applied: false children: - id: 123456 name: 'PR1,' description: PR1 type: 'app:generic' has_group_applied: false children: - id: 456789 name: BS1 description: BS1 type: 'app:generic' has_group_applied: true children: [] - id: 4457866 name: GR1 description: GR1 type: 'app:generic' has_group_applied: false children: [] '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/catalog/explore/entities/{entityId}/tree': get: summary: Explore entities relations description: | Navigate relations of the specified entity (until a given depth).
operationId: exploreEntitiesGet tags: - explore parameters: - in: path name: entityId description: Numeric ID of the entity required: true schema: type: number - in: query name: depth description: Depth schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/EntityTree' example: id: 789654 name: AUS_Cluster_01 description: Austin - Cluster 1 type: 'sys:vhc:vmw' children: - id: 123456 name: 'TSCO,' description: TSCO Dev Host type: 'sys:vh:vmw' children: - id: 456789 name: TSCO_11_3_AS description: TSCO AS Development VM type: 'sys:gm:vmw' - id: 4457866 name: TSOM description: TSOM Dev Host type: 'sys:vh:vmw' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' post: summary: Explore entities relations description: > Navigate relations of the specified entity (until a given depth) appling filters
Available filters are:
* domain.id -> operator "IN": return only the domains in the list or having children in the list .
``` { "field_name": "domain.id", "operator": "IN", "values": [12,3,43] } ``` operationId: exploreEntitiesPost tags: - explore parameters: - in: path name: entityId description: Numeric ID of the top parent domain required: true schema: type: number - in: query name: depth description: Depth schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ExploreSearchCondition' description: Relation request required: true responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/EntityTree' example: id: 789654 name: AUS_Cluster_01 description: Austin - Cluster 1 type: 'sys:vhc:vmw' children: - id: 123456 name: 'TSCO,' description: TSCO Dev Host type: 'sys:vh:vmw' children: - id: 456789 name: TSCO_11_3_AS description: TSCO AS Development VM type: 'sys:gm:vmw' - id: 4457866 name: TSOM description: TSOM Dev Host type: 'sys:vh:vmw' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/reconcile/search: post: summary: Search entities to reconcile description: | Search entities to reconcile.
operationId: searchEntitiesToReconcile tags: - reconcile requestBody: content: application/json: schema: $ref: '#/components/schemas/ReconcileSearchRequest' description: Reconcile Search Request required: true responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ReconcileSearchResult' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/reconcile/search/lookup: post: summary: Search entities to reconcile description: | Search entities to reconcile.
operationId: searchLookupFields tags: - reconcile requestBody: content: application/json: schema: $ref: '#/components/schemas/ReconcileSearchLookupRequest' description: Reconcile Search Request required: true responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ReconcileSearchLookupResult' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/catalog/entities/derive: post: summary: Create a new derived entity description: > Create derived entity based on the passed-in children entities and other parameters (such as aggregation type, entity type, name..).
operationId: createDerivedEntity tags: - derived_entity - entity requestBody: content: application/json: schema: $ref: '#/components/schemas/DerivedEntity' description: Create derived entity request required: true responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/DerivedEntityResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' put: summary: Update a derived entity description: > Update derived entity based on the passed-in children entities and other parameters (such as aggregation type, entity type, name..).
operationId: updateDerivedEntity tags: - derived_entity - entity requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateDerivedEntityRequest' description: Update derived entity request required: true responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/DerivedEntityResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError'