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.

Authentication

ApiKeyAuth

Security Scheme Type API Key
Header parameter name: Authorization

AnalysesService

List all analyses.

Authorizations:
query Parameters
analysisType
string
Default: "ANALYSIS_TYPE_UNKNOWN"
Enum: "ANALYSIS_TYPE_UNKNOWN" "ANALYSIS_TYPE_KEY_DRIVER" "ANALYSIS_TYPE_TREND"

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 (apiAnalysis) [ items ]

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>
Array of objects (protobufAny) [ items ]
message
string

Response samples

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

List all Dimensions for a given AnalysisDimensionsListRequest.

Authorizations:
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 (apiDimension) [ items ]
Array
datasetId
string <uint64>

Refers to the dataset that this dimension is associated with.

dimensionType
string (apiSqlDataType)
Default: "SQL_DATA_TYPE_UNKNOWN"
Enum: "SQL_DATA_TYPE_UNKNOWN" "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.

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.

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

Response samples

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

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

Authorizations:
path Parameters
id
required
string <uint64>

Analysis id to be duplicated

Request Body schema: application/json

optinal 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>
Array of objects (protobufAny) [ items ]
message
string

Request samples

Content type
application/json
"string"

Response samples

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

Get analysis filters.

Authorizations:
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 (An basic boolean expression e.g. `"sale_price" > 100`. { "dimensionName" : "sale_price", "operator" : "OPERATOR_LT", "literal" : { "int" : 100 } })
object (ExpressionOrExpression)

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

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

Response samples

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

Set analysis filters.

Authorizations:
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 (An basic boolean expression e.g. `"sale_price" > 100`. { "dimensionName" : "sale_price", "operator" : "OPERATOR_LT", "literal" : { "int" : 100 } })
object (ExpressionOrExpression)

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

Responses

Response Schema: application/json
object (apiSetAnalysisFiltersResponse)

Response with empty message.

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

Request samples

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

Response samples

Content type
application/json
{ }

Run Analysis execution.

Authorizations:
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>
Array of objects (protobufAny) [ items ]
message
string

Response samples

Content type
application/json
{ }

Returns the results corresponding to the latest analysis run.

Authorizations:
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>
Array of objects (protobufAny) [ items ]
message
string

Response samples

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

MetricService

List all Metrics.

Authorizations:

Responses

Response Schema: application/json
Array of objects (apiMetric) [ items ]
Array
createdAt
string <date-time>

Timestamp when the metric was created.

datasetId
string <uint64>

Id of the metric data set.

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

Type of metric direction.

id
string <uint64>

Metric id.

object (MetricMetricDimension)

A dimension in a metric.

name
string

Metric name.

timeDimensionName
string

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

type
string (MetricMetricType)
Default: "METRIC_TYPE_UNKNOWN"
Enum: "METRIC_TYPE_UNKNOWN" "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).
weightDimensionName
string

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

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

Response samples

Content type
application/json
{
  • "metrics": [
    • {
      • "createdAt": "2019-08-24T14:15:22Z",
      • "datasetId": "string",
      • "desiredDirection": "DESIRED_DIRECTION_UNKNOWN",
      • "id": "string",
      • "metricDimension": {
        • "name": "string",
        • "value": {
          • "booleanValue": true,
          • "floatValue": 0,
          • "integerValue": "string",
          • "stringValue": "string",
          • "timestampValue": "2019-08-24T14:15:22Z"
          }
        },
      • "name": "string",
      • "timeDimensionName": "string",
      • "type": "METRIC_TYPE_UNKNOWN",
      • "weightDimensionName": "string"
      }
    ]
}

DatasetService

List all Dimensions for a given DataSetDimensionsListRequest.

Authorizations:
path Parameters
dataSetId
required
string <int64>

Unique ID corresponding to the dataset containing the dimensions.

Responses

Response Schema: application/json
Array of objects (apiDimension) [ items ]
Array
datasetId
string <uint64>

Refers to the dataset that this dimension is associated with.

dimensionType
string (apiSqlDataType)
Default: "SQL_DATA_TYPE_UNKNOWN"
Enum: "SQL_DATA_TYPE_UNKNOWN" "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.

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.

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

Response samples

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

List all data sets.

Authorizations:

Responses

Response Schema: application/json
Array of objects (apiDataset) [ items ]
Array
createdAt
string <date-time>

Time when the data set was created.

dataSourceId
string <uint64>

Data Source id of the data set.

datasetType
string (DatasetDatasetType)
Default: "DATASET_TYPE_UNKNOWN"
Enum: "DATASET_TYPE_UNKNOWN" "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.
id
string <uint64>

Id of a given dataset.

lastModified
string <date-time>

Last time the data set was modified.

name
string

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

queryString
string

A SQL query string for a datasete of type query.

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

Response samples

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

DataSourcesService

List all data sources.

Authorizations:

Responses

Response Schema: application/json
Array of objects (apiDataSource) [ items ]
Array
connectionUri
string

JDBC connection URI to the data source location.

createdAt
string <date-time>

Time when the data source was created.

createdBy
string

Data source creator's user email info.

dataSourceType
string (DataSourceDataSourceType)
Default: "DATA_SOURCE_TYPE_UNKNOWN"
Enum: "DATA_SOURCE_TYPE_UNKNOWN" "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"
id
string <uint64>

Id of a given data source.

name
string

Represents the table or query name of a data source.

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

Response samples

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

SegmentsService

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

Authorizations:
path Parameters
id
required
string <uint64>

Segment id to get data for.

Responses

Response Schema: application/json
queryString
string

query string that would resutl in the segment data.

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

Response samples

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