Creating a Profile and Provisioning via REST

The URI for the REST interface is http://<SC host>:<port>/api/v1/kpi and the resource path is /model.

The SC host and port are specified in the kpi-model service configuration. For further information, see 5.3 KPI Management Services.

You provision a service model by sending a single POST method request. This will create a new KPI profile configuration or update an existing one. The request must contain all the required objects in a JSON representation of the data model. You can retrieve the configuration by using the GET method.

Basic authentication is used and you must pass user credentials for each REST call.


Follow this procedure to provision a service model:

  1. Use the mzsh command kpimodel to validate the file that contains the JSON representation of the service model. For a complete example of a service model, see Service Model Definition.

    $ mzsh kpimodel validate --file <filename>

    For further information about the kpimodel command, see 2.2.13 kpimodel in the Command Line Tool User's Guide.

  2. Stop all KPI Management workflows.
  3. Use the HTTP POST method to provision the model. You must specify the name of the KPI profile that will contain the service model using the config parameter. 

    If the specified KPI profile does not exist, it will be created automatically. 

    The hostname and port in the URL should match the properties in the kpi-model service configuration. If the hostname and port are not specified in the service configuration localhost:8095 will be used.

    Example - POST with curl command

    $ curl -X POST -T "example.json" http://username:passw@myhostname:8095/api/v1/kpi/model?config=<model name>

    The model is now ready for deployment.


Use HTTP GET to retrieve a provisioned service model. You must specify the name of the KPI profile that contains the service model using the config parameter.

Example - GET with curl command

$ curl http://username:passw@myhostname:8095/api/v1/kpi/model?config=KPI.model1