Skip to main content

Sisu Api Documentation (V1)

Sisu’s key-driver analysis API’s can be used to programmatically sync insights outside of Sisu.

AnalysesService

List all analyses.

Authorizations:
ApiKeyAuth
query Parameters
analysisType
string
Enum: "ANALYSIS_TYPE_GENERAL_PERFORMANCE" "ANALYSIS_TYPE_TREND" "ANALYSIS_TYPE_TIME_COMPARE" "ANALYSIS_TYPE_GROUP_COMPARE"

What type of analyses to include in the results. If not set all types will be returned.

limit
string <uint64>

A limit on the number of objects to be returned, between 1 and 10000. Default value is 10000.

startingAfter
string <int64>

starting_after is an object ID that defines your place in the list. For instance, if you make a analysis list request and receive 100, ending with id = 89, your subsequent call can include starting_after=89 in order to fetch the next page of the list.

Responses

Response Schema: application/json
Array of objects (v1apiAnalysis)

List of analyses.

object (Pagination hints which indicate if more data is available next_starting_cursor indicate the next id to be used for starting_after pagination parameter)
Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Response samples

Content type
application/json
{
  • "analyses": [
    • {
      • "id": "string",
      • "name": "string",
      • "type": "ANALYSIS_TYPE_GENERAL_PERFORMANCE",
      • "createdAt": "2019-08-24T14:15:22Z",
      • "metricId": "string",
      • "projectId": "string",
      • "applicationUrl": "string"
      }
    ],
  • "paginationHints": {
    • "hasMore": true,
    • "nextStartingCursor": "string"
    }
}

Update existing Analysis with a new version.

Authorizations:
ApiKeyAuth
path Parameters
analysisId_1
required
string <uint64>
query Parameters
name
string

The name of the analysis.

Request Body schema: application/json
name
string

The name of the analysis.

type
string (apiAnalysisType)
Enum: "ANALYSIS_TYPE_GENERAL_PERFORMANCE" "ANALYSIS_TYPE_TREND" "ANALYSIS_TYPE_TIME_COMPARE" "ANALYSIS_TYPE_GROUP_COMPARE"

Type of Analysis eg. KEY_DRIVER.

timeDimensionName
string

The name of metric's time dimension which represents the date range of the metric.

object (apiExpression)

An Expression which would facilitate building a filter expression.

object (apiTimeWindow)
groupAName
string

The Group a name in a Group compare analysis.

groupBName
string

The Group b name in a Group compare analysis.

object (apiExpression)

An Expression which would facilitate building a filter expression.

object (apiExpression)

An Expression which would facilitate building a filter expression.

object (apiTimeWindow)
object (apiTimeWindow)

Responses

Response Schema: application/json
name
string

The name of the analysis.

id
string <uint64>

Analysis id.

timeDimensionName
string

The name of metric's time dimension which represents the date range of the metric.

object (apiExpression)

An Expression which would facilitate building a filter expression.

metricId
string <uint64>

The metric id which the analysis depends on.

object (apiTimeWindow)
groupAName
string

The Group a name in a Group compare analysis.

groupBName
string

The Group b name in a Group compare analysis.

object (apiExpression)

An Expression which would facilitate building a filter expression.

object (apiExpression)

An Expression which would facilitate building a filter expression.

projectId
string <uint64>

Project id corresponding to the analysis.

type
string (apiAnalysisType)
Enum: "ANALYSIS_TYPE_GENERAL_PERFORMANCE" "ANALYSIS_TYPE_TREND" "ANALYSIS_TYPE_TIME_COMPARE" "ANALYSIS_TYPE_GROUP_COMPARE"

Type of Analysis eg. KEY_DRIVER.

createdAt
string <date-time>

Timestamp when the analysis was created.

applicationUrl
string (Link to the live sisu analysis this represents. ex: vip.sisudata.com/projects/{id}/analysis/{id})
object (apiTimeWindow)
object (apiTimeWindow)
Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Request samples

Content type
application/json
{
  • "name": "string",
  • "type": "ANALYSIS_TYPE_GENERAL_PERFORMANCE",
  • "timeDimensionName": "string",
  • "filterExpression": {
    • "and": {
      • "expressions": [
        • { }
        ]
      },
    • "or": {
      • "expressions": [
        • { }
        ]
      },
    • "basicCondition": {
      • "operator": "OPERATOR_LT",
      • "dimensionName": "string",
      • "nullLiteral": { },
      • "literal": {
        • "bool": true,
        • "int": "string",
        • "string": "string",
        • "float": 0,
        • "timestamp": "2019-08-24T14:15:22Z"
        }
      }
    },
  • "timeRange": {
    • "startDate": "2019-08-24T14:15:22Z",
    • "endDate": "2019-08-24T14:15:22Z"
    },
  • "groupAName": "string",
  • "groupBName": "string",
  • "groupAExpression": {
    • "and": {
      • "expressions": [
        • { }
        ]
      },
    • "or": {
      • "expressions": [
        • { }
        ]
      },
    • "basicCondition": {
      • "operator": "OPERATOR_LT",
      • "dimensionName": "string",
      • "nullLiteral": { },
      • "literal": {
        • "bool": true,
        • "int": "string",
        • "string": "string",
        • "float": 0,
        • "timestamp": "2019-08-24T14:15:22Z"
        }
      }
    },
  • "groupBExpression": {
    • "and": {
      • "expressions": [
        • { }
        ]
      },
    • "or": {
      • "expressions": [
        • { }
        ]
      },
    • "basicCondition": {
      • "operator": "OPERATOR_LT",
      • "dimensionName": "string",
      • "nullLiteral": { },
      • "literal": {
        • "bool": true,
        • "int": "string",
        • "string": "string",
        • "float": 0,
        • "timestamp": "2019-08-24T14:15:22Z"
        }
      }
    },
  • "recentRange": {
    • "startDate": "2019-08-24T14:15:22Z",
    • "endDate": "2019-08-24T14:15:22Z"
    },
  • "previousRange": {
    • "startDate": "2019-08-24T14:15:22Z",
    • "endDate": "2019-08-24T14:15:22Z"
    }
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "id": "string",
  • "timeDimensionName": "string",
  • "filterExpression": {
    • "and": {
      • "expressions": [
        • { }
        ]
      },
    • "or": {
      • "expressions": [
        • { }
        ]
      },
    • "basicCondition": {
      • "operator": "OPERATOR_LT",
      • "dimensionName": "string",
      • "nullLiteral": { },
      • "literal": {
        • "bool": true,
        • "int": "string",
        • "string": "string",
        • "float": 0,
        • "timestamp": "2019-08-24T14:15:22Z"
        }
      }
    },
  • "metricId": "string",
  • "timeRange": {
    • "startDate": "2019-08-24T14:15:22Z",
    • "endDate": "2019-08-24T14:15:22Z"
    },
  • "groupAName": "string",
  • "groupBName": "string",
  • "groupAExpression": {
    • "and": {
      • "expressions": [
        • { }
        ]
      },
    • "or": {
      • "expressions": [
        • { }
        ]
      },
    • "basicCondition": {
      • "operator": "OPERATOR_LT",
      • "dimensionName": "string",
      • "nullLiteral": { },
      • "literal": {
        • "bool": true,
        • "int": "string",
        • "string": "string",
        • "float": 0,
        • "timestamp": "2019-08-24T14:15:22Z"
        }
      }
    },
  • "groupBExpression": {
    • "and": {
      • "expressions": [
        • { }
        ]
      },
    • "or": {
      • "expressions": [
        • { }
        ]
      },
    • "basicCondition": {
      • "operator": "OPERATOR_LT",
      • "dimensionName": "string",
      • "nullLiteral": { },
      • "literal": {
        • "bool": true,
        • "int": "string",
        • "string": "string",
        • "float": 0,
        • "timestamp": "2019-08-24T14:15:22Z"
        }
      }
    },
  • "projectId": "string",
  • "type": "ANALYSIS_TYPE_GENERAL_PERFORMANCE",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "applicationUrl": "string",
  • "recentRange": {
    • "startDate": "2019-08-24T14:15:22Z",
    • "endDate": "2019-08-24T14:15:22Z"
    },
  • "previousRange": {
    • "startDate": "2019-08-24T14:15:22Z",
    • "endDate": "2019-08-24T14:15:22Z"
    }
}

