Data Model Process API (HTTP)
The Model process API enables the processing of data models without using the UI. An entire model can be processed or one pipeline at a time can be processed.
Prerequisites
In order for the API to work, the following is required:
Generated API user and password in Data Hub. (Details explained below)
Existing model or deployed solution (located in public folder ONLY), manually published at least once or for subsequent changes. (Processing isn't required, just publishing)
A Process Configuration added to the model. It doesn't need a schedule, just a default configuration is sufficient.
Endpoint URI's
Process Model Endpoint URI
POST - {DataHubInstance}/{Organization}/ProcessApi/ProcessModel?modelName={MyModel}&processConfiguration={processConfig}
DataHubInstance - Instance name Example: https://DatahubCompany.com
Organization - Organization name Example: Default
API name - ProcessApi/ProcessModel
URI Parameters:
modelName (required) - Name of your Data Hub model to process. (It has to be in the public folder and has to be published) Example: CompanyDataModel
processConfiguration (required) - Name of a process configuration on the model. No schedule has to be set for this, just a blank process Configuration is sufficient for the API process. Example: ModelConfig
Example
https://DatahubCompany.com/Default/ProcessApi/ProcessModel?ModelName=CompanyDataModel&processConfiguration=ModelConfig
Process Pipeline Endpoint URI
POST - {DataHubInstance}/{Organization}/ProcessApi/ProcessPipeline?modelName={MyModel}&pipelineName={Sales}
DataHubInstance - Instance name Example: https://DatahubCompany.com
Organization - Organization name Example: Default
API name - ProcessApi/ProcessPipeline
URI Parameters:
modelName (required) - Name of your Data Hub model to process Example: CompanyDataModel
pipelineName (required) - Name of a the pipeline you want to process. Example: Sales
Example
https://DatahubCompany.com/Default/ProcessApi/ProcessPipeline?modelName=CompanyDataModel&pipelineName=Sales
Note
POST methods are requests, thus returns no results.
The Endpoint URI is case sensitive.
How to use the API
In Data Hub add a new API user from API Integration in Settings.
Add a new API User.
Important
Make sure to copy the password before you shift focus away from this window. The password will not be visible after that.
Copy the username and password.
On the target model (in the public folder), make sure the model is published. Add a process configuration if one doesn't exist. No schedule or details are required, just the config.
Download an API testing tool like Postman or Insomnia to test your HTTP requests.
Choose your request method, in this case POST. Provide the endpoint request. (Build the endpoint request based on the details above under endpoint URI.
Authentication type is Basic. Provide the API username and password from Data Hub for the authentication.
Click Send.
Troubleshooting
The model process API uses a POST request only, so receiving feedback is minimal. As described below, 200 means successful, but any other codes should be investigated. Server unreachable, incorrect credentials or Endpoint URI's could be common reasons for a request not coming back with a 200 response code.
Recommendation: When using this for the first time its worth testing in Data Hub and verify that your model starts processing to ensure you created the endpoint and credentials correctly.
Note
Search the web for HTTP response codes to understand the response messages. e.g. Mozilla HTTP response codes
Example:
HTTP 200 OK success status response code indicates that the request has succeeded. A 200 response is cacheable by default.
HTTP 202 Accepted response status code indicates that the request has been accepted for processing, but the processing has not been completed; 202 is non-committal, meaning that there is no way for the HTTP to later send an asynchronous response indicating the outcome of processing the request
HTTP 404 Not found response status code indicates that the server cannot find the requested resource. This could be due to any part of the URI being incorrect or misspelt, or if the Model resource is in a personal folder.