The DataJunction API Specification #
License: MIT License
List Catalogs #
GET /catalogs/
List all available catalogs
Example responses
200 Response
[
{
"name": "string",
"engines": []
}
]
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Response | Inline |
Response Schema
Status Code 200
Response List Catalogs Catalogs Get
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| Response List Catalogs Catalogs Get | [CatalogInfo] | false | none | [Class for catalog creation] |
| » CatalogInfo | CatalogInfo | false | none | Class for catalog creation |
| »» name | string | true | none | none |
| »» engines | [EngineInfo] | false | none | [Class for engine creation] |
| »»» EngineInfo | EngineInfo | false | none | Class for engine creation |
| »»»» name | string | true | none | none |
| »»»» version | string | true | none | none |
| »»»» uri | string | false | none | none |
Add A Catalog #
POST /catalogs/
Add a Catalog
Body parameter
{
"name": "string",
"engines": []
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | CatalogInfo | true | none |
Example responses
201 Response
{
"name": "string",
"engines": []
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Successful Response | CatalogInfo |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Get A Catalog #
GET /catalogs/{name}/
Return a catalog by name
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| name | path | string | true | none |
Example responses
200 Response
{
"name": "string",
"engines": []
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Response | CatalogInfo |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Add Engines To A Catalog #
POST /catalogs/{name}/engines/
Attach one or more engines to a catalog
Body parameter
[
{
"name": "string",
"version": "string",
"uri": "string"
}
]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| name | path | string | true | none |
Example responses
201 Response
{
"name": "string",
"engines": []
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Successful Response | CatalogInfo |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
List Engines #
GET /engines/
List all available engines
Example responses
200 Response
[
{
"name": "string",
"version": "string",
"uri": "string"
}
]
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Response | Inline |
Response Schema
Status Code 200
Response List Engines Engines Get
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| Response List Engines Engines Get | [EngineInfo] | false | none | [Class for engine creation] |
| » EngineInfo | EngineInfo | false | none | Class for engine creation |
| »» name | string | true | none | none |
| »» version | string | true | none | none |
| »» uri | string | false | none | none |
Add An Engine #
POST /engines/
Add an Engine
Body parameter
{
"name": "string",
"version": "string",
"uri": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | EngineInfo | true | none |
Example responses
201 Response
{
"name": "string",
"version": "string",
"uri": "string"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Successful Response | EngineInfo |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Get An Engine #
GET /engines/{name}/{version}/
Return an engine by name and version
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| name | path | string | true | none |
| version | path | string | true | none |
Example responses
200 Response
{
"name": "string",
"version": "string",
"uri": "string"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Response | EngineInfo |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
List Metrics #
GET /metrics/
List all available metrics.
Example responses
200 Response
[
{
"id": 0,
"name": "string",
"display_name": "string",
"current_version": "string",
"description": "",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"query": "string",
"dimensions": [
"string"
]
}
]
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Response | Inline |
Response Schema
Status Code 200
Response List Metrics Metrics Get
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| Response List Metrics Metrics Get | [Metric] | false | none | [Class for a metric.] |
| » Metric | Metric | false | none | Class for a metric. |
| »» id | integer | true | none | none |
| »» name | string | true | none | none |
| »» display_name | string | true | none | none |
| »» current_version | string | true | none | none |
| »» description | string | false | none | none |
| »» created_at | string(date-time) | true | none | none |
| »» updated_at | string(date-time) | true | none | none |
| »» query | string | true | none | none |
| »» dimensions | [string] | true | none | none |
Get A Metric #
GET /metrics/{name}/
Return a metric by name.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| name | path | string | true | none |
Example responses
200 Response
{
"id": 0,
"name": "string",
"display_name": "string",
"current_version": "string",
"description": "",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"query": "string",
"dimensions": [
"string"
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Response | Metric |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Get Common Dimensions #
GET /metrics/common/dimensions/
Return common dimensions for a set of metrics.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| metric | query | array[string] | false | none |
Example responses
200 Response
[
"string"
]
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Response | Inline |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Response Schema
Status Code 200
Response Get Common Dimensions Metrics Common Dimensions Get
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| Response Get Common Dimensions Metrics Common Dimensions Get | [string] | false | none | none |
Build A Dj Query #
GET /query/{sql}
Return SQL for a DJ Query.
A database can be optionally specified. If no database is specified the optimal one will be used.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| sql | path | string | true | none |
Example responses
200 Response
{
"sql": "string",
"columns": [
{
"name": "string",
"type": "string"
}
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Response | TranslatedSQL |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Validate A Node #
POST /nodes/validate/
Validate a node.
Body parameter
{
"name": "string",
"display_name": "string",
"type": "source",
"description": "",
"query": "string",
"mode": "published"
}
Example responses
200 Response
{
"message": "string",
"status": "valid",
"node_revision": {
"name": "string",
"display_name": "string",
"type": "source",
"description": "",
"query": "string",
"mode": "published",
"id": 0,
"version": "v0.1",
"node_id": 0,
"catalog_id": 0,
"schema_": "string",
"table": "string",
"status": "invalid",
"updated_at": "2019-08-24T14:15:22Z"
},
"dependencies": [
{
"node_revision_id": 0,
"node_id": 0,
"type": "source",
"name": "string",
"display_name": "string",
"version": "string",
"status": "valid",
"mode": "published",
"catalog": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"extra_params": {}
},
"schema_": "string",
"table": "string",
"description": "",
"query": "string",
"availability": {
"catalog": "string",
"schema_": "string",
"table": "string",
"valid_through_ts": 0,
"max_partition": [
"string"
],
"min_partition": [
"string"
],
"id": 0,
"updated_at": "2019-08-24T14:15:22Z"
},
"columns": [
{
"name": "string",
"type": {},
"attributes": [
{
"attribute_type": {
"namespace": "string",
"name": "string"
}
}
],
"dimension": {
"name": "string"
}
}
],
"updated_at": "2019-08-24T14:15:22Z",
"materialization_configs": [
{
"engine": {
"name": "string",
"version": "string",
"uri": "string"
},
"config": "string"
}
],
"parents": [
{
"name": "string"
}
]
}
],
"columns": [
{
"id": 0,
"name": "string",
"type": {},
"dimension_id": 0,
"dimension_column": "string"
}
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Response | NodeValidation |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Set Column Attributes #
POST /nodes/{node_name}/attributes/
Set column attributes for the node.
Body parameter
[
{
"attribute_type_namespace": "system",
"attribute_type_name": "string",
"column_name": "string"
}
]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| node_name | path | string | true | none |
Example responses
201 Response
[
{
"name": "string",
"type": {},
"attributes": [
{
"attribute_type": {
"namespace": "string",
"name": "string"
}
}
],
"dimension": {
"name": "string"
}
}
]
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Successful Response | Inline |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Response Schema
Status Code 201
Response Set Column Attributes Nodes Node Name Attributes Post
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| Response Set Column Attributes Nodes Node Name Attributes Post | [ColumnOutput] | false | none | [A simplified column schema, without ID or dimensions.] |
| » ColumnOutput | ColumnOutput | false | none | A simplified column schema, without ID or dimensions. |
| »» name | string | true | none | none |
| »» type | ColumnType | true | none | Base type for all Column Types |
| »» attributes | [AttributeOutput] | true | none | [Column attribute output.] |
| »»» AttributeOutput | AttributeOutput | false | none | Column attribute output. |
| »»»» attribute_type | AttributeTypeName | true | none | Attribute type name. |
| »»»»» namespace | string | true | none | none |
| »»»»» name | string | true | none | none |
| »» dimension | NodeNameOutput | false | none | Node name only |
| »»» name | string | true | none | none |
List Nodes #
GET /nodes/
List the available nodes.
Example responses
200 Response
[
{
"current": {
"node_revision_id": 0,
"node_id": 0,
"type": "source",
"name": "string",
"display_name": "string",
"version": "string",
"status": "valid",
"mode": "published",
"catalog": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"extra_params": {}
},
"schema_": "string",
"table": "string",
"description": "",
"query": "string",
"availability": {
"catalog": "string",
"schema_": "string",
"table": "string",
"valid_through_ts": 0,
"max_partition": [
"string"
],
"min_partition": [
"string"
],
"id": 0,
"updated_at": "2019-08-24T14:15:22Z"
},
"columns": [
{
"name": "string",
"type": {},
"attributes": [
{
"attribute_type": {
"namespace": "string",
"name": "string"
}
}
],
"dimension": {
"name": "string"
}
}
],
"updated_at": "2019-08-24T14:15:22Z",
"materialization_configs": [
{
"engine": {
"name": "string",
"version": "string",
"uri": "string"
},
"config": "string"
}
],
"parents": [
{
"name": "string"
}
]
},
"created_at": "2019-08-24T14:15:22Z",
"tags": []
}
]
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Response | Inline |
Response Schema
Status Code 200
Response List Nodes Nodes Get
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| Response List Nodes Nodes Get | [NodeOutput] | false | none | [Output for a node that shows the current revision.] |
| » NodeOutput | NodeOutput | false | none | Output for a node that shows the current revision. |
| »» current | NodeRevisionOutput | true | none | Output for a node revision with information about columns and if it is a metric. |
| »»» node_revision_id | integer | true | none | none |
| »»» node_id | integer | true | none | none |
| »»» type | NodeType | true | none | Node type. A node can have 4 types, currently: 1. SOURCE nodes are root nodes in the DAG, and point to tables or views in a DB. 2. TRANSFORM nodes are SQL transformations, reading from SOURCE/TRANSFORM nodes. 3. METRIC nodes are leaves in the DAG, and have a single aggregation query. 4. DIMENSION nodes are special SOURCE nodes that can be auto-joined with METRICS. 5. CUBE nodes contain a reference to a set of METRICS and a set of DIMENSIONS. |
| »»» name | string | true | none | none |
| »»» display_name | string | true | none | none |
| »»» version | string | true | none | none |
| »»» status | NodeStatus | true | none | Node status. A node can have one of the following statuses: 1. VALID - All references to other nodes and node columns are valid 2. INVALID - One or more parent nodes are incompatible or do not exist |
| »»» mode | NodeMode | true | none | Node mode. A node can be in one of the following modes: 1. PUBLISHED - Must be valid and not cause any child nodes to be invalid 2. DRAFT - Can be invalid, have invalid parents, and include dangling references |
| »»» catalog | Catalog | false | none | A catalog. |
| »»»» id | integer | false | none | none |
| »»»» uuid | string(uuid) | false | none | none |
| »»»» name | string | true | none | none |
| »»»» created_at | string(date-time) | false | none | none |
| »»»» updated_at | string(date-time) | false | none | none |
| »»»» extra_params | object | false | none | none |
| »»» schema_ | string | false | none | none |
| »»» table | string | false | none | none |
| »»» description | string | false | none | none |
| »»» query | string | false | none | none |
| »»» availability | AvailabilityState | false | none | The availability of materialized data for a node |
| »»»» catalog | string | true | none | none |
| »»»» schema_ | string | false | none | none |
| »»»» table | string | true | none | none |
| »»»» valid_through_ts | integer | true | none | none |
| »»»» max_partition | [string] | true | none | none |
| »»»» min_partition | [string] | true | none | none |
| »»»» id | integer | false | none | none |
| »»»» updated_at | string(date-time) | false | none | none |
| »»» columns | [ColumnOutput] | true | none | [A simplified column schema, without ID or dimensions.] |
| »»»» ColumnOutput | ColumnOutput | false | none | A simplified column schema, without ID or dimensions. |
| »»»»» name | string | true | none | none |
| »»»»» type | ColumnType | true | none | Base type for all Column Types |
| »»»»» attributes | [AttributeOutput] | true | none | [Column attribute output.] |
| »»»»»» AttributeOutput | AttributeOutput | false | none | Column attribute output. |
| »»»»»»» attribute_type | AttributeTypeName | true | none | Attribute type name. |
| »»»»»»»» namespace | string | true | none | none |
| »»»»»»»» name | string | true | none | none |
| »»»»» dimension | NodeNameOutput | false | none | Node name only |
| »»»»»» name | string | true | none | none |
| »»» updated_at | string(date-time) | true | none | none |
| »»» materialization_configs | [MaterializationConfigOutput] | true | none | [Output for materialization config.] |
| »»»» MaterializationConfigOutput | MaterializationConfigOutput | false | none | Output for materialization config. |
| »»»»» engine | EngineInfo | true | none | Class for engine creation |
| »»»»»» name | string | true | none | none |
| »»»»»» version | string | true | none | none |
| »»»»»» uri | string | false | none | none |
| »»»»» config | string | true | none | none |
| »»» parents | [NodeNameOutput] | true | none | [Node name only] |
| »»»» NodeNameOutput | NodeNameOutput | false | none | Node name only |
| »» created_at | string(date-time) | true | none | none |
| »» tags | [Tag] | false | none | [A tag.] |
| »»» Tag | Tag | false | none | A tag. |
| »»»» description | string | true | none | none |
| »»»» tag_metadata | object | false | none | none |
| »»»» name | string | true | none | none |
| »»»» display_name | string | false | none | none |
| »»»» tag_type | string | true | none | none |
| »»»» id | integer | false | none | none |
Enumerated Values #
| Property | Value |
|---|---|
| type | source |
| type | transform |
| type | metric |
| type | dimension |
| type | cube |
| status | valid |
| status | invalid |
| mode | published |
| mode | draft |
Get A Node #
GET /nodes/{name}/
Show the active version of the specified node.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| name | path | string | true | none |
Example responses
200 Response
{
"current": {
"node_revision_id": 0,
"node_id": 0,
"type": "source",
"name": "string",
"display_name": "string",
"version": "string",
"status": "valid",
"mode": "published",
"catalog": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"extra_params": {}
},
"schema_": "string",
"table": "string",
"description": "",
"query": "string",
"availability": {
"catalog": "string",
"schema_": "string",
"table": "string",
"valid_through_ts": 0,
"max_partition": [
"string"
],
"min_partition": [
"string"
],
"id": 0,
"updated_at": "2019-08-24T14:15:22Z"
},
"columns": [
{
"name": "string",
"type": {},
"attributes": [
{
"attribute_type": {
"namespace": "string",
"name": "string"
}
}
],
"dimension": {
"name": "string"
}
}
],
"updated_at": "2019-08-24T14:15:22Z",
"materialization_configs": [
{
"engine": {
"name": "string",
"version": "string",
"uri": "string"
},
"config": "string"
}
],
"parents": [
{
"name": "string"
}
]
},
"created_at": "2019-08-24T14:15:22Z",
"tags": []
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Response | NodeOutput |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Delete A Node #
DELETE /nodes/{name}/
Delete the specified node.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| name | path | string | true | none |
Example responses
422 Response
{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 204 | No Content | Successful Response | None |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Update A Node #
PATCH /nodes/{name}/
Update a node.
Body parameter
{
"catalog": "string",
"schema_": "string",
"table": "string",
"columns": {
"property1": {
"type": {},
"dimension": "string"
},
"property2": {
"type": {},
"dimension": "string"
}
},
"display_name": "string",
"description": "string",
"mode": "published",
"query": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| name | path | string | true | none |
| body | body | UpdateNode | true | none |
Example responses
200 Response
{
"current": {
"node_revision_id": 0,
"node_id": 0,
"type": "source",
"name": "string",
"display_name": "string",
"version": "string",
"status": "valid",
"mode": "published",
"catalog": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"extra_params": {}
},
"schema_": "string",
"table": "string",
"description": "",
"query": "string",
"availability": {
"catalog": "string",
"schema_": "string",
"table": "string",
"valid_through_ts": 0,
"max_partition": [
"string"
],
"min_partition": [
"string"
],
"id": 0,
"updated_at": "2019-08-24T14:15:22Z"
},
"columns": [
{
"name": "string",
"type": {},
"attributes": [
{
"attribute_type": {
"namespace": "string",
"name": "string"
}
}
],
"dimension": {
"name": "string"
}
}
],
"updated_at": "2019-08-24T14:15:22Z",
"materialization_configs": [
{
"engine": {
"name": "string",
"version": "string",
"uri": "string"
},
"config": "string"
}
],
"parents": [
{
"name": "string"
}
]
},
"created_at": "2019-08-24T14:15:22Z",
"tags": []
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Response | NodeOutput |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Upsert A Materialization Config #
POST /nodes/{name}/materialization/
Update materialization config of the specified node.
Body parameter
{
"engine_name": "string",
"engine_version": "string",
"config": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| name | path | string | true | none |
| body | body | UpsertMaterializationConfig | true | none |
Example responses
201 Response
null
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Successful Response | Inline |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Response Schema
List Node Revisions #
GET /nodes/{name}/revisions/
List all revisions for the node.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| name | path | string | true | none |
Example responses
200 Response
[
{
"node_revision_id": 0,
"node_id": 0,
"type": "source",
"name": "string",
"display_name": "string",
"version": "string",
"status": "valid",
"mode": "published",
"catalog": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"extra_params": {}
},
"schema_": "string",
"table": "string",
"description": "",
"query": "string",
"availability": {
"catalog": "string",
"schema_": "string",
"table": "string",
"valid_through_ts": 0,
"max_partition": [
"string"
],
"min_partition": [
"string"
],
"id": 0,
"updated_at": "2019-08-24T14:15:22Z"
},
"columns": [
{
"name": "string",
"type": {},
"attributes": [
{
"attribute_type": {
"namespace": "string",
"name": "string"
}
}
],
"dimension": {
"name": "string"
}
}
],
"updated_at": "2019-08-24T14:15:22Z",
"materialization_configs": [
{
"engine": {
"name": "string",
"version": "string",
"uri": "string"
},
"config": "string"
}
],
"parents": [
{
"name": "string"
}
]
}
]
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Response | Inline |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Response Schema
Status Code 200
Response List Node Revisions Nodes Name Revisions Get
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| Response List Node Revisions Nodes Name Revisions Get | [NodeRevisionOutput] | false | none | [Output for a node revision with information about columns and if it is a metric.] |
| » NodeRevisionOutput | NodeRevisionOutput | false | none | Output for a node revision with information about columns and if it is a metric. |
| »» node_revision_id | integer | true | none | none |
| »» node_id | integer | true | none | none |
| »» type | NodeType | true | none | Node type. A node can have 4 types, currently: 1. SOURCE nodes are root nodes in the DAG, and point to tables or views in a DB. 2. TRANSFORM nodes are SQL transformations, reading from SOURCE/TRANSFORM nodes. 3. METRIC nodes are leaves in the DAG, and have a single aggregation query. 4. DIMENSION nodes are special SOURCE nodes that can be auto-joined with METRICS. 5. CUBE nodes contain a reference to a set of METRICS and a set of DIMENSIONS. |
| »» name | string | true | none | none |
| »» display_name | string | true | none | none |
| »» version | string | true | none | none |
| »» status | NodeStatus | true | none | Node status. A node can have one of the following statuses: 1. VALID - All references to other nodes and node columns are valid 2. INVALID - One or more parent nodes are incompatible or do not exist |
| »» mode | NodeMode | true | none | Node mode. A node can be in one of the following modes: 1. PUBLISHED - Must be valid and not cause any child nodes to be invalid 2. DRAFT - Can be invalid, have invalid parents, and include dangling references |
| »» catalog | Catalog | false | none | A catalog. |
| »»» id | integer | false | none | none |
| »»» uuid | string(uuid) | false | none | none |
| »»» name | string | true | none | none |
| »»» created_at | string(date-time) | false | none | none |
| »»» updated_at | string(date-time) | false | none | none |
| »»» extra_params | object | false | none | none |
| »» schema_ | string | false | none | none |
| »» table | string | false | none | none |
| »» description | string | false | none | none |
| »» query | string | false | none | none |
| »» availability | AvailabilityState | false | none | The availability of materialized data for a node |
| »»» catalog | string | true | none | none |
| »»» schema_ | string | false | none | none |
| »»» table | string | true | none | none |
| »»» valid_through_ts | integer | true | none | none |
| »»» max_partition | [string] | true | none | none |
| »»» min_partition | [string] | true | none | none |
| »»» id | integer | false | none | none |
| »»» updated_at | string(date-time) | false | none | none |
| »» columns | [ColumnOutput] | true | none | [A simplified column schema, without ID or dimensions.] |
| »»» ColumnOutput | ColumnOutput | false | none | A simplified column schema, without ID or dimensions. |
| »»»» name | string | true | none | none |
| »»»» type | ColumnType | true | none | Base type for all Column Types |
| »»»» attributes | [AttributeOutput] | true | none | [Column attribute output.] |
| »»»»» AttributeOutput | AttributeOutput | false | none | Column attribute output. |
| »»»»»» attribute_type | AttributeTypeName | true | none | Attribute type name. |
| »»»»»»» namespace | string | true | none | none |
| »»»»»»» name | string | true | none | none |
| »»»» dimension | NodeNameOutput | false | none | Node name only |
| »»»»» name | string | true | none | none |
| »» updated_at | string(date-time) | true | none | none |
| »» materialization_configs | [MaterializationConfigOutput] | true | none | [Output for materialization config.] |
| »»» MaterializationConfigOutput | MaterializationConfigOutput | false | none | Output for materialization config. |
| »»»» engine | EngineInfo | true | none | Class for engine creation |
| »»»»» name | string | true | none | none |
| »»»»» version | string | true | none | none |
| »»»»» uri | string | false | none | none |
| »»»» config | string | true | none | none |
| »» parents | [NodeNameOutput] | true | none | [Node name only] |
| »»» NodeNameOutput | NodeNameOutput | false | none | Node name only |
Enumerated Values #
| Property | Value |
|---|---|
| type | source |
| type | transform |
| type | metric |
| type | dimension |
| type | cube |
| status | valid |
| status | invalid |
| mode | published |
| mode | draft |
Create A Source #
POST /nodes/source/
Create a source node. If columns are not provided, the source node’s schema will be inferred using the configured query service.
Body parameter
{
"catalog": "string",
"schema_": "string",
"table": "string",
"columns": {
"property1": {
"type": {},
"dimension": "string"
},
"property2": {
"type": {},
"dimension": "string"
}
},
"display_name": "string",
"description": "string",
"mode": "published",
"name": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | CreateSourceNode | true | none |
Example responses
201 Response
{
"current": {
"node_revision_id": 0,
"node_id": 0,
"type": "source",
"name": "string",
"display_name": "string",
"version": "string",
"status": "valid",
"mode": "published",
"catalog": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"extra_params": {}
},
"schema_": "string",
"table": "string",
"description": "",
"query": "string",
"availability": {
"catalog": "string",
"schema_": "string",
"table": "string",
"valid_through_ts": 0,
"max_partition": [
"string"
],
"min_partition": [
"string"
],
"id": 0,
"updated_at": "2019-08-24T14:15:22Z"
},
"columns": [
{
"name": "string",
"type": {},
"attributes": [
{
"attribute_type": {
"namespace": "string",
"name": "string"
}
}
],
"dimension": {
"name": "string"
}
}
],
"updated_at": "2019-08-24T14:15:22Z",
"materialization_configs": [
{
"engine": {
"name": "string",
"version": "string",
"uri": "string"
},
"config": "string"
}
],
"parents": [
{
"name": "string"
}
]
},
"created_at": "2019-08-24T14:15:22Z",
"tags": []
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Successful Response | NodeOutput |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Create A Node #
POST /nodes/transform/
Create a node.
Body parameter
{
"query": "string",
"display_name": "string",
"description": "string",
"mode": "published",
"name": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | CreateNode | true | none |
Example responses
201 Response
{
"current": {
"node_revision_id": 0,
"node_id": 0,
"type": "source",
"name": "string",
"display_name": "string",
"version": "string",
"status": "valid",
"mode": "published",
"catalog": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"extra_params": {}
},
"schema_": "string",
"table": "string",
"description": "",
"query": "string",
"availability": {
"catalog": "string",
"schema_": "string",
"table": "string",
"valid_through_ts": 0,
"max_partition": [
"string"
],
"min_partition": [
"string"
],
"id": 0,
"updated_at": "2019-08-24T14:15:22Z"
},
"columns": [
{
"name": "string",
"type": {},
"attributes": [
{
"attribute_type": {
"namespace": "string",
"name": "string"
}
}
],
"dimension": {
"name": "string"
}
}
],
"updated_at": "2019-08-24T14:15:22Z",
"materialization_configs": [
{
"engine": {
"name": "string",
"version": "string",
"uri": "string"
},
"config": "string"
}
],
"parents": [
{
"name": "string"
}
]
},
"created_at": "2019-08-24T14:15:22Z",
"tags": []
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Successful Response | NodeOutput |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Create A Cube #
POST /nodes/cube/
Create a node.
Body parameter
{
"display_name": "string",
"cube_elements": [
"string"
],
"description": "string",
"mode": "published",
"name": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | CreateCubeNode | true | none |
Example responses
201 Response
{
"current": {
"node_revision_id": 0,
"node_id": 0,
"type": "source",
"name": "string",
"display_name": "string",
"version": "string",
"status": "valid",
"mode": "published",
"catalog": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"extra_params": {}
},
"schema_": "string",
"table": "string",
"description": "",
"query": "string",
"availability": {
"catalog": "string",
"schema_": "string",
"table": "string",
"valid_through_ts": 0,
"max_partition": [
"string"
],
"min_partition": [
"string"
],
"id": 0,
"updated_at": "2019-08-24T14:15:22Z"
},
"columns": [
{
"name": "string",
"type": {},
"attributes": [
{
"attribute_type": {
"namespace": "string",
"name": "string"
}
}
],
"dimension": {
"name": "string"
}
}
],
"updated_at": "2019-08-24T14:15:22Z",
"materialization_configs": [
{
"engine": {
"name": "string",
"version": "string",
"uri": "string"
},
"config": "string"
}
],
"parents": [
{
"name": "string"
}
]
},
"created_at": "2019-08-24T14:15:22Z",
"tags": []
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Successful Response | NodeOutput |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Link A Dimension #
POST /nodes/{name}/columns/{column}/
Add information to a node column
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| name | path | string | true | none |
| column | path | string | true | none |
| dimension | query | string | false | none |
| dimension_column | query | string | false | none |
Example responses
201 Response
null
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Successful Response | Inline |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Response Schema
Tag A Node #
POST /nodes/{name}/tag/
Add a tag to a node
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| name | path | string | true | none |
| tag_name | query | string | true | none |
Example responses
201 Response
null
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Successful Response | Inline |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Response Schema
Calculate Node Similarity #
GET /nodes/similarity/{node1_name}/{node2_name}
Compare two nodes by how similar their queries are
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| node1_name | path | string | true | none |
| node2_name | path | string | true | none |
Example responses
200 Response
null
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Response | Inline |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Response Schema
List Downstream Nodes #
GET /nodes/{name}/downstream/
List all nodes that are downstream from the given node, filterable by type.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| name | path | string | true | none |
| node_type | query | NodeType | false | none |
Enumerated Values #
| Parameter | Value |
|---|---|
| node_type | source |
| node_type | transform |
| node_type | metric |
| node_type | dimension |
| node_type | cube |
Example responses
200 Response
[
{
"current": {
"node_revision_id": 0,
"node_id": 0,
"type": "source",
"name": "string",
"display_name": "string",
"version": "string",
"status": "valid",
"mode": "published",
"catalog": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"extra_params": {}
},
"schema_": "string",
"table": "string",
"description": "",
"query": "string",
"availability": {
"catalog": "string",
"schema_": "string",
"table": "string",
"valid_through_ts": 0,
"max_partition": [
"string"
],
"min_partition": [
"string"
],
"id": 0,
"updated_at": "2019-08-24T14:15:22Z"
},
"columns": [
{
"name": "string",
"type": {},
"attributes": [
{
"attribute_type": {
"namespace": "string",
"name": "string"
}
}
],
"dimension": {
"name": "string"
}
}
],
"updated_at": "2019-08-24T14:15:22Z",
"materialization_configs": [
{
"engine": {
"name": "string",
"version": "string",
"uri": "string"
},
"config": "string"
}
],
"parents": [
{
"name": "string"
}
]
},
"created_at": "2019-08-24T14:15:22Z",
"tags": []
}
]
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Response | Inline |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Response Schema
Status Code 200
Response List Downstream Nodes Nodes Name Downstream Get
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| Response List Downstream Nodes Nodes Name Downstream Get | [NodeOutput] | false | none | [Output for a node that shows the current revision.] |
| » NodeOutput | NodeOutput | false | none | Output for a node that shows the current revision. |
| »» current | NodeRevisionOutput | true | none | Output for a node revision with information about columns and if it is a metric. |
| »»» node_revision_id | integer | true | none | none |
| »»» node_id | integer | true | none | none |
| »»» type | NodeType | true | none | Node type. A node can have 4 types, currently: 1. SOURCE nodes are root nodes in the DAG, and point to tables or views in a DB. 2. TRANSFORM nodes are SQL transformations, reading from SOURCE/TRANSFORM nodes. 3. METRIC nodes are leaves in the DAG, and have a single aggregation query. 4. DIMENSION nodes are special SOURCE nodes that can be auto-joined with METRICS. 5. CUBE nodes contain a reference to a set of METRICS and a set of DIMENSIONS. |
| »»» name | string | true | none | none |
| »»» display_name | string | true | none | none |
| »»» version | string | true | none | none |
| »»» status | NodeStatus | true | none | Node status. A node can have one of the following statuses: 1. VALID - All references to other nodes and node columns are valid 2. INVALID - One or more parent nodes are incompatible or do not exist |
| »»» mode | NodeMode | true | none | Node mode. A node can be in one of the following modes: 1. PUBLISHED - Must be valid and not cause any child nodes to be invalid 2. DRAFT - Can be invalid, have invalid parents, and include dangling references |
| »»» catalog | Catalog | false | none | A catalog. |
| »»»» id | integer | false | none | none |
| »»»» uuid | string(uuid) | false | none | none |
| »»»» name | string | true | none | none |
| »»»» created_at | string(date-time) | false | none | none |
| »»»» updated_at | string(date-time) | false | none | none |
| »»»» extra_params | object | false | none | none |
| »»» schema_ | string | false | none | none |
| »»» table | string | false | none | none |
| »»» description | string | false | none | none |
| »»» query | string | false | none | none |
| »»» availability | AvailabilityState | false | none | The availability of materialized data for a node |
| »»»» catalog | string | true | none | none |
| »»»» schema_ | string | false | none | none |
| »»»» table | string | true | none | none |
| »»»» valid_through_ts | integer | true | none | none |
| »»»» max_partition | [string] | true | none | none |
| »»»» min_partition | [string] | true | none | none |
| »»»» id | integer | false | none | none |
| »»»» updated_at | string(date-time) | false | none | none |
| »»» columns | [ColumnOutput] | true | none | [A simplified column schema, without ID or dimensions.] |
| »»»» ColumnOutput | ColumnOutput | false | none | A simplified column schema, without ID or dimensions. |
| »»»»» name | string | true | none | none |
| »»»»» type | ColumnType | true | none | Base type for all Column Types |
| »»»»» attributes | [AttributeOutput] | true | none | [Column attribute output.] |
| »»»»»» AttributeOutput | AttributeOutput | false | none | Column attribute output. |
| »»»»»»» attribute_type | AttributeTypeName | true | none | Attribute type name. |
| »»»»»»»» namespace | string | true | none | none |
| »»»»»»»» name | string | true | none | none |
| »»»»» dimension | NodeNameOutput | false | none | Node name only |
| »»»»»» name | string | true | none | none |
| »»» updated_at | string(date-time) | true | none | none |
| »»» materialization_configs | [MaterializationConfigOutput] | true | none | [Output for materialization config.] |
| »»»» MaterializationConfigOutput | MaterializationConfigOutput | false | none | Output for materialization config. |
| »»»»» engine | EngineInfo | true | none | Class for engine creation |
| »»»»»» name | string | true | none | none |
| »»»»»» version | string | true | none | none |
| »»»»»» uri | string | false | none | none |
| »»»»» config | string | true | none | none |
| »»» parents | [NodeNameOutput] | true | none | [Node name only] |
| »»»» NodeNameOutput | NodeNameOutput | false | none | Node name only |
| »» created_at | string(date-time) | true | none | none |
| »» tags | [Tag] | false | none | [A tag.] |
| »»» Tag | Tag | false | none | A tag. |
| »»»» description | string | true | none | none |
| »»»» tag_metadata | object | false | none | none |
| »»»» name | string | true | none | none |
| »»»» display_name | string | false | none | none |
| »»»» tag_type | string | true | none | none |
| »»»» id | integer | false | none | none |
Enumerated Values #
| Property | Value |
|---|---|
| type | source |
| type | transform |
| type | metric |
| type | dimension |
| type | cube |
| status | valid |
| status | invalid |
| mode | published |
| mode | draft |
Add An Availability State #
POST /data/{node_name}/availability/
Add an availability state to a node
Body parameter
{
"catalog": "string",
"schema_": "string",
"table": "string",
"valid_through_ts": 0,
"max_partition": [
"string"
],
"min_partition": [
"string"
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| node_name | path | string | true | none |
| body | body | AvailabilityStateBase | true | none |
Example responses
200 Response
null
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Response | Inline |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Response Schema
Get Data #
GET /data/{node_name}/
Gets data for a node
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| node_name | path | string | true | none |
| dimensions | query | array[string] | false | none |
| filters | query | array[string] | false | none |
| async_ | query | boolean | false | none |
Example responses
200 Response
null
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Response | Inline |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Response Schema
Health Check #
GET /health/
Healthcheck for services.
Example responses
200 Response
[
{
"name": "string",
"status": "ok"
}
]
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Response | Inline |
Response Schema
Status Code 200
Response Health Check Health Get
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| Response Health Check Health Get | [HealthCheck] | false | none | [A healthcheck response.] |
| » HealthCheck | HealthCheck | false | none | A healthcheck response. |
| »» name | string | true | none | none |
| »» status | HealthcheckStatus | true | none | Possible health statuses. |
Enumerated Values #
| Property | Value |
|---|---|
| status | ok |
| status | failed |
Get A Cube #
GET /cubes/{name}/
Get information on a cube
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| name | path | string | true | none |
Example responses
200 Response
{
"node_revision_id": 0,
"node_id": 0,
"type": "source",
"name": "string",
"display_name": "string",
"version": "string",
"description": "",
"availability": {
"catalog": "string",
"schema_": "string",
"table": "string",
"valid_through_ts": 0,
"max_partition": [
"string"
],
"min_partition": [
"string"
],
"id": 0,
"updated_at": "2019-08-24T14:15:22Z"
},
"cube_elements": [
{
"id": 0,
"current_version": "string",
"name": "string"
}
],
"updated_at": "2019-08-24T14:15:22Z"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Response | CubeRevisionMetadata |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
List Tags #
GET /tags/
List all available tags.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| tag_type | query | string | false | none |
Example responses
200 Response
[
{
"description": "string",
"tag_metadata": {},
"name": "string",
"display_name": "string",
"tag_type": "string"
}
]
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Response | Inline |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Response Schema
Status Code 200
Response List Tags Tags Get
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| Response List Tags Tags Get | [TagOutput] | false | none | [Output tag model.] |
| » TagOutput | TagOutput | false | none | Output tag model. |
| »» description | string | true | none | none |
| »» tag_metadata | object | false | none | none |
| »» name | string | true | none | none |
| »» display_name | string | false | none | none |
| »» tag_type | string | true | none | none |
Create A Tag #
POST /tags/
Create a tag.
Body parameter
{
"description": "string",
"tag_metadata": {},
"name": "string",
"display_name": "string",
"tag_type": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | CreateTag | true | none |
Example responses
201 Response
{
"description": "string",
"tag_metadata": {},
"name": "string",
"display_name": "string",
"tag_type": "string",
"id": 0
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Successful Response | Tag |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Get A Tag #
GET /tags/{name}/
Return a tag by name.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| name | path | string | true | none |
Example responses
200 Response
{
"description": "string",
"tag_metadata": {},
"name": "string",
"display_name": "string",
"tag_type": "string",
"id": 0
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Response | Tag |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Update A Tag #
PATCH /tags/{name}/
Update a tag.
Body parameter
{
"description": "string",
"tag_metadata": {}
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| name | path | string | true | none |
| body | body | UpdateTag | true | none |
Example responses
200 Response
{
"description": "string",
"tag_metadata": {},
"name": "string",
"display_name": "string",
"tag_type": "string",
"id": 0
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Response | Tag |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
List Nodes For A Tag #
GET /tags/{name}/nodes/
Find nodes tagged with the tag, filterable by node type.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| name | path | string | true | none |
| node_type | query | NodeType | false | none |
Enumerated Values #
| Parameter | Value |
|---|---|
| node_type | source |
| node_type | transform |
| node_type | metric |
| node_type | dimension |
| node_type | cube |
Example responses
200 Response
[
"string"
]
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Response | Inline |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Response Schema
Status Code 200
Response List Nodes For A Tag Tags Name Nodes Get
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| Response List Nodes For A Tag Tags Name Nodes Get | [string] | false | none | none |
List Attributes #
GET /attributes/
List all available attribute types.
Example responses
200 Response
[
{
"uniqueness_scope": [],
"namespace": "string",
"name": "string",
"description": "string",
"allowed_node_types": [
"source"
],
"id": 0
}
]
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Response | Inline |
Response Schema
Status Code 200
Response List Attributes Attributes Get
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| Response List Attributes Attributes Get | [AttributeType] | false | none | [Available attribute types for column metadata.] |
| » AttributeType | AttributeType | false | none | Available attribute types for column metadata. |
| »» uniqueness_scope | [UniquenessScope] | false | none | [The scope at which this attribute needs to be unique.] |
| »»» UniquenessScope | UniquenessScope | false | none | The scope at which this attribute needs to be unique. |
| »» namespace | string | true | none | none |
| »» name | string | true | none | none |
| »» description | string | true | none | none |
| »» allowed_node_types | [NodeType] | true | none | [Node type. A node can have 4 types, currently: 1. SOURCE nodes are root nodes in the DAG, and point to tables or views in a DB. 2. TRANSFORM nodes are SQL transformations, reading from SOURCE/TRANSFORM nodes. 3. METRIC nodes are leaves in the DAG, and have a single aggregation query. 4. DIMENSION nodes are special SOURCE nodes that can be auto-joined with METRICS. 5. CUBE nodes contain a reference to a set of METRICS and a set of DIMENSIONS.] |
| »»» NodeType | NodeType | false | none | Node type. A node can have 4 types, currently: 1. SOURCE nodes are root nodes in the DAG, and point to tables or views in a DB. 2. TRANSFORM nodes are SQL transformations, reading from SOURCE/TRANSFORM nodes. 3. METRIC nodes are leaves in the DAG, and have a single aggregation query. 4. DIMENSION nodes are special SOURCE nodes that can be auto-joined with METRICS. 5. CUBE nodes contain a reference to a set of METRICS and a set of DIMENSIONS. |
| »» id | integer | false | none | none |
Enumerated Values #
| Property | Value |
|---|---|
| UniquenessScope | node |
| UniquenessScope | column_type |
| NodeType | source |
| NodeType | transform |
| NodeType | metric |
| NodeType | dimension |
| NodeType | cube |
Add An Attribute Type #
POST /attributes/
Add a new attribute type
Body parameter
{
"namespace": "string",
"name": "string",
"description": "string",
"allowed_node_types": [
"source"
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | MutableAttributeTypeFields | true | none |
Example responses
201 Response
{
"uniqueness_scope": [],
"namespace": "string",
"name": "string",
"description": "string",
"allowed_node_types": [
"source"
],
"id": 0
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Successful Response | AttributeType |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Get Sql #
GET /sql/{node_name}/
Return SQL for a node.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| node_name | path | string | true | none |
| dimensions | query | array[string] | false | none |
| filters | query | array[string] | false | none |
Example responses
200 Response
{
"sql": "string",
"columns": [
{
"name": "string",
"type": "string"
}
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Response | TranslatedSQL |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Schemas #
AttributeOutput
{
"attribute_type": {
"namespace": "string",
"name": "string"
}
}
AttributeOutput
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| attribute_type | AttributeTypeName | true | none | Attribute type name. |
AttributeType
{
"uniqueness_scope": [],
"namespace": "string",
"name": "string",
"description": "string",
"allowed_node_types": [
"source"
],
"id": 0
}
AttributeType
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| uniqueness_scope | [UniquenessScope] | false | none | [The scope at which this attribute needs to be unique.] |
| namespace | string | true | none | none |
| name | string | true | none | none |
| description | string | true | none | none |
| allowed_node_types | [NodeType] | true | none | [Node type. A node can have 4 types, currently: 1. SOURCE nodes are root nodes in the DAG, and point to tables or views in a DB. 2. TRANSFORM nodes are SQL transformations, reading from SOURCE/TRANSFORM nodes. 3. METRIC nodes are leaves in the DAG, and have a single aggregation query. 4. DIMENSION nodes are special SOURCE nodes that can be auto-joined with METRICS. 5. CUBE nodes contain a reference to a set of METRICS and a set of DIMENSIONS.] |
| id | integer | false | none | none |
AttributeTypeName
{
"namespace": "string",
"name": "string"
}
AttributeTypeName
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| namespace | string | true | none | none |
| name | string | true | none | none |
AvailabilityState
{
"catalog": "string",
"schema_": "string",
"table": "string",
"valid_through_ts": 0,
"max_partition": [
"string"
],
"min_partition": [
"string"
],
"id": 0,
"updated_at": "2019-08-24T14:15:22Z"
}
AvailabilityState
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| catalog | string | true | none | none |
| schema_ | string | false | none | none |
| table | string | true | none | none |
| valid_through_ts | integer | true | none | none |
| max_partition | [string] | true | none | none |
| min_partition | [string] | true | none | none |
| id | integer | false | none | none |
| updated_at | string(date-time) | false | none | none |
AvailabilityStateBase
{
"catalog": "string",
"schema_": "string",
"table": "string",
"valid_through_ts": 0,
"max_partition": [
"string"
],
"min_partition": [
"string"
]
}
AvailabilityStateBase
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| catalog | string | true | none | none |
| schema_ | string | false | none | none |
| table | string | true | none | none |
| valid_through_ts | integer | true | none | none |
| max_partition | [string] | true | none | none |
| min_partition | [string] | true | none | none |
Catalog
{
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"extra_params": {}
}
Catalog
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer | false | none | none |
| uuid | string(uuid) | false | none | none |
| name | string | true | none | none |
| created_at | string(date-time) | false | none | none |
| updated_at | string(date-time) | false | none | none |
| extra_params | object | false | none | none |
CatalogInfo
{
"name": "string",
"engines": []
}
CatalogInfo
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| name | string | true | none | none |
| engines | [EngineInfo] | false | none | [Class for engine creation] |
Column
{
"id": 0,
"name": "string",
"type": {},
"dimension_id": 0,
"dimension_column": "string"
}
Column
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer | false | none | none |
| name | string | true | none | none |
| type | ColumnType | true | none | Base type for all Column Types |
| dimension_id | integer | false | none | none |
| dimension_column | string | false | none | none |
ColumnAttributeInput
{
"attribute_type_namespace": "system",
"attribute_type_name": "string",
"column_name": "string"
}
ColumnAttributeInput
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| attribute_type_namespace | string | false | none | none |
| attribute_type_name | string | true | none | none |
| column_name | string | true | none | none |
ColumnMetadata
{
"name": "string",
"type": "string"
}
ColumnMetadata
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| name | string | true | none | none |
| type | string | true | none | none |
ColumnOutput
{
"name": "string",
"type": {},
"attributes": [
{
"attribute_type": {
"namespace": "string",
"name": "string"
}
}
],
"dimension": {
"name": "string"
}
}
ColumnOutput
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| name | string | true | none | none |
| type | ColumnType | true | none | Base type for all Column Types |
| attributes | [AttributeOutput] | true | none | [Column attribute output.] |
| dimension | NodeNameOutput | false | none | Node name only |
ColumnType
{}
ColumnType
Properties #
None
CreateCubeNode
{
"display_name": "string",
"cube_elements": [
"string"
],
"description": "string",
"mode": "published",
"name": "string"
}
CreateCubeNode
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| display_name | string | false | none | none |
| cube_elements | [string] | true | none | none |
| description | string | true | none | none |
| mode | NodeMode | true | none | Node mode. A node can be in one of the following modes: 1. PUBLISHED - Must be valid and not cause any child nodes to be invalid 2. DRAFT - Can be invalid, have invalid parents, and include dangling references |
| name | string | true | none | none |
CreateNode
{
"query": "string",
"display_name": "string",
"description": "string",
"mode": "published",
"name": "string"
}
CreateNode
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| query | string | true | none | none |
| display_name | string | false | none | none |
| description | string | true | none | none |
| mode | NodeMode | true | none | Node mode. A node can be in one of the following modes: 1. PUBLISHED - Must be valid and not cause any child nodes to be invalid 2. DRAFT - Can be invalid, have invalid parents, and include dangling references |
| name | string | true | none | none |
CreateSourceNode
{
"catalog": "string",
"schema_": "string",
"table": "string",
"columns": {
"property1": {
"type": {},
"dimension": "string"
},
"property2": {
"type": {},
"dimension": "string"
}
},
"display_name": "string",
"description": "string",
"mode": "published",
"name": "string"
}
CreateSourceNode
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| catalog | string | true | none | none |
| schema_ | string | true | none | none |
| table | string | true | none | none |
| columns | object | false | none | none |
| » additionalProperties | SourceNodeColumnType | false | none | Schema of a column for a table defined in a source node |
| display_name | string | false | none | none |
| description | string | true | none | none |
| mode | NodeMode | true | none | Node mode. A node can be in one of the following modes: 1. PUBLISHED - Must be valid and not cause any child nodes to be invalid 2. DRAFT - Can be invalid, have invalid parents, and include dangling references |
| name | string | true | none | none |
CreateTag
{
"description": "string",
"tag_metadata": {},
"name": "string",
"display_name": "string",
"tag_type": "string"
}
CreateTag
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| description | string | true | none | none |
| tag_metadata | object | false | none | none |
| name | string | true | none | none |
| display_name | string | false | none | none |
| tag_type | string | true | none | none |
CubeElementMetadata
{
"id": 0,
"current_version": "string",
"name": "string"
}
CubeElementMetadata
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer | true | none | none |
| current_version | string | true | none | none |
| name | string | true | none | none |
CubeRevisionMetadata
{
"node_revision_id": 0,
"node_id": 0,
"type": "source",
"name": "string",
"display_name": "string",
"version": "string",
"description": "",
"availability": {
"catalog": "string",
"schema_": "string",
"table": "string",
"valid_through_ts": 0,
"max_partition": [
"string"
],
"min_partition": [
"string"
],
"id": 0,
"updated_at": "2019-08-24T14:15:22Z"
},
"cube_elements": [
{
"id": 0,
"current_version": "string",
"name": "string"
}
],
"updated_at": "2019-08-24T14:15:22Z"
}
CubeRevisionMetadata
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| node_revision_id | integer | true | none | none |
| node_id | integer | true | none | none |
| type | NodeType | true | none | Node type. A node can have 4 types, currently: 1. SOURCE nodes are root nodes in the DAG, and point to tables or views in a DB. 2. TRANSFORM nodes are SQL transformations, reading from SOURCE/TRANSFORM nodes. 3. METRIC nodes are leaves in the DAG, and have a single aggregation query. 4. DIMENSION nodes are special SOURCE nodes that can be auto-joined with METRICS. 5. CUBE nodes contain a reference to a set of METRICS and a set of DIMENSIONS. |
| name | string | true | none | none |
| display_name | string | true | none | none |
| version | string | true | none | none |
| description | string | false | none | none |
| availability | AvailabilityState | false | none | The availability of materialized data for a node |
| cube_elements | [CubeElementMetadata] | true | none | [Metadata for an element in a cube] |
| updated_at | string(date-time) | true | none | none |
EngineInfo
{
"name": "string",
"version": "string",
"uri": "string"
}
EngineInfo
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| name | string | true | none | none |
| version | string | true | none | none |
| uri | string | false | none | none |
HTTPValidationError
{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}
HTTPValidationError
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| detail | [ValidationError] | false | none | none |
HealthCheck
{
"name": "string",
"status": "ok"
}
HealthCheck
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| name | string | true | none | none |
| status | HealthcheckStatus | true | none | Possible health statuses. |
HealthcheckStatus
"ok"
HealthcheckStatus
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| HealthcheckStatus | string | false | none | Possible health statuses. |
Enumerated Values #
| Property | Value |
|---|---|
| HealthcheckStatus | ok |
| HealthcheckStatus | failed |
MaterializationConfigOutput
{
"engine": {
"name": "string",
"version": "string",
"uri": "string"
},
"config": "string"
}
MaterializationConfigOutput
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| engine | EngineInfo | true | none | Class for engine creation |
| config | string | true | none | none |
Metric
{
"id": 0,
"name": "string",
"display_name": "string",
"current_version": "string",
"description": "",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"query": "string",
"dimensions": [
"string"
]
}
Metric
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer | true | none | none |
| name | string | true | none | none |
| display_name | string | true | none | none |
| current_version | string | true | none | none |
| description | string | false | none | none |
| created_at | string(date-time) | true | none | none |
| updated_at | string(date-time) | true | none | none |
| query | string | true | none | none |
| dimensions | [string] | true | none | none |
MutableAttributeTypeFields
{
"namespace": "string",
"name": "string",
"description": "string",
"allowed_node_types": [
"source"
]
}
MutableAttributeTypeFields
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| namespace | string | true | none | none |
| name | string | true | none | none |
| description | string | true | none | none |
| allowed_node_types | [NodeType] | true | none | [Node type. A node can have 4 types, currently: 1. SOURCE nodes are root nodes in the DAG, and point to tables or views in a DB. 2. TRANSFORM nodes are SQL transformations, reading from SOURCE/TRANSFORM nodes. 3. METRIC nodes are leaves in the DAG, and have a single aggregation query. 4. DIMENSION nodes are special SOURCE nodes that can be auto-joined with METRICS. 5. CUBE nodes contain a reference to a set of METRICS and a set of DIMENSIONS.] |
NodeMode
"published"
NodeMode
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| NodeMode | string | false | none | Node mode. A node can be in one of the following modes: 1. PUBLISHED - Must be valid and not cause any child nodes to be invalid 2. DRAFT - Can be invalid, have invalid parents, and include dangling references |
Enumerated Values #
| Property | Value |
|---|---|
| NodeMode | published |
| NodeMode | draft |
NodeNameOutput
{
"name": "string"
}
NodeNameOutput
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| name | string | true | none | none |
NodeOutput
{
"current": {
"node_revision_id": 0,
"node_id": 0,
"type": "source",
"name": "string",
"display_name": "string",
"version": "string",
"status": "valid",
"mode": "published",
"catalog": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"extra_params": {}
},
"schema_": "string",
"table": "string",
"description": "",
"query": "string",
"availability": {
"catalog": "string",
"schema_": "string",
"table": "string",
"valid_through_ts": 0,
"max_partition": [
"string"
],
"min_partition": [
"string"
],
"id": 0,
"updated_at": "2019-08-24T14:15:22Z"
},
"columns": [
{
"name": "string",
"type": {},
"attributes": [
{
"attribute_type": {
"namespace": "string",
"name": "string"
}
}
],
"dimension": {
"name": "string"
}
}
],
"updated_at": "2019-08-24T14:15:22Z",
"materialization_configs": [
{
"engine": {
"name": "string",
"version": "string",
"uri": "string"
},
"config": "string"
}
],
"parents": [
{
"name": "string"
}
]
},
"created_at": "2019-08-24T14:15:22Z",
"tags": []
}
NodeOutput
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| current | NodeRevisionOutput | true | none | Output for a node revision with information about columns and if it is a metric. |
| created_at | string(date-time) | true | none | none |
| tags | [Tag] | false | none | [A tag.] |
NodeRevision
{
"name": "string",
"display_name": "string",
"type": "source",
"description": "",
"query": "string",
"mode": "published",
"id": 0,
"version": "v0.1",
"node_id": 0,
"catalog_id": 0,
"schema_": "string",
"table": "string",
"status": "invalid",
"updated_at": "2019-08-24T14:15:22Z"
}
NodeRevision
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| name | string | true | none | none |
| display_name | string | false | none | none |
| type | NodeType | true | none | Node type. A node can have 4 types, currently: 1. SOURCE nodes are root nodes in the DAG, and point to tables or views in a DB. 2. TRANSFORM nodes are SQL transformations, reading from SOURCE/TRANSFORM nodes. 3. METRIC nodes are leaves in the DAG, and have a single aggregation query. 4. DIMENSION nodes are special SOURCE nodes that can be auto-joined with METRICS. 5. CUBE nodes contain a reference to a set of METRICS and a set of DIMENSIONS. |
| description | string | false | none | none |
| query | string | false | none | none |
| mode | NodeMode | false | none | Node mode. A node can be in one of the following modes: 1. PUBLISHED - Must be valid and not cause any child nodes to be invalid 2. DRAFT - Can be invalid, have invalid parents, and include dangling references |
| id | integer | false | none | none |
| version | string | false | none | none |
| node_id | integer | false | none | none |
| catalog_id | integer | false | none | none |
| schema_ | string | false | none | none |
| table | string | false | none | none |
| status | NodeStatus | false | none | Node status. A node can have one of the following statuses: 1. VALID - All references to other nodes and node columns are valid 2. INVALID - One or more parent nodes are incompatible or do not exist |
| updated_at | string(date-time) | false | none | none |
NodeRevisionBase
{
"name": "string",
"display_name": "string",
"type": "source",
"description": "",
"query": "string",
"mode": "published"
}
NodeRevisionBase
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| name | string | true | none | none |
| display_name | string | false | none | none |
| type | NodeType | true | none | Node type. A node can have 4 types, currently: 1. SOURCE nodes are root nodes in the DAG, and point to tables or views in a DB. 2. TRANSFORM nodes are SQL transformations, reading from SOURCE/TRANSFORM nodes. 3. METRIC nodes are leaves in the DAG, and have a single aggregation query. 4. DIMENSION nodes are special SOURCE nodes that can be auto-joined with METRICS. 5. CUBE nodes contain a reference to a set of METRICS and a set of DIMENSIONS. |
| description | string | false | none | none |
| query | string | false | none | none |
| mode | NodeMode | false | none | Node mode. A node can be in one of the following modes: 1. PUBLISHED - Must be valid and not cause any child nodes to be invalid 2. DRAFT - Can be invalid, have invalid parents, and include dangling references |
NodeRevisionOutput
{
"node_revision_id": 0,
"node_id": 0,
"type": "source",
"name": "string",
"display_name": "string",
"version": "string",
"status": "valid",
"mode": "published",
"catalog": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"extra_params": {}
},
"schema_": "string",
"table": "string",
"description": "",
"query": "string",
"availability": {
"catalog": "string",
"schema_": "string",
"table": "string",
"valid_through_ts": 0,
"max_partition": [
"string"
],
"min_partition": [
"string"
],
"id": 0,
"updated_at": "2019-08-24T14:15:22Z"
},
"columns": [
{
"name": "string",
"type": {},
"attributes": [
{
"attribute_type": {
"namespace": "string",
"name": "string"
}
}
],
"dimension": {
"name": "string"
}
}
],
"updated_at": "2019-08-24T14:15:22Z",
"materialization_configs": [
{
"engine": {
"name": "string",
"version": "string",
"uri": "string"
},
"config": "string"
}
],
"parents": [
{
"name": "string"
}
]
}
NodeRevisionOutput
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| node_revision_id | integer | true | none | none |
| node_id | integer | true | none | none |
| type | NodeType | true | none | Node type. A node can have 4 types, currently: 1. SOURCE nodes are root nodes in the DAG, and point to tables or views in a DB. 2. TRANSFORM nodes are SQL transformations, reading from SOURCE/TRANSFORM nodes. 3. METRIC nodes are leaves in the DAG, and have a single aggregation query. 4. DIMENSION nodes are special SOURCE nodes that can be auto-joined with METRICS. 5. CUBE nodes contain a reference to a set of METRICS and a set of DIMENSIONS. |
| name | string | true | none | none |
| display_name | string | true | none | none |
| version | string | true | none | none |
| status | NodeStatus | true | none | Node status. A node can have one of the following statuses: 1. VALID - All references to other nodes and node columns are valid 2. INVALID - One or more parent nodes are incompatible or do not exist |
| mode | NodeMode | true | none | Node mode. A node can be in one of the following modes: 1. PUBLISHED - Must be valid and not cause any child nodes to be invalid 2. DRAFT - Can be invalid, have invalid parents, and include dangling references |
| catalog | Catalog | false | none | A catalog. |
| schema_ | string | false | none | none |
| table | string | false | none | none |
| description | string | false | none | none |
| query | string | false | none | none |
| availability | AvailabilityState | false | none | The availability of materialized data for a node |
| columns | [ColumnOutput] | true | none | [A simplified column schema, without ID or dimensions.] |
| updated_at | string(date-time) | true | none | none |
| materialization_configs | [MaterializationConfigOutput] | true | none | [Output for materialization config.] |
| parents | [NodeNameOutput] | true | none | [Node name only] |
NodeStatus
"valid"
NodeStatus
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| NodeStatus | string | false | none | Node status. A node can have one of the following statuses: 1. VALID - All references to other nodes and node columns are valid 2. INVALID - One or more parent nodes are incompatible or do not exist |
Enumerated Values #
| Property | Value |
|---|---|
| NodeStatus | valid |
| NodeStatus | invalid |
NodeType
"source"
NodeType
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| NodeType | string | false | none | Node type. A node can have 4 types, currently: 1. SOURCE nodes are root nodes in the DAG, and point to tables or views in a DB. 2. TRANSFORM nodes are SQL transformations, reading from SOURCE/TRANSFORM nodes. 3. METRIC nodes are leaves in the DAG, and have a single aggregation query. 4. DIMENSION nodes are special SOURCE nodes that can be auto-joined with METRICS. 5. CUBE nodes contain a reference to a set of METRICS and a set of DIMENSIONS. |
Enumerated Values #
| Property | Value |
|---|---|
| NodeType | source |
| NodeType | transform |
| NodeType | metric |
| NodeType | dimension |
| NodeType | cube |
NodeValidation
{
"message": "string",
"status": "valid",
"node_revision": {
"name": "string",
"display_name": "string",
"type": "source",
"description": "",
"query": "string",
"mode": "published",
"id": 0,
"version": "v0.1",
"node_id": 0,
"catalog_id": 0,
"schema_": "string",
"table": "string",
"status": "invalid",
"updated_at": "2019-08-24T14:15:22Z"
},
"dependencies": [
{
"node_revision_id": 0,
"node_id": 0,
"type": "source",
"name": "string",
"display_name": "string",
"version": "string",
"status": "valid",
"mode": "published",
"catalog": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"name": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"extra_params": {}
},
"schema_": "string",
"table": "string",
"description": "",
"query": "string",
"availability": {
"catalog": "string",
"schema_": "string",
"table": "string",
"valid_through_ts": 0,
"max_partition": [
"string"
],
"min_partition": [
"string"
],
"id": 0,
"updated_at": "2019-08-24T14:15:22Z"
},
"columns": [
{
"name": "string",
"type": {},
"attributes": [
{
"attribute_type": {
"namespace": "string",
"name": "string"
}
}
],
"dimension": {
"name": "string"
}
}
],
"updated_at": "2019-08-24T14:15:22Z",
"materialization_configs": [
{
"engine": {
"name": "string",
"version": "string",
"uri": "string"
},
"config": "string"
}
],
"parents": [
{
"name": "string"
}
]
}
],
"columns": [
{
"id": 0,
"name": "string",
"type": {},
"dimension_id": 0,
"dimension_column": "string"
}
]
}
NodeValidation
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| message | string | true | none | none |
| status | NodeStatus | true | none | Node status. A node can have one of the following statuses: 1. VALID - All references to other nodes and node columns are valid 2. INVALID - One or more parent nodes are incompatible or do not exist |
| node_revision | NodeRevision | true | none | A node revision. |
| dependencies | [NodeRevisionOutput] | true | none | [Output for a node revision with information about columns and if it is a metric.] |
| columns | [Column] | true | none | [A column. Columns can be physical (associated with Table objects) or abstract (associatedwith Node objects).] |
SourceNodeColumnType
{
"type": {},
"dimension": "string"
}
SourceNodeColumnType
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| type | ColumnType | true | none | Base type for all Column Types |
| dimension | string | false | none | none |
Tag
{
"description": "string",
"tag_metadata": {},
"name": "string",
"display_name": "string",
"tag_type": "string",
"id": 0
}
Tag
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| description | string | true | none | none |
| tag_metadata | object | false | none | none |
| name | string | true | none | none |
| display_name | string | false | none | none |
| tag_type | string | true | none | none |
| id | integer | false | none | none |
TagOutput
{
"description": "string",
"tag_metadata": {},
"name": "string",
"display_name": "string",
"tag_type": "string"
}
TagOutput
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| description | string | true | none | none |
| tag_metadata | object | false | none | none |
| name | string | true | none | none |
| display_name | string | false | none | none |
| tag_type | string | true | none | none |
TranslatedSQL
{
"sql": "string",
"columns": [
{
"name": "string",
"type": "string"
}
]
}
TranslatedSQL
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| sql | string | true | none | none |
| columns | [ColumnMetadata] | false | none | [A simple model for column metadata.] |
UniquenessScope
"node"
UniquenessScope
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| UniquenessScope | string | false | none | The scope at which this attribute needs to be unique. |
Enumerated Values #
| Property | Value |
|---|---|
| UniquenessScope | node |
| UniquenessScope | column_type |
UpdateNode
{
"catalog": "string",
"schema_": "string",
"table": "string",
"columns": {
"property1": {
"type": {},
"dimension": "string"
},
"property2": {
"type": {},
"dimension": "string"
}
},
"display_name": "string",
"description": "string",
"mode": "published",
"query": "string"
}
UpdateNode
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| catalog | string | false | none | none |
| schema_ | string | false | none | none |
| table | string | false | none | none |
| columns | object | false | none | none |
| » additionalProperties | SourceNodeColumnType | false | none | Schema of a column for a table defined in a source node |
| display_name | string | false | none | none |
| description | string | false | none | none |
| mode | NodeMode | false | none | Node mode. A node can be in one of the following modes: 1. PUBLISHED - Must be valid and not cause any child nodes to be invalid 2. DRAFT - Can be invalid, have invalid parents, and include dangling references |
| query | string | false | none | none |
UpdateTag
{
"description": "string",
"tag_metadata": {}
}
UpdateTag
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| description | string | false | none | none |
| tag_metadata | object | false | none | none |
UpsertMaterializationConfig
{
"engine_name": "string",
"engine_version": "string",
"config": "string"
}
UpsertMaterializationConfig
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| engine_name | string | true | none | none |
| engine_version | string | true | none | none |
| config | string | true | none | none |
ValidationError
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
ValidationError
Properties #
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| loc | [string] | true | none | none |
| msg | string | true | none | none |
| type | string | true | none | none |