Modify existing Analysis.

Authorizations:
ApiKeyAuth
path Parameters
analysisId
required
string <uint64>
Request Body schema: application/json
name
string

The name of the analysis.

timeDimensionName
string

The name of metric's time dimension which represents the date range of the metric.

object (apiExpression)

An Expression which would facilitate building a filter expression.

object (apiTimeWindow)
groupAName
string

The Group a name in a Group compare analysis.

groupBName
string

The Group b name in a Group compare analysis.

object (apiExpression)

An Expression which would facilitate building a filter expression.

object (apiExpression)

An Expression which would facilitate building a filter expression.

object (apiTimeWindow)
object (apiTimeWindow)

Responses

Response Schema: application/json
object (apiModifyAnalysisResponse)
Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Request samples

Content type
application/json
{
  • "name": "string",
  • "timeDimensionName": "string",
  • "filterExpression": {
    • "and": {
      • "expressions": [
        • { }
        ]
      },
    • "or": {
      • "expressions": [
        • { }
        ]
      },
    • "basicCondition": {
      • "operator": "OPERATOR_LT",
      • "dimensionName": "string",
      • "nullLiteral": { },
      • "literal": {
        • "bool": true,
        • "int": "string",
        • "string": "string",
        • "float": 0,
        • "timestamp": "2019-08-24T14:15:22Z"
        }
      }
    },
  • "timeRange": {
    • "startDate": "2019-08-24T14:15:22Z",
    • "endDate": "2019-08-24T14:15:22Z"
    },
  • "groupAName": "string",
  • "groupBName": "string",
  • "groupAExpression": {
    • "and": {
      • "expressions": [
        • { }
        ]
      },
    • "or": {
      • "expressions": [
        • { }
        ]
      },
    • "basicCondition": {
      • "operator": "OPERATOR_LT",
      • "dimensionName": "string",
      • "nullLiteral": { },
      • "literal": {
        • "bool": true,
        • "int": "string",
        • "string": "string",
        • "float": 0,
        • "timestamp": "2019-08-24T14:15:22Z"
        }
      }
    },
  • "groupBExpression": {
    • "and": {
      • "expressions": [
        • { }
        ]
      },
    • "or": {
      • "expressions": [
        • { }
        ]
      },
    • "basicCondition": {
      • "operator": "OPERATOR_LT",
      • "dimensionName": "string",
      • "nullLiteral": { },
      • "literal": {
        • "bool": true,
        • "int": "string",
        • "string": "string",
        • "float": 0,
        • "timestamp": "2019-08-24T14:15:22Z"
        }
      }
    },
  • "recentRange": {
    • "startDate": "2019-08-24T14:15:22Z",
    • "endDate": "2019-08-24T14:15:22Z"
    },
  • "previousRange": {
    • "startDate": "2019-08-24T14:15:22Z",
    • "endDate": "2019-08-24T14:15:22Z"
    }
}

Response samples

Content type
application/json
{ }

List all Dimensions for a given AnalysisDimensionsListRequest.

Authorizations:
ApiKeyAuth
path Parameters
analysisId
required
string <int64>

Unique ID corresponding to the analysis containing the dimensions.

query Parameters
isSelected
string

Will return only active or non active dimensions for a given analysis.

Responses

Response Schema: application/json
Array of objects (apiAnalysisDimension)
Array
name
string

