openapi: 3.0.3 info: description: NCMP Inventory API title: NCMP Inventory API version: 3.6.3 servers: - url: /ncmpInventory paths: /v1/ch: post: description: "Register a DMI Plugin with any new, updated or removed CM Handles." operationId: updateDmiPluginRegistration requestBody: content: application/json: schema: $ref: '#/components/schemas/RestDmiPluginRegistration' required: true responses: "200": content: {} description: No Content "400": content: application/json: example: status: 400 message: Bad request error message details: Bad request error details schema: $ref: '#/components/schemas/ErrorMessage' description: Bad Request "403": content: application/json: example: status: 403 message: Forbidden error message details: Forbidden error details schema: $ref: '#/components/schemas/ErrorMessage' description: Forbidden "500": content: application/json: example: failedCreatedCmHandles: - cmHandle: my-cm-handle-01 errorCode: "00" errorText: Unknown error. - cmHandle: my-cm-handle-02 errorCode: "01" errorText: cm-handle already exists - cmHandle: my-cm-handle-03 errorCode: "03" errorText: cm-handle has an invalid character(s) in id failedUpdatedCmHandles: - cmHandle: my-cm-handle-01 errorCode: "00" errorText: Unknown error. - cmHandle: my-cm-handle-02 errorCode: "02" errorText: cm-handle does not exist - cmHandle: my-cm-handle-03 errorCode: "03" errorText: cm-handle has an invalid character(s) in id failedRemovedCmHandles: - cmHandle: my-cm-handle-01 errorCode: "00" errorText: Unknown error. - cmHandle: my-cm-handle-02 errorCode: "02" errorText: cm-handle does not exists - cmHandle: my-cm-handle-03 errorCode: "03" errorText: cm-handle has an invalid character(s) in id schema: $ref: '#/components/schemas/DmiPluginRegistrationErrorResponse' description: Partial or Complete failure. The error details are provided in the response body and all supported error codes are documented in the example. summary: DMI notifies NCMP of new CM Handles tags: - network-cm-proxy-inventory /v1/ch/cmHandles: get: description: Get all cm handle references for a registered DMI plugin operationId: getAllCmHandleReferencesForRegisteredDmi parameters: - description: dmi-plugin-identifier in: query name: dmi-plugin-identifier required: true schema: example: my-dmi-plugin type: string - description: Boolean parameter to determine if returned value(s) will be cm handle ids or alternate ids for a given query in: query name: outputAlternateId required: false schema: default: false type: boolean responses: "200": content: application/json: schema: items: type: string type: array description: OK "403": content: application/json: example: status: 403 message: Forbidden error message details: Forbidden error details schema: $ref: '#/components/schemas/ErrorMessage' description: Forbidden "500": content: application/json: example: status: 500 message: Internal Server Error details: Internal Server Error occurred schema: $ref: '#/components/schemas/ErrorMessage' description: Internal Server Error summary: "Get all cm handle references for a registered DMI plugin (DMI plugin,\ \ DMI data plugin, DMI model plugin)" tags: - network-cm-proxy-inventory /v1/ch/searches: post: description: "Query and get cm handle references for additional properties,\ \ public properties and registered DMI plugin (DMI plugin, DMI data plugin,\ \ DMI model plugin)." operationId: searchCmHandleIds parameters: - description: Boolean parameter to determine if returned value(s) will be cm handle ids or alternate ids for a given query in: query name: outputAlternateId required: false schema: default: false type: boolean requestBody: content: application/json: schema: $ref: '#/components/schemas/CmHandleQueryParameters' required: true responses: "200": content: application/json: schema: items: type: string type: array description: OK "403": content: application/json: example: status: 403 message: Forbidden error message details: Forbidden error details schema: $ref: '#/components/schemas/ErrorMessage' description: Forbidden "500": content: application/json: example: status: 500 message: Internal Server Error details: Internal Server Error occurred schema: $ref: '#/components/schemas/ErrorMessage' description: Internal Server Error summary: Query for CM Handle IDs tags: - network-cm-proxy-inventory /v1/ch/searchCmHandles: post: description: Execute cm handle query search and return a list of cm handle details. Any number of conditions can be applied. To be included in the result a cm-handle must fulfill ALL the conditions. An empty collection will be returned in the case that the cm handle does not match a condition. For more on cm handle query search please refer to cm handle query search Read the Docs.
By supplying a CPS Path it is possible to query on any data related to the cm handle. For more on CPS Path please refer to CPS Path Read the Docs. The cm handle ancestor is automatically returned for this query. operationId: searchCmHandles parameters: - description: Whether to include additional properties in the response. in: query name: includeCmHandlePropertiesInQuery required: false schema: type: boolean requestBody: content: application/json: schema: $ref: '#/components/schemas/CmHandleQueryParameters' required: true responses: "200": content: application/json: schema: items: $ref: '#/components/schemas/RestOutputCmHandle' type: array description: OK "400": content: application/json: example: status: 400 message: Bad request error message details: Bad request error details schema: $ref: '#/components/schemas/ErrorMessage' description: Bad Request "403": content: application/json: example: status: 403 message: Forbidden error message details: Forbidden error details schema: $ref: '#/components/schemas/ErrorMessage' description: Forbidden "500": content: application/json: example: status: 500 message: Internal Server Error details: Internal Server Error occurred schema: $ref: '#/components/schemas/ErrorMessage' description: Internal Server Error summary: Query Cm Handles for a requested DMI Service tags: - network-cm-proxy-inventory components: parameters: dmiPluginIdentifierInQuery: description: dmi-plugin-identifier in: query name: dmi-plugin-identifier required: true schema: example: my-dmi-plugin type: string outputAlternateIdOptionInQuery: description: Boolean parameter to determine if returned value(s) will be cm handle ids or alternate ids for a given query in: query name: outputAlternateId required: false schema: default: false type: boolean responses: NoContent: content: {} description: No Content BadRequest: content: application/json: example: status: 400 message: Bad request error message details: Bad request error details schema: $ref: '#/components/schemas/ErrorMessage' description: Bad Request Forbidden: content: application/json: example: status: 403 message: Forbidden error message details: Forbidden error details schema: $ref: '#/components/schemas/ErrorMessage' description: Forbidden InternalServerError: content: application/json: example: status: 500 message: Internal Server Error details: Internal Server Error occurred schema: $ref: '#/components/schemas/ErrorMessage' description: Internal Server Error schemas: RestDmiPluginRegistration: example: updatedCmHandles: - cmHandle: my-cm-handle alternateId: "Subnetwork=Europe,ManagedElement=X123" dataProducerIdentifier: my-data-producer-identifier publicCmHandleProperties: key: my-property cmHandleProperties: key: my-property moduleSetTag: my-module-set-tag trustLevel: COMPLETE - cmHandle: my-cm-handle alternateId: "Subnetwork=Europe,ManagedElement=X123" dataProducerIdentifier: my-data-producer-identifier publicCmHandleProperties: key: my-property cmHandleProperties: key: my-property moduleSetTag: my-module-set-tag trustLevel: COMPLETE createdCmHandles: - cmHandle: my-cm-handle alternateId: "Subnetwork=Europe,ManagedElement=X123" dataProducerIdentifier: my-data-producer-identifier publicCmHandleProperties: key: my-property cmHandleProperties: key: my-property moduleSetTag: my-module-set-tag trustLevel: COMPLETE - cmHandle: my-cm-handle alternateId: "Subnetwork=Europe,ManagedElement=X123" dataProducerIdentifier: my-data-producer-identifier publicCmHandleProperties: key: my-property cmHandleProperties: key: my-property moduleSetTag: my-module-set-tag trustLevel: COMPLETE dmiPlugin: my-dmi-plugin dmiModelPlugin: my-dmi-model-plugin upgradedCmHandles: cmHandles: - my-cm-handle1 - my-cm-handle2 - my-cm-handle3 moduleSetTag: my-module-set-tag dmiDataPlugin: my-dmi-data-plugin removedCmHandles: - my-cm-handle1 - my-cm-handle2 - my-cm-handle3 properties: dmiPlugin: default: "" example: my-dmi-plugin type: string dmiDataPlugin: default: "" example: my-dmi-data-plugin type: string dmiModelPlugin: default: "" example: my-dmi-model-plugin type: string createdCmHandles: items: $ref: '#/components/schemas/RestInputCmHandle' type: array updatedCmHandles: items: $ref: '#/components/schemas/RestInputCmHandle' type: array removedCmHandles: example: - my-cm-handle1 - my-cm-handle2 - my-cm-handle3 items: type: string type: array upgradedCmHandles: $ref: '#/components/schemas/UpgradedCmHandles' type: object RestInputCmHandle: example: cmHandle: my-cm-handle alternateId: "Subnetwork=Europe,ManagedElement=X123" dataProducerIdentifier: my-data-producer-identifier publicCmHandleProperties: key: my-property cmHandleProperties: key: my-property moduleSetTag: my-module-set-tag trustLevel: COMPLETE properties: cmHandle: example: my-cm-handle type: string cmHandleProperties: additionalProperties: example: my-property type: string type: object publicCmHandleProperties: additionalProperties: example: my-property type: string type: object moduleSetTag: example: my-module-set-tag type: string trustLevel: enum: - COMPLETE - NONE example: COMPLETE type: string alternateId: example: "Subnetwork=Europe,ManagedElement=X123" type: string dataProducerIdentifier: example: my-data-producer-identifier type: string required: - cmHandle type: object UpgradedCmHandles: example: cmHandles: - my-cm-handle1 - my-cm-handle2 - my-cm-handle3 moduleSetTag: my-module-set-tag properties: cmHandles: example: - my-cm-handle1 - my-cm-handle2 - my-cm-handle3 items: type: string type: array moduleSetTag: default: "" example: my-module-set-tag type: string required: - cmHandles type: object ErrorMessage: example: details: details message: message status: status properties: status: type: string message: type: string details: type: string title: Error type: object DmiPluginRegistrationErrorResponse: example: failedCreatedCmHandles: - cmHandle: my-cm-handle errorText: Unknown error. errorCode: "00" - cmHandle: my-cm-handle errorText: Unknown error. errorCode: "00" failedUpgradeCmHandles: - cmHandle: my-cm-handle errorText: Unknown error. errorCode: "00" - cmHandle: my-cm-handle errorText: Unknown error. errorCode: "00" failedRemovedCmHandles: - cmHandle: my-cm-handle errorText: Unknown error. errorCode: "00" - cmHandle: my-cm-handle errorText: Unknown error. errorCode: "00" failedUpdatedCmHandles: - cmHandle: my-cm-handle errorText: Unknown error. errorCode: "00" - cmHandle: my-cm-handle errorText: Unknown error. errorCode: "00" properties: failedCreatedCmHandles: items: $ref: '#/components/schemas/CmHandlerRegistrationErrorResponse' type: array failedUpdatedCmHandles: items: $ref: '#/components/schemas/CmHandlerRegistrationErrorResponse' type: array failedRemovedCmHandles: items: $ref: '#/components/schemas/CmHandlerRegistrationErrorResponse' type: array failedUpgradeCmHandles: items: $ref: '#/components/schemas/CmHandlerRegistrationErrorResponse' type: array type: object CmHandlerRegistrationErrorResponse: example: cmHandle: my-cm-handle errorText: Unknown error. errorCode: "00" properties: cmHandle: example: my-cm-handle type: string errorCode: example: "00" type: string errorText: example: Unknown error. type: string type: object CmHandleQueryParameters: example: cmHandleQueryParameters: - conditionParameters: - key: conditionParameters - key: conditionParameters conditionName: conditionName - conditionParameters: - key: conditionParameters - key: conditionParameters conditionName: conditionName conditions: - name: name conditionParameters: - moduleName: my-module - moduleName: my-module - name: name conditionParameters: - moduleName: my-module - moduleName: my-module properties: cmHandleQueryParameters: items: $ref: '#/components/schemas/ConditionProperties' type: array conditions: deprecated: true description: "not necessary, it is just for backward compatibility" items: $ref: '#/components/schemas/OldConditionProperties' type: array title: Cm Handle query parameters for executing cm handle search type: object ConditionProperties: example: conditionParameters: - key: conditionParameters - key: conditionParameters conditionName: conditionName properties: conditionName: type: string conditionParameters: items: additionalProperties: type: string type: object type: array OldConditionProperties: deprecated: true example: name: name conditionParameters: - moduleName: my-module - moduleName: my-module properties: name: type: string conditionParameters: items: $ref: '#/components/schemas/ModuleNameAsJsonObject' type: array ModuleNameAsJsonObject: example: moduleName: my-module properties: moduleName: example: my-module type: string RestOutputCmHandle: example: cmHandle: my-cm-handle1 alternateId: "Subnetwork=Europe,ManagedElement=X123" dataProducerIdentifier: my-data-producer-identifier publicCmHandleProperties: - key: 3gpp Type - key: 3gpp Type cmHandleProperties: key: 3gpp Type state: dataSyncEnabled: false dataSyncState: running: lastSyncTime: 2022-12-31T20:30:40.000+0000 syncState: NONE_REQUESTED operational: lastSyncTime: 2022-12-31T20:30:40.000+0000 syncState: NONE_REQUESTED cmHandleState: ADVISED lockReason: reason: LOCKED_MISBEHAVING details: locked due to failure in module sync lastUpdateTime: 2022-12-31T20:30:40.000+0000 trustLevel: COMPLETE moduleSetTag: my-module-set-tag properties: cmHandle: example: my-cm-handle1 type: string publicCmHandleProperties: items: additionalProperties: example: 3gpp Type type: string type: object nullable: true type: array cmHandleProperties: additionalProperties: example: 3gpp Type type: string type: object state: $ref: '#/components/schemas/CmHandleCompositeState' trustLevel: description: Current trust level of the relevant CM handle ID. example: COMPLETE type: string moduleSetTag: example: my-module-set-tag type: string alternateId: example: "Subnetwork=Europe,ManagedElement=X123" type: string dataProducerIdentifier: example: my-data-producer-identifier type: string title: CM handle Details type: object CmHandleCompositeState: example: dataSyncEnabled: false dataSyncState: running: lastSyncTime: 2022-12-31T20:30:40.000+0000 syncState: NONE_REQUESTED operational: lastSyncTime: 2022-12-31T20:30:40.000+0000 syncState: NONE_REQUESTED cmHandleState: ADVISED lockReason: reason: LOCKED_MISBEHAVING details: locked due to failure in module sync lastUpdateTime: 2022-12-31T20:30:40.000+0000 properties: cmHandleState: example: ADVISED type: string lockReason: $ref: '#/components/schemas/lock-reason' lastUpdateTime: example: 2022-12-31T20:30:40.000+0000 type: string dataSyncEnabled: example: false type: boolean dataSyncState: $ref: '#/components/schemas/dataStores' type: object lock-reason: example: reason: LOCKED_MISBEHAVING details: locked due to failure in module sync properties: reason: example: LOCKED_MISBEHAVING type: string details: example: locked due to failure in module sync type: string type: object dataStores: example: running: lastSyncTime: 2022-12-31T20:30:40.000+0000 syncState: NONE_REQUESTED operational: lastSyncTime: 2022-12-31T20:30:40.000+0000 syncState: NONE_REQUESTED properties: operational: $ref: '#/components/schemas/sync-state' running: $ref: '#/components/schemas/sync-state' type: object sync-state: example: lastSyncTime: 2022-12-31T20:30:40.000+0000 syncState: NONE_REQUESTED properties: syncState: example: NONE_REQUESTED type: string lastSyncTime: example: 2022-12-31T20:30:40.000+0000 type: string type: object CmHandleTrustLevel: description: Current trust level of the relevant CM handle ID. example: COMPLETE type: string