Use the Engage API to send and pull data to and from Engage.

Endpoints

The Engage API currently supports the following endpoints.
Operation Description
Read Dashboard Data Gets global data values from all projects included in dashboard reports and all workflow ideas.
Create Idea Creates a new project idea.
Get Job Status Gets the status information for a specified background job.

Read dashboard data

The Read Dashboard Data operation retrieves global project data for all projects included in dashboard reports and all workflow ideas. This endpoint uses the OData standard for querying data.

The following OData functions are not supported:
  • $filter
  • $apply
  • $orderby
  • $select
  • $expand
  • $count
  • $skip
  • $top

Request

The Read Dashboard Data request may be constructed as follows. Replace subscription-id with your subscription's ID.
Method Request URL
GET https://engage.minitab.com/api/v1/subscription-id/export/odata
Request headers
Header Description
Authorization Required. Provide an API token via the Bearer authorization scheme.
Sample request
Request: GET 
https://engage.minitab.com/api/v1/4906fcd496d94f738304dfcde754000a/export/odata 
HTTP/1.1

Headers: Authorization: Bearer token

Response

The response includes an HTTP status code, a set of response headers, and a body.

Status code
A successful request returns status code 200 (OK).
Response headers
The response for this operation includes the following headers. The response may also include additional standard HTTP headers. All standard headers conform to the HTTP/1.1 protocol specification.
Header Description
Content-Type Indicates the media type of the response body.
Response body
The response body contains the requested data in JSON format, structured according to the OData standard. Below is an example of the response:
{
    "value": [
        {
            "ProjectId": "12345",
            "ProjectName": "Project A",
            "Status": "Active",
            "StartDate": "2025-01-01",
            "EndDate": "2025-12-31"
        },
        {
            "ProjectId": "67890",
            "ProjectName": "Project B",
            "Status": "Completed",
            "StartDate": "2024-01-01",
            "EndDate": "2024-12-31"
        }
    ]
}
Sample response
Response Status:
HTTP/1.1 200 OK

Response headers:
Content-Type: application/json

Response Body:
{
    "value": [
        {
            "ProjectId": "12345",
            "ProjectName": "Project A",
            "Status": "Active",
            "StartDate": "2025-01-01",
            "EndDate": "2025-12-31"
        },
        {
            "ProjectId": "67890",
            "ProjectName": "Project B",
            "Status": "Completed",
            "StartDate": "2024-01-01",
            "EndDate": "2024-12-31"
        }
    ]
}

Create idea

The Create Idea operation initiates a job to create a project idea in your subscription.

Request

You can construct the Create Idea request as shown here. Replace subscription-id with your subscription's ID.
Method Request URL
POST https://engage.minitab.com/api/v1/subscription-id/Item
Request Headers
Header Description
Authorization Required. Provide an API token via the Bearer authorization scheme. The token is required to have the Create Idea permission.
Content-Type Required. Must be application/json.
Request Body
The request body consists of a JSON object with one required property FileName.
{
    "FileName": "name of idea"
}
You may optionally include a Data object to set data field values in the idea. Data consists of single-value category codenames mapped to objects of field codenames and values.
{
    "FileName": "name of idea",
    "Data": {
        "projectsummary": {
            "belt_level": "Green Belt",
            "critical_to": "Long text\r\nwith\r\nnewlines"
        },
        "annualized_financial": {
            "annualized_actual_hard_savings": 100
        }
    }
}
Note

To see the list of valid data fields and category names available for sharing, data architects can download a CSV file from the Settings tab of the Engage web app.

Note

Only data fields that are shared to controls on the idea form may be specified in the Create Idea operation request. Additionally, specifying rich text, formula, read-only, or data table fields is not supported. Attempting to provide data for fields not shared to controls on the idea form or rich text, formula, read-only, or data table fields will result in an error.

Sample Request
Request:
POST https://engage.minitab.com/api/v1/4906fcd496d94f738304dfcde754000a/Item HTTP/1.1

Headers:
Authorization: Bearer token
Content-Type: application/json
Content-Length: 287

Body:
{
    "FileName": "idea name",
    "Data": {
        "_category1": {
            "_text_field": "text value",
            "_date_field": "2025-03-20",
            "_number_field": 3.1415
        },
        "_category2": {
            "_text_field": "text value",
            "_date_field": "2025-03-20",
            "_number_field": 3.1415     
        }
    }   
}

Response

The response includes an HTTP status code, a set of response headers, and a body.

Status code
A successful operation returns status code 202 (Accepted).
Response headers
The response for this operation includes the following headers. The response may also include additional standard HTTP headers. All standard headers conform to the HTTP/1.1 protocol specification.
Header Description
Location A URL that may be used to retrieve the status of the job.
Response body
The response for the Create Idea operation contains the identifier of the job that will create the project idea. The JSON format is shown below:
{
    "JobId": "479f6bea-360f-40ba-be0a-bd06c032c4fb"
}
Sample response
Response Status:
HTTP/1.1 202 ACCEPTED

Response headers:
Location: /api/v1/4906fcd496d94f738304dfcde754000a/job/479f6bea-360f-40ba-be0a-bd06c032c4fb
Content-Type: application/json

Response Body:
{
    "JobId": "479f6bea-360f-40ba-be0a-bd06c032c4fb"
}

Get job status

The Get Job Status operation retrieves the status of the specified job.

Request

The Get Job Status request may be constructed as follows. Replace subscription-id with your subscription's ID and job-id with a valid job identifier.
Method Request URL
GET https://engage.minitab.com/api/v1/subscription-id/job/job-id
Request headers
Header Description
Authorization Required. Provide an API token via the Bearer authorization scheme.
Sample request
Request:
GET https://engage.minitab.com/api/v1/4906fcd496d94f738304dfcde754000a/job/479f6bea-360f-40ba-be0a-bd06c032c4fb HTTP/1.1

Headers:
Authorization: Bearer token

Response

The response includes an HTTP status code and a body.

Status code
A successful request returns status code 200 (OK).
Response body
The response for the Get Job Status operation contains a Status integer property representing the various possible states of a job as shown in the following example.
{
    "Status": 1
}
Job Status Description
0 Job not started yet
1 Job has started; in progress
2 Job is complete
3 Job has failed
4 Job could not be found
5 Job was canceled
Sample response
Response Status:
HTTP/1.1 200 OK

Response headers:
Content-Type: application/json

Response Body:
{
    "Status": 2
}