A string literal corresponding to a column selected in the dataset. It is either a column name or a column alias for a computed SQL function over a column ( for example, upper(email) as 'UPPER_EMAIL' ex: red in SELECT roja as red.

dimensionType
string (apiSqlDataType)
Enum: "SQL_DATA_TYPE_STRING" "SQL_DATA_TYPE_FLOAT" "SQL_DATA_TYPE_TIMESTAMP" "SQL_DATA_TYPE_INT" "SQL_DATA_TYPE_BOOLEAN"

Represents a datatype of a specific dimension.

isSelected
boolean

Set to true if the dimension is part of the analysis.

Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Response samples

Content type
application/json
{
  • "dimensions": [
    • {
      • "name": "string",
      • "dimensionType": "SQL_DATA_TYPE_STRING",
      • "isSelected": true
      }
    ]
}

Get analyses by ID.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string <uint64>

Analysis id to be fetch.

Responses

Response Schema: application/json
name
string

The name of the analysis.

id
integer <int32>

Analysis id.

timeDimensionName
string

The name of metric's time dimension which represents the date range of the metric.

object (apiExpression)

An Expression which would facilitate building a filter expression.

metricId
integer <int32>

The metric id which the analysis depends on.

object (apiTimeWindow)
groupAName
string

The Group a name in a Group compare analysis.

groupBName
string

The Group b name in a Group compare analysis.

object (apiExpression)

An Expression which would facilitate building a filter expression.

object (apiExpression)

An Expression which would facilitate building a filter expression.

projectId
integer <int32>

Project id corresponding to the analysis.

type
string (apiAnalysisType)
Enum: "ANALYSIS_TYPE_GENERAL_PERFORMANCE" "ANALYSIS_TYPE_TREND" "ANALYSIS_TYPE_TIME_COMPARE" "ANALYSIS_TYPE_GROUP_COMPARE"

Type of Analysis eg. KEY_DRIVER.

createdAt
string <date-time>

Timestamp when the analysis was created.

applicationUrl
string (Link to the live sisu analysis this represents. ex: vip.sisudata.com/projects/{id}/analysis/{id})
object (apiTimeWindow)
object (apiTimeWindow)
createdByEmail
string

Email ID of a user who created the analysis.

lastModifiedAt
string <date-time>

Timestamp of when analysis was last modified.

lastModifiedByEmail
string

Email ID of a user last modified this metric.

lastRun
string <date-time>

Timestamp of when analysis was last modified.

appliedDimensions
Array of strings

List of applied dimensions name.

aggregationPeriod
string (apiAggregationPeriod)
Enum: "AGGREGATION_PERIOD_HOURLY" "AGGREGATION_PERIOD_DAILY" "AGGREGATION_PERIOD_WEEKLY" "AGGREGATION_PERIOD_MONTHLY" "AGGREGATION_PERIOD_ANNUALLY"
Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Response samples

Content type
application/json
{
  • "name": "string",
  • "id": 0,
  • "timeDimensionName": "string",
  • "filterExpression": {
    • "and": {
      • "expressions": [
        • { }
        ]
      },
    • "or": {
      • "expressions": [
        • { }
        ]
      },
    • "basicCondition": {
      • "operator": "OPERATOR_LT",
      • "dimensionName": "string",
      • "nullLiteral": { },
      • "literal": {
        • "bool": true,
        • "int": "string",
        • "string": "string",
        • "float": 0,
        • "timestamp": "2019-08-24T14:15:22Z"
        }
      }
    },
  • "metricId": 0,
  • "timeRange": {
    • "startDate": "2019-08-24T14:15:22Z",
    • "endDate": "2019-08-24T14:15:22Z"
    },
  • "groupAName": "string",
  • "groupBName": "string",
  • "groupAExpression": {
    • "and": {
      • "expressions": [
        • { }
        ]
      },
    • "or": {
      • "expressions": [
        • { }
        ]
      },
    • "basicCondition": {
      • "operator": "OPERATOR_LT",
      • "dimensionName": "string",
      • "nullLiteral": { },
      • "literal": {
        • "bool": true,
        • "int": "string",
        • "string": "string",
        • "float": 0,
        • "timestamp": "2019-08-24T14:15:22Z"
        }
      }
    },
  • "groupBExpression": {
    • "and": {
      • "expressions": [
        • { }
        ]
      },
    • "or": {
      • "expressions": [
        • { }
        ]
      },
    • "basicCondition": {
      • "operator": "OPERATOR_LT",
      • "dimensionName": "string",
      • "nullLiteral": { },
      • "literal": {
        • "bool": true,
        • "int": "string",
        • "string": "string",
        • "float": 0,
        • "timestamp": "2019-08-24T14:15:22Z"
        }
      }
    },
  • "projectId": 0,
  • "type": "ANALYSIS_TYPE_GENERAL_PERFORMANCE",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "applicationUrl": "string",
  • "recentRange": {
    • "startDate": "2019-08-24T14:15:22Z",
    • "endDate": "2019-08-24T14:15:22Z"
    },
  • "previousRange": {
    • "startDate": "2019-08-24T14:15:22Z",
    • "endDate": "2019-08-24T14:15:22Z"
    },
  • "createdByEmail": "string",
  • "lastModifiedAt": "2019-08-24T14:15:22Z",
  • "lastModifiedByEmail": "string",
  • "lastRun": "2019-08-24T14:15:22Z",
  • "appliedDimensions": [
    • "string"
    ],
  • "aggregationPeriod": "AGGREGATION_PERIOD_HOURLY"
}

Delete analysis.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string <uint64>

Analysis id to be deleted.

Responses

Response Schema: application/json
object (apiDeleteAnalysisResponse)
Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Response samples

Content type
application/json
{ }

Creates new duplicate analysis with a given name or with '(copy)' subfix. Returns new analysis id.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string <uint64>

Analysis id to be duplicated

Request Body schema: application/json

optional name for the new analysis

string

Responses

Response Schema: application/json
id
string <uint64>

Newly created Analysis id.

Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Request samples

Content type
application/json
"string"

Response samples

Content type
application/json
{
  • "id": "string"
}

Get analysis filters.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string <int64>

Analysis id.

Responses

Response Schema: application/json
object (apiExpression)

An Expression which would facilitate building a filter expression.

object (ExpressionAndExpression)

A conjunction of boolean expressions e.g. <expr1> AND <expr2>.

object (ExpressionOrExpression)

A conjunction of boolean expressions e.g. <expr1> OR <expr2>. An OR expression must no have AND expression.

object (An basic boolean expression e.g. `"sale_price" > 100`. { "dimensionName" : "sale_price", "operator" : "OPERATOR_LT", "literal" : { "int" : 100 } })
Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Response samples

Content type
application/json
{
  • "filterExpression": {
    • "and": {
      • "expressions": [
        • { }
        ]
      },
    • "or": {
      • "expressions": [
        • { }
        ]
      },
    • "basicCondition": {
      • "operator": "OPERATOR_LT",
      • "dimensionName": "string",
      • "nullLiteral": { },
      • "literal": {
        • "bool": true,
        • "int": "string",
        • "string": "string",
        • "float": 0,
        • "timestamp": "2019-08-24T14:15:22Z"
        }
      }
    }
}

Set analysis filters.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string <int64>

Analysis id.

Request Body schema: application/json

A filter expression must be one of 'and'/'or' [expression] with min of 2 expressions. or a single basicCondition.

object (ExpressionAndExpression)

A conjunction of boolean expressions e.g. <expr1> AND <expr2>.

object (ExpressionOrExpression)

A conjunction of boolean expressions e.g. <expr1> OR <expr2>. An OR expression must no have AND expression.

object (An basic boolean expression e.g. `"sale_price" > 100`. { "dimensionName" : "sale_price", "operator" : "OPERATOR_LT", "literal" : { "int" : 100 } })

Responses

Response Schema: application/json
object (apiSetAnalysisFiltersResponse)

Response with empty message.

Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Request samples

Content type
application/json
{
  • "and": {
    • "expressions": [
      • { }
      ]
    },
  • "or": {
    • "expressions": [
      • { }
      ]
    },
  • "basicCondition": {
    • "operator": "OPERATOR_LT",
    • "dimensionName": "string",
    • "nullLiteral": { },
    • "literal": {
      • "bool": true,
      • "int": "string",
      • "string": "string",
      • "float": 0,
      • "timestamp": "2019-08-24T14:15:22Z"
      }
    }
}

Response samples

Content type
application/json
{ }

Run Analysis execution.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string <int64>

Analysis id.

Responses

Response Schema: application/json
object (Response message execute analysis workflow returns empty message)
Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Response samples

Content type
application/json
{ }

Returns the results corresponding to the latest analysis run.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string <int64>

Analysis Id.

query Parameters
limit
string <uint64>

A limit on the number of objects to be returned, between 1 and 10000. Default value is 10000.

startingAfter
string <int64>

starting_after is an object ID that defines your place in the list. For instance, if you make a analysis list request and receive 100, ending with id = 89, your subsequent call can include starting_after=89 in order to fetch the next page of the list.

confidenceGte
string

filter by confidence levels of greater than equal to HIGH, MEDIUM or LOW

Responses

Response Schema: application/json
object (apiAnalysisResult)

Provides details of an analysis run.

object (Pagination hints which indicate if more data is available next_starting_cursor indicate the next id to be used for starting_after pagination parameter)
Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Response samples

Content type
application/json
{
  • "analysisResult": {
    • "id": "string",
    • "runStatus": "RUN_STATUS_IN_FLIGHT",
    • "requestedAt": "2019-08-24T14:15:22Z",
    • "completedAt": "2019-08-24T14:15:22Z",
    • "runType": "RUN_TYPE_SCHEDULED",
    • "keyDriverAnalysisResult": {
      • "summaryCard": {
        • "metricTypeLabel": "string",
        • "generalPerformanceCard": {
          • "cardLabel": "string",
          • "categoryFilter": "string",
          • "summaryValue": 0,
          • "matchSize": 0,
          • "totalSize": 0,
          • "min": 0,
          • "max": 0,
          • "median": 0,
          • "average": 0,
          • "weightedAverage": 0,
          • "sum": 0,
          • "weightedSum": 0,
          • "weight": 0,
          • "totalNumerator": 0,
          • "totalDenominator": 0
          },
        • "groupComparisonCard": {
          • "groupACard": {
            • "cardLabel": "string",
            • "categoryFilter": "string",
            • "summaryValue": 0,
            • "matchSize": 0,
            • "totalSize": 0,
            • "min": 0,
            • "max": 0,
            • "median": 0,
            • "average": 0,
            • "weightedAverage": 0,
            • "sum": 0,
            • "weightedSum": 0,
            • "weight": 0,
            • "totalNumerator": 0,
            • "totalDenominator": 0
            },
          • "groupBCard": {
            • "cardLabel": "string",
            • "categoryFilter": "string",
            • "summaryValue": 0,
            • "matchSize": 0,
            • "totalSize": 0,
            • "min": 0,
            • "max": 0,
            • "median": 0,
            • "average": 0,
            • "weightedAverage": 0,
            • "sum": 0,
            • "weightedSum": 0,
            • "weight": 0,
            • "totalNumerator": 0,
            • "totalDenominator": 0
            },
          • "groupAFilter": "string",
          • "groupBFilter": "string",
          • "percentChange": 0
          },
        • "timeComparisonCard": {
          • "currentPeriodCard": {
            • "cardLabel": "string",
            • "categoryFilter": "string",
            • "summaryValue": 0,
            • "matchSize": 0,
            • "totalSize": 0,
            • "min": 0,
            • "max": 0,
            • "median": 0,
            • "average": 0,
            • "weightedAverage": 0,
            • "sum": 0,
            • "weightedSum": 0,
            • "weight": 0,
            • "totalNumerator": 0,
            • "totalDenominator": 0
            },
          • "previousPeriodCard": {
            • "cardLabel": "string",
            • "categoryFilter": "string",
            • "summaryValue": 0,
            • "matchSize": 0,
            • "totalSize": 0,
            • "min": 0,
            • "max": 0,
            • "median": 0,
            • "average": 0,
            • "weightedAverage": 0,
            • "sum": 0,
            • "weightedSum": 0,
            • "weight": 0,
            • "totalNumerator": 0,
            • "totalDenominator": 0
            },
          • "currentPeriod": {
            • "startDateInclusive": "2019-08-24T14:15:22Z",
            • "endDateInclusive": "2019-08-24T14:15:22Z"
            },
          • "previousPeriod": {
            • "startDateInclusive": "2019-08-24T14:15:22Z",
            • "endDateInclusive": "2019-08-24T14:15:22Z"
            },
          • "percentChange": 0
          }
        },
      • "timeComparison": {
        • "previousPeriod": {
          • "startDateInclusive": "2019-08-24T14:15:22Z",
          • "endDateInclusive": "2019-08-24T14:15:22Z"
          },
        • "recentPeriod": {
          • "startDateInclusive": "2019-08-24T14:15:22Z",
          • "endDateInclusive": "2019-08-24T14:15:22Z"
          }
        },
      • "groupComparison": {
        • "groupA": {
          • "name": "string"
          },
        • "groupB": {
          • "name": "string"
          }
        },
      • "generalPerformance": { },
      • "segments": [
        • {
          • "id": "string",
          • "factors": {
            • "property1": {
              • "value": {
                • "booleanValue": true,
                • "integerValue": "string",
                • "stringValue": "string",
                • "floatValue": 0,
                • "timestampValue": "2019-08-24T14:15:22Z"
                },
              • "keyword": {
                • "keyword": "string"
                },
              • "bin": {
                • "lowerBound": 0,
                • "upperBound": 0,
                • "lowerBoundPercentile": 0,
                • "upperBoundPercentile": 0
                }
              },
            • "property2": {
              • "value": {
                • "booleanValue": true,
                • "integerValue": "string",
                • "stringValue": "string",
                • "floatValue": 0,
                • "timestampValue": "2019-08-24T14:15:22Z"
                },
              • "keyword": {
                • "keyword": "string"
                },
              • "bin": {
                • "lowerBound": 0,
                • "upperBound": 0,
                • "lowerBoundPercentile": 0,
                • "upperBoundPercentile": 0
                }
              }
            },
          • "groupComparison": {
            • "groupASize": 0,
            • "groupBSize": 0,
            • "groupAValue": 0,
            • "groupBValue": 0
            },
          • "timeComparison": {
            • "previousPeriodSize": 0,
            • "recentPeriodSize": 0,
            • "previousPeriodValue": 0,
            • "recentPeriodValue": 0
            },
          • "generalPerformance": {
            • "size": 0,
            • "value": 0
            },
          • "impact": 0,
          • "confidence": "CONFIDENCE_LEVEL_HIGH",
          • "customCalculations": {
            • "property1": 0,
            • "property2": 0
            }
          }
        ]
      },
    • "trendAnalysisResult": {
      • "summaryCard": {
        • "currentPeriod": {
          • "cardLabel": "string",
          • "slope": 0,
          • "percentChange": 0,
          • "denominatorLabel": "string"
          },
        • "previousPeriod": {
          • "cardLabel": "string",
          • "slope": 0,
          • "percentChange": 0,
          • "denominatorLabel": "string"
          }
        },
      • "overallTrends": [
        • {
          • "timeRange": {
            • "startDateInclusive": "2019-08-24T14:15:22Z",
            • "endDateInclusive": "2019-08-24T14:15:22Z"
            },
          • "intercept": 0,
          • "trend": 0,
          • "size": 0
          }
        ],
      • "segments": [
        • {
          • "id": "string",
          • "factors": {
            • "property1": {
              • "value": {
                • "booleanValue": true,
                • "integerValue": "string",
                • "stringValue": "string",
                • "floatValue": 0,
                • "timestampValue": "2019-08-24T14:15:22Z"
                },
              • "keyword": {
                • "keyword": "string"
                },
              • "bin": {
                • "lowerBound": 0,
                • "upperBound": 0,
                • "lowerBoundPercentile": 0,
                • "upperBoundPercentile": 0
                }
              },
            • "property2": {
              • "value": {
                • "booleanValue": true,
                • "integerValue": "string",
                • "stringValue": "string",
                • "floatValue": 0,
                • "timestampValue": "2019-08-24T14:15:22Z"
                },
              • "keyword": {
                • "keyword": "string"
                },
              • "bin": {
                • "lowerBound": 0,
                • "upperBound": 0,
                • "lowerBoundPercentile": 0,
                • "upperBoundPercentile": 0
                }
              }
            },
          • "trends": [
            • {
              • "timeRange": {
                • "startDateInclusive": "2019-08-24T14:15:22Z",
                • "endDateInclusive": "2019-08-24T14:15:22Z"
                },
              • "intercept": 0,
              • "trend": 0,
              • "size": 0
              }
            ],
          • "impact": 0
          }
        ]
      },
    • "metricId": "string",
    • "applicationUrl": "string",
    • "resultVersion": "string",
    • "statusMessage": "string"
    },
  • "paginationHints": {
    • "hasMore": true,
    • "nextStartingCursor": "string"
    }
}

Get Waterfall Sequence for Analysis.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string <uint64>

Analysis id

Responses

Response Schema: application/json
Array of objects (apiWaterfallStep)
Array
cumulativeImpactBeforeStep
number <double>

The cumulative value of impact prior to the waterfall step.

cumulativeImpactAfterStep
number <double>

The cumulative value of impact after to the waterfall step.

overlappingImpact
number <double>

The value of overlapping impact.

object (WaterfallStepChangeInSize)

The subgroup change in value.

object (WaterfallStepChangeInType)

The subgroup change in value.

object

Map of Factors for the waterfall step.

Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Response samples

Content type
application/json
{
  • "waterfall": [
    • {
      • "cumulativeImpactBeforeStep": 0,
      • "cumulativeImpactAfterStep": 0,
      • "overlappingImpact": 0,
      • "changeInSize": {
        • "subgroupA": 0,
        • "subgroupB": 0
        },
      • "changeInType": {
        • "subgroupA": 0,
        • "subgroupB": 0
        },
      • "factors": {
        • "property1": {
          • "value": {
            • "booleanValue": true,
            • "integerValue": "string",
            • "stringValue": "string",
            • "floatValue": 0,
            • "timestampValue": "2019-08-24T14:15:22Z"
            },
          • "keyword": {
            • "keyword": "string"
            },
          • "bin": {
            • "lowerBound": 0,
            • "upperBound": 0,
            • "lowerBoundPercentile": 0,
            • "upperBoundPercentile": 0
            }
          },
        • "property2": {
          • "value": {
            • "booleanValue": true,
            • "integerValue": "string",
            • "stringValue": "string",
            • "floatValue": 0,
            • "timestampValue": "2019-08-24T14:15:22Z"
            },
          • "keyword": {
            • "keyword": "string"
            },
          • "bin": {
            • "lowerBound": 0,
            • "upperBound": 0,
            • "lowerBoundPercentile": 0,
            • "upperBoundPercentile": 0
            }
          }
        }
      }
    ]
}

Orchestrator API to seamlessly create and run new analysis.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
object (apiOrchestratorDataset)
object (apiOrchestratorMetric)
object (apiOrchestratorDimension)
object (apiOrchestratorAnalysis)

Responses

Response Schema: application/json
name
string

The name of the analysis.

id
string <uint64>

Analysis id.

timeDimension
string

The name of metric's time dimension which represents the date range of the metric.

metricId
string <uint64>

The metric id which the analysis depends on.

projectId
string <uint64>

Project id corresponding to the analysis.

type
string (apiAnalysisType)
Enum: "ANALYSIS_TYPE_GENERAL_PERFORMANCE" "ANALYSIS_TYPE_TREND" "ANALYSIS_TYPE_TIME_COMPARE" "ANALYSIS_TYPE_GROUP_COMPARE"

Type of Analysis eg. KEY_DRIVER.

createdAt
string <date-time>

Timestamp when the analysis was created.

applicationUrl
string

Link to the live sisu analysis this represents. ex: vip.sisudata.com/projects/{id}/analysis/{id}.

object (apiTimeWindow)
object (apiTimeWindow)
object (apiTimeWindow)
datasetId
string <uint64>

ID of dataset.

resultId
string <uint64>

The analysis result id.

Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Request samples

Content type
application/json
{
  • "dataset": {
    • "dataSourceId": "string",
    • "name": "string",
    • "sql": "string",
    • "id": "string"
    },
  • "metric": {
    • "name": "string",
    • "desiredDirection": "INCREASE",
    • "aggregate": "AVERAGE",
    • "metricDimension": "string",
    • "weightDimension": "string",
    • "id": "string"
    },
  • "dimension": {
    • "useAllDimensions": true,
    • "dimensionList": [
      • {
        • "name": "string"
        }
      ]
    },
  • "analysis": {
    • "projectId": "string",
    • "name": "string",
    • "timeDimension": "string",
    • "timeCompare": {
      • "recentRange": {
        • "startDate": "2019-08-24T14:15:22Z",
        • "endDate": "2019-08-24T14:15:22Z"
        },
      • "previousRange": {
        • "startDate": "2019-08-24T14:15:22Z",
        • "endDate": "2019-08-24T14:15:22Z"
        }
      },
    • "timeRange": {
      • "startDate": "2019-08-24T14:15:22Z",
      • "endDate": "2019-08-24T14:15:22Z"
      }
    }
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "id": "string",
  • "timeDimension": "string",
  • "metricId": "string",
  • "projectId": "string",
  • "type": "ANALYSIS_TYPE_GENERAL_PERFORMANCE",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "applicationUrl": "string",
  • "recentRange": {
    • "startDate": "2019-08-24T14:15:22Z",
    • "endDate": "2019-08-24T14:15:22Z"
    },
  • "previousRange": {
    • "startDate": "2019-08-24T14:15:22Z",
    • "endDate": "2019-08-24T14:15:22Z"
    },
  • "timeRange": {
    • "startDate": "2019-08-24T14:15:22Z",
    • "endDate": "2019-08-24T14:15:22Z"
    },
  • "datasetId": "string",
  • "resultId": "string"
}

MetricService

List all Metrics.

Authorizations:
ApiKeyAuth

Responses

Response Schema: application/json
Array of objects (apiMetric)
Array
id
string <uint64>

Metric id.

name
string

Metric name.

weightDimensionName
string

The name of the weight dimension. A weight dimension is used to increases the importance of a given row in an analysis.

timeDimensionName
string

The name of metric's time dimension which represents the date range of the metric.

desiredDirection
string (MetricDesiredDirection)
Enum: "DESIRED_DIRECTION_INCREASE" "DESIRED_DIRECTION_DECREASE"

Type of metric direction.

object (apiMetricMetricDimension)

A dimension in a metric.

object (apiUnitsConfig)
type
string (MetricMetricType)
Enum: "METRIC_TYPE_AVERAGE" "METRIC_TYPE_SUM" "METRIC_TYPE_WEIGHTED_SUM" "METRIC_TYPE_WEIGHTED_AVERAGE" "METRIC_TYPE_CATEGORICAL_COUNT" "METRIC_TYPE_CATEGORICAL_RATE" "METRIC_TYPE_COUNT_DISTINCT" "METRIC_TYPE_NUMERICAL_COUNT" "METRIC_TYPE_NUMERICAL_RATE"

Type of metric calculation that is used to evaluate the metric's dimension.

  • METRIC_TYPE_AVERAGE: Average of a single metric dimension(e.g., average order value).
  • METRIC_TYPE_SUM: Sum of a single metric dimension(e.g., total revenue).
  • METRIC_TYPE_WEIGHTED_SUM: Sum of a metric dimension weighted by a weight dimension(e.g., price per share).
  • METRIC_TYPE_WEIGHTED_AVERAGE: Average of a metric dimension weighted by a weight dimension(e.g., price per share).
  • METRIC_TYPE_CATEGORICAL_COUNT: Count of a matching condition in a metric dimension(e.g., number of churns).
  • METRIC_TYPE_CATEGORICAL_RATE: Rate of a matching condition in a metric dimension(e.g., churn rate).
  • METRIC_TYPE_COUNT_DISTINCT: Count of a matching condition in a metric dimension(e.g., number of churns).
  • METRIC_TYPE_NUMERICAL_COUNT: Count of the rows of a single metric dimension(e.g., number of orders).
  • METRIC_TYPE_NUMERICAL_RATE: A metric dimension divided by a denominator dimension(e.g., lead conversion rate).
createdAt
string <date-time>

Timestamp when the metric was created.

datasetId
string <uint64>

Id of the metric data set.

excelFormat
string

Excel format of the looker created metric.

Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Response samples

Content type
application/json
{
  • "metrics": [
    • {
      • "id": "string",
      • "name": "string",
      • "weightDimensionName": "string",
      • "timeDimensionName": "string",
      • "desiredDirection": "DESIRED_DIRECTION_INCREASE",
      • "metricDimension": {
        • "name": "string",
        • "value": {
          • "booleanValue": true,
          • "integerValue": "string",
          • "stringValue": "string",
          • "floatValue": 0,
          • "timestampValue": "2019-08-24T14:15:22Z"
          }
        },
      • "kpiUnitsConfig": {
        • "type": "UNIT_TYPE_CUSTOM",
        • "label": "string",
        • "scale": 0,
        • "precision": 0,
        • "currency": "string",
        • "kmb": true
        },
      • "type": "METRIC_TYPE_AVERAGE",
      • "createdAt": "2019-08-24T14:15:22Z",
      • "datasetId": "string",
      • "excelFormat": "string"
      }
    ]
}

Get a metric for a given id.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string <int64>

Responses

Response Schema: application/json
id
string <uint64>

Metric id.

name
string

Metric name.

object (apiGetMetricResponseTimeDimension)

Time dimension in a metric.

object (apiGetMetricResponseWeightDimension)

Weight dimension in a metric.

desiredDirection
string (MetricDesiredDirection)
Enum: "DESIRED_DIRECTION_INCREASE" "DESIRED_DIRECTION_DECREASE"

Type of metric direction.

object (apiExpression)

An Expression which would facilitate building a filter expression.

object (apiGetMetricResponseMetricDimension)

A dimension in a metric.

object (apiUnitsConfig)
type
string (MetricMetricType)
Enum: "METRIC_TYPE_AVERAGE" "METRIC_TYPE_SUM" "METRIC_TYPE_WEIGHTED_SUM" "METRIC_TYPE_WEIGHTED_AVERAGE" "METRIC_TYPE_CATEGORICAL_COUNT" "METRIC_TYPE_CATEGORICAL_RATE" "METRIC_TYPE_COUNT_DISTINCT" "METRIC_TYPE_NUMERICAL_COUNT" "METRIC_TYPE_NUMERICAL_RATE"

Type of metric calculation that is used to evaluate the metric's dimension.

  • METRIC_TYPE_AVERAGE: Average of a single metric dimension(e.g., average order value).
  • METRIC_TYPE_SUM: Sum of a single metric dimension(e.g., total revenue).
  • METRIC_TYPE_WEIGHTED_SUM: Sum of a metric dimension weighted by a weight dimension(e.g., price per share).
  • METRIC_TYPE_WEIGHTED_AVERAGE: Average of a metric dimension weighted by a weight dimension(e.g., price per share).
  • METRIC_TYPE_CATEGORICAL_COUNT: Count of a matching condition in a metric dimension(e.g., number of churns).
  • METRIC_TYPE_CATEGORICAL_RATE: Rate of a matching condition in a metric dimension(e.g., churn rate).
  • METRIC_TYPE_COUNT_DISTINCT: Count of a matching condition in a metric dimension(e.g., number of churns).
  • METRIC_TYPE_NUMERICAL_COUNT: Count of the rows of a single metric dimension(e.g., number of orders).
  • METRIC_TYPE_NUMERICAL_RATE: A metric dimension divided by a denominator dimension(e.g., lead conversion rate).
createdAt
string <date-time>

Timestamp when the metric was created.

createdByEmail
string

Email ID of a user who created this metric.

datasetId
string <uint64>

ID of the metric data set.

datasetName
string

Name of the metric data set.

dataSourceId
string <uint64>

ID of the metric data source.

dataSourceName
string

Name of the metric data source.

lastModifiedAt
string <date-time>

Timestamp when the metric was last modified.

lastModifiedByEmail
string

Email ID of a user last modified this metric.

queryName
string

Saved query name used when the metric was created.

verifiedAt
string <date-time>

Timestamp when the metric was verified.

verifiedByEmail
string

Email ID of a user who verified this metric.

excelFormat
string

Excel format of the looker created metric.

Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "timeDimension": {
    • "name": "string",
    • "id": "string"
    },
  • "weightDimension": {
    • "name": "string",
    • "id": "string"
    },
  • "desiredDirection": "DESIRED_DIRECTION_INCREASE",
  • "filterExpression": {
    • "and": {
      • "expressions": [
        • { }
        ]
      },
    • "or": {
      • "expressions": [
        • { }
        ]
      },
    • "basicCondition": {
      • "operator": "OPERATOR_LT",
      • "dimensionName": "string",
      • "nullLiteral": { },
      • "literal": {
        • "bool": true,
        • "int": "string",
        • "string": "string",
        • "float": 0,
        • "timestamp": "2019-08-24T14:15:22Z"
        }
      }
    },
  • "metricDimension": {
    • "name": "string",
    • "value": {
      • "booleanValue": true,
      • "integerValue": "string",
      • "stringValue": "string",
      • "floatValue": 0,
      • "timestampValue": "2019-08-24T14:15:22Z"
      },
    • "id": "string",
    • "includeNull": true
    },
  • "kpiUnitsConfig": {
    • "type": "UNIT_TYPE_CUSTOM",
    • "label": "string",
    • "scale": 0,
    • "precision": 0,
    • "currency": "string",
    • "kmb": true
    },
  • "type": "METRIC_TYPE_AVERAGE",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "createdByEmail": "string",
  • "datasetId": "string",
  • "datasetName": "string",
  • "dataSourceId": "string",
  • "dataSourceName": "string",
  • "lastModifiedAt": "2019-08-24T14:15:22Z",
  • "lastModifiedByEmail": "string",
  • "queryName": "string",
  • "verifiedAt": "2019-08-24T14:15:22Z",
  • "verifiedByEmail": "string",
  • "excelFormat": "string"
}

Delete a metric for a given metric id.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string <int64>

Responses

Response Schema: application/json
object (apiDeleteMetricResponse)
Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Response samples

Content type
application/json
{ }

Update metric by metric id.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string <uint64>

Metric id.

query Parameters
datasetId
string <uint64>

Dataset id of a metric.

desiredDirection
string
Enum: "DESIRED_DIRECTION_INCREASE" "DESIRED_DIRECTION_DECREASE"

Specifies whether the metric's goal is to increase or decrease the kpi value.

filterExpression.basicCondition.operator
string
Enum: "OPERATOR_LT" "OPERATOR_EQ" "OPERATOR_LTE" "OPERATOR_GTE" "OPERATOR_GT" "OPERATOR_NE" "OPERATOR_LIKE" "OPERATOR_NOT_LIKE" "OPERATOR_IS" "OPERATOR_IS_NOT"
filterExpression.basicCondition.dimensionName
string

A SQL identifier name, e.g 'my_column'

filterExpression.basicCondition.literal.bool
boolean
filterExpression.basicCondition.literal.int
string <int64>
filterExpression.basicCondition.literal.string
string
filterExpression.basicCondition.literal.float
number <double>
filterExpression.basicCondition.literal.timestamp
string <date-time>
includeNull
boolean

Include NULL values.

isVerified
boolean

Specifies whether the metric is verified or not.

metricDimension.name
string

The name of the dimension.

metricDimension.value.booleanValue
boolean
metricDimension.value.integerValue
string <int64>
metricDimension.value.stringValue
string
metricDimension.value.floatValue
number <double>
metricDimension.value.timestampValue
string <date-time>
kpiUnitsConfig.type
string
Enum: "UNIT_TYPE_CUSTOM" "UNIT_TYPE_PERCENT" "UNIT_TYPE_CURRENCY" "UNIT_TYPE_BPS" "UNIT_TYPE_NUMBER"
kpiUnitsConfig.label
string
kpiUnitsConfig.scale
integer <int32>
kpiUnitsConfig.precision
integer <int32>
kpiUnitsConfig.currency
string
kpiUnitsConfig.kmb
boolean
metricType
string
Enum: "METRIC_TYPE_AVERAGE" "METRIC_TYPE_SUM" "METRIC_TYPE_WEIGHTED_SUM" "METRIC_TYPE_WEIGHTED_AVERAGE" "METRIC_TYPE_CATEGORICAL_COUNT" "METRIC_TYPE_CATEGORICAL_RATE" "METRIC_TYPE_COUNT_DISTINCT" "METRIC_TYPE_NUMERICAL_COUNT" "METRIC_TYPE_NUMERICAL_RATE"

Type of metric calculation.

  • METRIC_TYPE_AVERAGE: Average of a single metric dimension(e.g., average order value).
  • METRIC_TYPE_SUM: Sum of a single metric dimension(e.g., total revenue).
  • METRIC_TYPE_WEIGHTED_SUM: Sum of a metric dimension weighted by a weight dimension(e.g., price per share).
  • METRIC_TYPE_WEIGHTED_AVERAGE: Average of a metric dimension weighted by a weight dimension(e.g., price per share).
  • METRIC_TYPE_CATEGORICAL_COUNT: Count of a matching condition in a metric dimension(e.g., number of churns).
  • METRIC_TYPE_CATEGORICAL_RATE: Rate of a matching condition in a metric dimension(e.g., churn rate).
  • METRIC_TYPE_COUNT_DISTINCT: Count of a matching condition in a metric dimension(e.g., number of churns).
  • METRIC_TYPE_NUMERICAL_COUNT: Count of the rows of a single metric dimension(e.g., number of orders).
  • METRIC_TYPE_NUMERICAL_RATE: A metric dimension divided by a denominator dimension(e.g., lead conversion rate).
name
string

Metric name.

timeDimensionName
string

The name of metric's time dimension which represents the date range of the metric.

weightDimensionName
string

The name of the weight dimension. A weight dimension is used to increases the importance of a given row in an analysis.

Responses

Response Schema: application/json
id
string <uint64>

Metric id.

name
string

Metric name.

object (apiUpdateMetricResponseTimeDimension)

Time dimension in a metric.

object (apiUpdateMetricResponseWeightDimension)

Weight dimension in a metric.

desiredDirection
string (MetricDesiredDirection)
Enum: "DESIRED_DIRECTION_INCREASE" "DESIRED_DIRECTION_DECREASE"

Type of metric direction.

object (apiExpression)

An Expression which would facilitate building a filter expression.

object (apiUpdateMetricResponseMetricDimension)

A dimension in a metric.

object (apiUnitsConfig)
type
string (MetricMetricType)
Enum: "METRIC_TYPE_AVERAGE" "METRIC_TYPE_SUM" "METRIC_TYPE_WEIGHTED_SUM" "METRIC_TYPE_WEIGHTED_AVERAGE" "METRIC_TYPE_CATEGORICAL_COUNT" "METRIC_TYPE_CATEGORICAL_RATE" "METRIC_TYPE_COUNT_DISTINCT" "METRIC_TYPE_NUMERICAL_COUNT" "METRIC_TYPE_NUMERICAL_RATE"

Type of metric calculation that is used to evaluate the metric's dimension.

  • METRIC_TYPE_AVERAGE: Average of a single metric dimension(e.g., average order value).
  • METRIC_TYPE_SUM: Sum of a single metric dimension(e.g., total revenue).
  • METRIC_TYPE_WEIGHTED_SUM: Sum of a metric dimension weighted by a weight dimension(e.g., price per share).
  • METRIC_TYPE_WEIGHTED_AVERAGE: Average of a metric dimension weighted by a weight dimension(e.g., price per share).
  • METRIC_TYPE_CATEGORICAL_COUNT: Count of a matching condition in a metric dimension(e.g., number of churns).
  • METRIC_TYPE_CATEGORICAL_RATE: Rate of a matching condition in a metric dimension(e.g., churn rate).
  • METRIC_TYPE_COUNT_DISTINCT: Count of a matching condition in a metric dimension(e.g., number of churns).
  • METRIC_TYPE_NUMERICAL_COUNT: Count of the rows of a single metric dimension(e.g., number of orders).
  • METRIC_TYPE_NUMERICAL_RATE: A metric dimension divided by a denominator dimension(e.g., lead conversion rate).
createdAt
string <date-time>

Timestamp when the metric was created.

createdByEmail
string

Email ID of a user who created this metric.

datasetId
string <uint64>

ID of the metric data set.

datasetName
string

Name of the metric data set.

dataSourceId
string <uint64>

ID of the metric data source.

dataSourceName
string

Name of the metric data source.

lastModifiedAt
string <date-time>

Timestamp when the metric was last modified.

lastModifiedByEmail
string

Email ID of a user last modified this metric.

queryName
string

Saved query name used when the metric was created.

verifiedAt
string <date-time>

Timestamp when the metric was verified.

verifiedByEmail
string

Email ID of a user who verified this metric.

Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "timeDimension": {
    • "name": "string",
    • "id": "string"
    },
  • "weightDimension": {
    • "name": "string",
    • "id": "string"
    },
  • "desiredDirection": "DESIRED_DIRECTION_INCREASE",
  • "filterExpression": {
    • "and": {
      • "expressions": [
        • { }
        ]
      },
    • "or": {
      • "expressions": [
        • { }
        ]
      },
    • "basicCondition": {
      • "operator": "OPERATOR_LT",
      • "dimensionName": "string",
      • "nullLiteral": { },
      • "literal": {
        • "bool": true,
        • "int": "string",
        • "string": "string",
        • "float": 0,
        • "timestamp": "2019-08-24T14:15:22Z"
        }
      }
    },
  • "metricDimension": {
    • "name": "string",
    • "value": {
      • "booleanValue": true,
      • "integerValue": "string",
      • "stringValue": "string",
      • "floatValue": 0,
      • "timestampValue": "2019-08-24T14:15:22Z"
      },
    • "id": "string",
    • "includeNull": true
    },
  • "kpiUnitsConfig": {
    • "type": "UNIT_TYPE_CUSTOM",
    • "label": "string",
    • "scale": 0,
    • "precision": 0,
    • "currency": "string",
    • "kmb": true
    },
  • "type": "METRIC_TYPE_AVERAGE",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "createdByEmail": "string",
  • "datasetId": "string",
  • "datasetName": "string",
  • "dataSourceId": "string",
  • "dataSourceName": "string",
  • "lastModifiedAt": "2019-08-24T14:15:22Z",
  • "lastModifiedByEmail": "string",
  • "queryName": "string",
  • "verifiedAt": "2019-08-24T14:15:22Z",
  • "verifiedByEmail": "string"
}

DatasetService

List all data sets.

Authorizations:
ApiKeyAuth

Responses

Response Schema: application/json
Array of objects (v1apiDataset)
Array
id
string <uint64>

Id of a given dataset.

name
string

Represents the table name for DATASET_TYPE_TABLE or user-defined for DATASET_TYPE_QUERY.

datasetType
string (DatasetDatasetType)
Enum: "DATASET_TYPE_TABLE" "DATASET_TYPE_QUERY"
  • DATASET_TYPE_TABLE: Data is sourced from a single table.
  • DATASET_TYPE_QUERY: Data is sourced from a user-defined query.
queryString
string

A SQL query string for a datasete of type query.

lastModified
string <date-time>

Last time the data set was modified.

createdAt
string <date-time>

Time when the data set was created.

dataSourceId
string <uint64>

Data Source id of the data set.

Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Response samples

Content type
application/json
{
  • "datasets": [
    • {
      • "id": "string",
      • "name": "string",
      • "datasetType": "DATASET_TYPE_TABLE",
      • "queryString": "string",
      • "lastModified": "2019-08-24T14:15:22Z",
      • "createdAt": "2019-08-24T14:15:22Z",
      • "dataSourceId": "string"
      }
    ]
}

List all Dimensions for a given DataSetDimensionsListRequest.

Authorizations:
ApiKeyAuth
path Parameters
datasetId
required
string <int64>

Unique ID corresponding to the dataset containing the dimensions.

Responses

Response Schema: application/json
Array of objects (apiDimension)
Array
name
string

A string literal corresponding to a column selected in the dataset. It is either a column name or a column alias for a computed SQL function over a column ( for example, upper(email) as 'UPPER_EMAIL' ex: red in SELECT roja as red.

datasetId
string <uint64>

Refers to the dataset that this dimension is associated with.

dimensionType
string (apiSqlDataType)
Enum: "SQL_DATA_TYPE_STRING" "SQL_DATA_TYPE_FLOAT" "SQL_DATA_TYPE_TIMESTAMP" "SQL_DATA_TYPE_INT" "SQL_DATA_TYPE_BOOLEAN"

Represents a datatype of a specific dimension.

Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Response samples

Content type
application/json
{
  • "dimensions": [
    • {
      • "name": "string",
      • "datasetId": "string",
      • "dimensionType": "SQL_DATA_TYPE_STRING"
      }
    ]
}

Get data source.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string <uint64>

Dataset id.

Responses

Response Schema: application/json
id
string <uint64>

Dataset id.

name
string

The table name for DATASET_TYPE_TABLE or user-defined for DATASET_TYPE_QUERY.

datasetType
string (DatasetDatasetType)
Enum: "DATASET_TYPE_TABLE" "DATASET_TYPE_QUERY"
  • DATASET_TYPE_TABLE: Data is sourced from a single table.
  • DATASET_TYPE_QUERY: Data is sourced from a user-defined query.
queryString
string

A SQL query string for a dataset of type query.

lastModifiedAt
string <date-time>

Last time the data set was modified.

createdAt
string <date-time>

Time when the data set was created.

dataSourceId
string <uint64>

Data Source id of the data set.

dataSource
string

The name of data source.

lastModifiedByEmail
string

The last modified by email.

associatedCountAnalyses
string <uint64>

The associated analyses count of the dataset.

associatedCountExplorations
string <uint64>

The associated explorations count of the dataset.

associatedCountMetrics
string <uint64>

The associated metrics count of the dataset.

Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "datasetType": "DATASET_TYPE_TABLE",
  • "queryString": "string",
  • "lastModifiedAt": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "dataSourceId": "string",
  • "dataSource": "string",
  • "lastModifiedByEmail": "string",
  • "associatedCountAnalyses": "string",
  • "associatedCountExplorations": "string",
  • "associatedCountMetrics": "string"
}

Delete dataset.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string <uint64>

Dataset id to be deleted.

Responses

Response Schema: application/json
object (apiDeleteDatasetResponse)

Response for delete dataset.

Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Response samples

Content type
application/json
{ }

DataSourcesService

List all data sources.

Authorizations:
ApiKeyAuth

Responses

Response Schema: application/json
Array of objects (apiDataSource)
Array
id
string <uint64>

Id of a given data source.

name
string

Represents the table or query name of a data source.

dataSourceType
string (DataSourceDataSourceType)
Enum: "DATA_SOURCE_TYPE_REDSHIFT" "DATA_SOURCE_TYPE_POSTGRESQL" "DATA_SOURCE_TYPE_SNOWFLAKE" "DATA_SOURCE_TYPE_SQLSERVER" "DATA_SOURCE_TYPE_BIGQUERY" "DATA_SOURCE_TYPE_VERTICA" "DATA_SOURCE_TYPE_AWSATHENA" "DATA_SOURCE_TYPE_SPARK" "DATA_SOURCE_TYPE_DATABRICKS" "DATA_SOURCE_TYPE_SAP" "DATA_SOURCE_TYPE_CSV" "DATA_SOURCE_TYPE_DBTCLOUD"
createdAt
string <date-time>

Time when the data source was created.

createdBy
string

Data source creator's user email info.

connectionUri
string

JDBC connection URI to the data source location.

Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Response samples

Content type
application/json
{
  • "dataSources": [
    • {
      • "id": "string",
      • "name": "string",
      • "dataSourceType": "DATA_SOURCE_TYPE_REDSHIFT",
      • "createdAt": "2019-08-24T14:15:22Z",
      • "createdBy": "string",
      • "connectionUri": "string"
      }
    ]
}

Get data source.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string <uint64>

Data source id.

Responses

Response Schema: application/json
id
string <uint64>

The id of data source.

name
string

The table or query name of a data source.

dataSourceType
string

The type of data source.

connectionUri
string

The JDBC connection URI to the data source location.

dataSourceUsername
string

The username of the data source.

private
boolean

The data source is private or not.

createdAt
string <date-time>

The created timestamp of data source.

createdBy
string

The creates of data source.

Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "dataSourceType": "string",
  • "connectionUri": "string",
  • "dataSourceUsername": "string",
  • "private": true,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "createdBy": "string"
}

Delete data source.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string <uint64>

Data source id to be deleted.

Responses

Response Schema: application/json
object (apiDeleteDataSourceResponse)

Response payload for delete data source.

Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Response samples

Content type
application/json
{ }

Modify data source.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string <uint64>

The id of data source.

Request Body schema: application/json
name
string

The table or query name of a data source.

password
string

The password of data source.

uri
string

The JDBC connection URI to the data source location.

username
string

The username of the data source.

isRestricted
boolean

The data source is private or not.

Responses

Response Schema: application/json
id
string <uint64>

The id of data source.

name
string

The table or query name of a data source.

dataSourceType
string

The type of data source.

connectionUri
string

The JDBC connection URI to the data source location.

dataSourceUsername
string

The username of the data source.

private
boolean

The data source is private or not.

createdAt
string <date-time>

The created timestamp of data source.

createdBy
string

The creates of data source.

Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Request samples

Content type
application/json
{
  • "name": "string",
  • "password": "string",
  • "uri": "string",
  • "username": "string",
  • "isRestricted": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "dataSourceType": "string",
  • "connectionUri": "string",
  • "dataSourceUsername": "string",
  • "private": true,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "createdBy": "string"
}

Create a new data sets query.

Authorizations:
ApiKeyAuth
path Parameters
dataSourceId
required
string <uint64>
Request Body schema: application/json
name
string

Name of the dataset.

queryString
string

A SQL query string for a datasete of type query.

Responses

Response Schema: application/json
object (apiCreateDataSetResponse)
Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Request samples

Content type
application/json
{
  • "name": "string",
  • "queryString": "string"
}

Response samples

Content type
application/json
{ }

SegmentsService

Gets the query to retrieve the rows that make up this segment.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string <uint64>

Segment id to get data for.

Responses

Response Schema: application/json
queryString
string

query string that would result in the segment data.

Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Response samples

Content type
application/json
{
  • "queryString": "string"
}

ProjectsService

List of projects.

Authorizations:
ApiKeyAuth

Responses

Response Schema: application/json
object (apiGetProjectsListResponse)
Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Response samples

Content type
application/json
{ }

Get project details for a given project id

Authorizations:
ApiKeyAuth
path Parameters
id
required
string <int64>

Responses

Response Schema: application/json
id
string <uint64>

Project id.

name
string

Project name.

description
string

Project description.

createdAt
string <date-time>

Timestamp when the Project was created.

Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "createdAt": "2019-08-24T14:15:22Z"
}

List of analyses for a given project id.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string <uint64>

Project id.

Responses

Response Schema: application/json
Array of objects (v1apiAnalysis)

List of analyses associated with a project.

Array
id
string <int64>

Analysis id.

name
string

Analysis name.

type
string (apiAnalysisType)
Enum: "ANALYSIS_TYPE_GENERAL_PERFORMANCE" "ANALYSIS_TYPE_TREND" "ANALYSIS_TYPE_TIME_COMPARE" "ANALYSIS_TYPE_GROUP_COMPARE"

Type of Analysis eg. KEY_DRIVER.

createdAt
string <date-time>

Timestamp when the analysis was created.

metricId
string <uint64>

Metric id corresponding to the analysis.

projectId
string <uint64>

Project id corresponding to the analysis.

applicationUrl
string (Link to the live sisu analysis this represents. ex: vip.sisudata.com/projects/{id}/analysis/{id})
Response Schema: application/json
code
integer <int32>
message
string
Array of objects (protobufAny)

Response samples

Content type
application/json
{
  • "analyses": [
    • {
      • "id": "string",
      • "name": "string",
      • "type": "ANALYSIS_TYPE_GENERAL_PERFORMANCE",
      • "createdAt": "2019-08-24T14:15:22Z",
      • "metricId": "string",
      • "projectId": "string",
      • "applicationUrl": "string"
      }
    ]
}