Skip to content
Staircase

Console

The configurable application shell every front end was assembled in.

An application in the Console is a configuration rather than a codebase: components, their properties and their ordering, resolved against a shared component library and packaged into a deployable front end.

The library covers the primitives plus custom components built for this domain. Configuration-driven assembly is what carried several interfaces without several front-end codebases.

How it works

Three systems meet at one identifier. A design file is imported into the cloud provider's own component library, which generates typed components from it; a content system holds the configuration saying which of those components appear, in what order, with what labels, and against which endpoint; and the catalogue holds the record that names the application. All three are keyed on the configuration identifier Marketplace issues, which is what stops the design, the content and the deployment drifting apart.

A list view — the most common shape — is a content record naming a table layout and an endpoint configuration. Building one means duplicating an existing record and editing the labels and the endpoint it reads, so a new screen over an existing API is content work rather than engineering work.

Every interface came out of this shell. A rate calculator, a property-data exchange and a conversational front end are three configurations against one component library, not three codebases.

Operations

Console Dashboard UI

POST /auth/password

Change pass

change-pass

Request
application/json

An example of a payload.

{
  "email": "john.doe@company.com",
  "password": "XXXXX"
}
Response
application/json

OK.

{
  "message": "success"
}
Parameters
1
ParameterTypeExampleDescription
x-api-key required string header <redacted> Key used to identify the API usage plan
Request bodyapplication/json
2 fields
FieldTypeDescription
emailrequiredstringEmail of accountExample john.doe@company.com
passwordrequiredstringPassword of accountExample XXXXX
Response 200application/json
1 fields

OK.

FieldTypeDescription
messagestringMessage
POST /auth/sign-in

Sign In

sign-in

Sign in

Sign In

Request
application/json

An example of a payload.

{
  "email": "john.doe@company.com",
  "password": "XXXXX"
}
Response
application/json

OK.

{
  "message": "success"
}
Parameters
1
ParameterTypeExampleDescription
x-api-key required string header <redacted> Key used to identify the API usage plan
Request bodyapplication/json
2 fields
FieldTypeDescription
emailrequiredstringEmail of accountExample john.doe@company.com
passwordrequiredstringPassword of accountExample XXXXX
Response 200application/json
1 fields

OK.

FieldTypeDescription
messagestringMessage
POST /auth/sign-up

Sign Up

sign-up

Sign up

Sign Up

Request
application/json

An example of a payload.

{
  "email": "john.doe@company.com",
  "password": "XXXXX"
}
Response
application/json

OK.

{
  "message": "success"
}
Parameters
1
ParameterTypeExampleDescription
x-api-key required string header <redacted> Key used to identify the API usage plan
Request bodyapplication/json
2 fields
FieldTypeDescription
emailrequiredstringEmail of accountExample john.doe@company.com
passwordrequiredstringPassword of accountExample XXXXX
Response 200application/json
1 fields

OK.

FieldTypeDescription
messagestringMessage

Users

GET /author

Get Author

get_author

Request author access to a pipeline to be able to:

  • Review and modify Dataset
  • Create Analysis
  • Share Dashboards

To log in to QuickSight:

  • Go to
  • Use the QuickSight Account Name account_name.
  • Use the QuickSight User user_name.
  • Use the QuickSight User Password that was defined while obtaining Author Access.

Please note the Author user is one for all the Staircase environment. It is important to understand that Author will see datasets and analysis from all the pipelines. It is recommended to use Shared folders in Quicksight to see datasets organized by pipeline_name.

Response
application/json

Bad Request

{
  "message": "Bad Request!"
}
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
messagestringError message
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Other responses

200404

Console API

GET /configurations

Get configuration

get_configuration

Get configurations

Response
application/json

Ok.

{
  "collections": [
    {
      "metadata": {
        "serialise_to_graph": true,
        "fuzzy_searchable": false,
        "validation": true,
        "version": 3,
        "created_at": "2023-05-26T02:09:23.253331-04:00"
      },
      "collection_id": "01H1BAT4SNVDE9HYEBZD04MNEH",
      "data": {
        "companies": [
          {
            "@id": "01H1BAT4TZW1HXZ0RZPYK52VFV",
            "@type": "company",
            "company_identifier": "grate-company-id"
          },
          {
            "@id": "01H1BAT4TZ7T9THN4MEZ9E4MMV",
            "@type": "company",
            "company_identifier": "staircase-company-id"
          },
          {
            "@id": "01H1BAT4TZ6FB1ZABFM8MQGFTH",
            "@type": "company",
            "company_identifier": "ice-company-id"
          },
          {
            "@id": "01H1BAT4TZ45T2C6K39CMGQQKB",
            "@type": "company",
            "company_identifier": "ice-company-id"
          },
          {
            "@id": "01H1BAT4TZJ01KM1WEPRZEZHKM",
            "@type": "company"
          }
        ],
        "consoles": [
          {
            "@id": "01H1BAT4TYBW7FJQNSB9KXXB28",
            "@type": "console",
            "console_configuration_type": "listView",
            "datocms_class_name": "TeamVelocity",
            "datocms_identifier": "123456789",
            "has_permission": [
              "01H1BAT4TZNZSWRWX738J7KJ96",
              "01H1BAT4TZCRVFH26GS24DMCQG",
              "01H1BAT4TZAGXKEG5N4Z3STD30",
              "01H1BAT4TZ9XSSYVRC35APTJ51",
              "01H1BAT4TZ1ECXC6FM40W98VVR"
            ],
            "title": "Team Velocity List View"
          }
        ],
        "permissions": [
          {
            "@id": "01H1BAT4TZNZSWRWX738J7KJ96",
            "@type": "permission",
            "company_contact_role_type": "CFO",
            "has_company": "01H1BAT4TZ6FB1ZABFM8MQGFTH"
          },
          {
            "@id": "01H1BAT4TZAGXKEG5N4Z3STD30",
            "@type": "permission",
            "company_contact_role_type": "CFO",
            "has_company": "01H1BAT4TZJ01KM1WEPRZEZHKM"
          },
          {
            "@id": "01H1BAT4TZCRVFH26GS24DMCQG",
            "@type": "permission",
            "has_company": "01H1BAT4TZW1HXZ0RZPYK52VFV"
          },
          {
            "@id": "01H1BAT4TZ1ECXC6FM40W98VVR",
            "@type": "permission",
            "has_company": "01H1BAT4TZ7T9THN4MEZ9E4MMV"
          },
          {
            "@id": "01H1BAT4TZ9XSSYVRC35APTJ51",
            "@type": "permission",
            "company_contact_role_type": "CEO",
            "has_company": "01H1BAT4TZ45T2C6K39CMGQQKB"
          }
        ],
        "product_configurations": [
          {
            "@type": "product_configuration",
            "product_configuration_identifier": "marketpace-ontology-configuration-id-of-the-screen",
            "@id": "01H1BAT4TZC99WK5CWFMJZ3G9H"
          }
        ]
      },
      "transaction_id": "01H1BAT4G004ZKK5DXF1GB87YV"
    }
  ],
  "next_token": null
}
Parameters
1
ParameterTypeExampleDescription
next_token string query token Next token for listing
Other responses

200

POST /configurations

Create configuration

create_configuration

Request
application/json
{
  "product_configuration_identifier": "marketpace-ontology-configuration-id-of-the-screen",
  "title": "Team Velocity List View",
  "datocms_identifier": "123456789",
  "datocms_class_name": "TeamVelocity",
  "url_suffix": "/team-velocity",
  "configuration_type": "listView",
  "permissions": [
    {
      "has_company": "staircase-company-id"
    },
    {
      "has_company": "ice-company-id",
      "company_contact_role_type": "CEO"
    },
    {
      "has_company": "ice-company-id",
      "company_contact_role_type": "CFO"
    },
    {
      "company_contact_role_type": "CFO"
    },
    {
      "has_company": "grate-company-id"
    }
  ]
}
Response
application/json

Ok.

{
  "message": "created",
  "transaction_id": "01H1KQAXKB77A2PA1QSS1YEDQD",
  "collection_id": "01H1KQAXXWA6CR4ZSJPSHCGDGB"
}
Response 400application/json
1 fields

Request data invalid

FieldTypeDescription
messagestringError message
Other responses

200

GET /configurations/{configuration_id}

Get configuration

get_configurations

Response
application/json

Ok.

{
  "collections": [
    {
      "metadata": {
        "serialise_to_graph": true,
        "fuzzy_searchable": false,
        "validation": true,
        "version": 3,
        "created_at": "2023-05-26T02:09:23.253331-04:00"
      },
      "collection_id": "01H1BAT4SNVDE9HYEBZD04MNEH",
      "data": {
        "companies": [
          {
            "@id": "01H1BAT4TZW1HXZ0RZPYK52VFV",
            "@type": "company",
            "company_identifier": "grate-company-id"
          },
          {
            "@id": "01H1BAT4TZ7T9THN4MEZ9E4MMV",
            "@type": "company",
            "company_identifier": "staircase-company-id"
          },
          {
            "@id": "01H1BAT4TZ6FB1ZABFM8MQGFTH",
            "@type": "company",
            "company_identifier": "ice-company-id"
          },
          {
            "@id": "01H1BAT4TZ45T2C6K39CMGQQKB",
            "@type": "company",
            "company_identifier": "ice-company-id"
          },
          {
            "@id": "01H1BAT4TZJ01KM1WEPRZEZHKM",
            "@type": "company"
          }
        ],
        "consoles": [
          {
            "@id": "01H1BAT4TYBW7FJQNSB9KXXB28",
            "@type": "console",
            "console_configuration_type": "listView",
            "datocms_class_name": "TeamVelocity",
            "datocms_identifier": "123456789",
            "has_permission": [
              "01H1BAT4TZNZSWRWX738J7KJ96",
              "01H1BAT4TZCRVFH26GS24DMCQG",
              "01H1BAT4TZAGXKEG5N4Z3STD30",
              "01H1BAT4TZ9XSSYVRC35APTJ51",
              "01H1BAT4TZ1ECXC6FM40W98VVR"
            ],
            "title": "Team Velocity List View"
          }
        ],
        "permissions": [
          {
            "@id": "01H1BAT4TZNZSWRWX738J7KJ96",
            "@type": "permission",
            "company_contact_role_type": "CFO",
            "has_company": "01H1BAT4TZ6FB1ZABFM8MQGFTH"
          },
          {
            "@id": "01H1BAT4TZAGXKEG5N4Z3STD30",
            "@type": "permission",
            "company_contact_role_type": "CFO",
            "has_company": "01H1BAT4TZJ01KM1WEPRZEZHKM"
          },
          {
            "@id": "01H1BAT4TZCRVFH26GS24DMCQG",
            "@type": "permission",
            "has_company": "01H1BAT4TZW1HXZ0RZPYK52VFV"
          },
          {
            "@id": "01H1BAT4TZ1ECXC6FM40W98VVR",
            "@type": "permission",
            "has_company": "01H1BAT4TZ7T9THN4MEZ9E4MMV"
          },
          {
            "@id": "01H1BAT4TZ9XSSYVRC35APTJ51",
            "@type": "permission",
            "company_contact_role_type": "CEO",
            "has_company": "01H1BAT4TZ45T2C6K39CMGQQKB"
          }
        ],
        "product_configurations": [
          {
            "@type": "product_configuration",
            "product_configuration_identifier": "marketpace-ontology-configuration-id-of-the-screen",
            "@id": "01H1BAT4TZC99WK5CWFMJZ3G9H"
          }
        ]
      },
      "transaction_id": "01H1BAT4G004ZKK5DXF1GB87YV"
    }
  ],
  "next_token": null
}
Parameters
1
ParameterTypeExampleDescription
configuration_id required string path product_configuration_identifier querying by $.product_configurations[*].product_configuration_identifier
Other responses

200

Dashboard

PUT /dashboard/dashboards/costs-and-revenue

Update Costs/Revenue Dashboard

updateCostsRevenueDashboard

Starts the update of the GTL costs/revenue dashboard with metrics from Health and costs from AWS Cost Explorer.

Response 202application/json
1 fields

Update is started.

FieldTypeDescription
messagestringMessage about update is started.
Response 403application/json
1 fields

Missing API key

FieldTypeDescription
messagestringMessage
Response 422application/json
1 fields

Unprocessable entity

FieldTypeDescription
messagestringMessage

Dashboards

GET /dashboards

Get Dashboards

get_all_dashboards

Get embedded link for all dashboards. Going to return all the links to all the dashboards.

Response includes:

  • id - Dashboard ID
  • name - Dashboard name
  • embedded_url - Embedded URL. Links are QuickSight native with a temporary authentication token. So they can not be used for permanent share.
  • public_url - Public URL. This is a permanent link that can be used to share Dashboard outside the Staircase.

It is good idea to use embedded_link inside a web page or web application that have authentication.

Important, public_url can be used without API_KEY. Please do not share it if Dashboard has sensitive data.

Response
application/json

Bad Request

{
  "message": "Bad Request!"
}
Response 200application/json
4 fields

Success

FieldTypeDescription
idrequiredstringDashboard ID
namerequiredstringDashboard name
embedded_urlrequiredstringEmbedded URL
public_urlrequiredstringPublic URL
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
messagestringError message
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Other responses

404

GET /dashboards/{dashboard_id}/public-url

Get Public Url

get_gashboard_public_url

Get Public URL

Get dashboard public URL. It is required to specify:

  • dashboard_id - Dashboard ID from the Get Dashboards

As it can be invoked without API_KEY only, it can NOT be used to share sensitive data.

For now, this is the only endpoint that can be used for permanent share.

Response
application/json

Bad Request

{
  "message": "Bad Request!"
}
Parameters
1
ParameterTypeExampleDescription
dashboard_id required string path dashboard_id Dashboard ID
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
messagestringError message
Other responses

307404

Datalakes

PUT /datalakes

Create or Update

create_datalake

Create or Update Datalake

Request
application/json
{
  "name": "pipe01",
  "verbose_name": "Pipeline 01",
  "dataset": {
    "columns": [
      {
        "Name": "IMPORT_COMPLETED",
        "Type": "int"
      },
      {
        "Name": "ONBOARDING_STARTED",
        "Type": "int"
      },
      {
        "Name": "CLASSIFICATION_STARTED",
        "Type": "int"
      },
      {
        "Name": "CLASSIFICATION_COMPLETED",
        "Type": "int"
      },
      {
        "Name": "EXTRACTION_COMPLETED",
        "Type": "int"
      },
      {
        "Name": "ONBOARDING_COMPLETED",
        "Type": "int"
      },
      {
        "Name": "EXPORT_COMPLETED",
        "Type": "int"
      },
      {
        "Name": "DELIVER_COMPLETED",
        "Type": "int"
      },
      {
        "Name": "date",
        "Type": "timestamp"
      }
    ]
  }
}
Response
application/json

Invalid key for service

{
  "message": "Please check the key you used to call this service",
  "url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
Request bodyapplication/json
7 fields
FieldTypeDescription
namestringPipeline Name
verbose_namestringPipeline Verbose Name
descriptionstringPipeline Description
jobobjectPipeline Job
definitionrequiredobjectJob Definition
StartAtrequiredstringThe first state
StatesrequiredobjectJob States
STATE_NAMEobjectName of the State
trigger_schedule_expressionrequiredstringPipeline Trigger Schedule Expression
triggersarrayTriggers
datasetobjectPipeline Dataset
columnsrequiredarrayColumns
calculated_columnsarrayCalculated Columns
datasetsobjectPipeline Datasets
DATASET_NAMEobjectPipeline Dataset
columnsrequiredarrayColumns
calculated_columnsarrayCalculated Columns
product_namestringStaircase product name
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Other responses

200

GET /datalakes

Get All

get_datalakes

Get All Datalakes

Response
application/json

Bad Request

{
  "message": "Bad Request!"
}
Parameters
1
ParameterTypeExampleDescription
product_name string query Product Name Product Name
Response 200application/json
9 fields

Success

FieldTypeDescription
namestringPipeline Name
statusstringPipeline statusCOMPLETEDFAILEDIN_PROGRESS
operationstringPipeline operationCREATEDELETEREVIEWROLLBACKUPDATEUPDATE_ROLLBACK
product_namestringProduct name
verbose_namestringPipeline Verbose name
job_namestringPipeline Job name
job_trigger_namesstring[]Pipeline Job Trigger name
created_atstringPipeline create date
updated_atstringPipeline Success update date
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
messagestringError message
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Other responses

404

Datalake

GET /datalakes/{name}

Get One

get_datalake

Get pipeline

Retrieve datalake information, such as:

  • status
Response
application/json

Bad Request

{
  "message": "Bad Request!"
}
Parameters
1
ParameterTypeExampleDescription
name required string path pipeline_name Pipeline Name
Response 200application/json
9 fields

Success

FieldTypeDescription
namestringPipeline Name
statusstringPipeline statusCOMPLETEDFAILEDIN_PROGRESS
operationstringPipeline operationCREATEDELETEREVIEWROLLBACKUPDATEUPDATE_ROLLBACK
product_namestringProduct name
verbose_namestringPipeline Verbose name
job_namestringPipeline Job name
job_trigger_namesstring[]Pipeline Job Trigger name
created_atstringPipeline create date
updated_atstringPipeline Success update date
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
messagestringError message
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Other responses

404

DELETE /datalakes/{name}

Delete One

delete_datalake

Delete datalake

Response
application/json

Bad Request

{
  "message": "Bad Request!"
}
Parameters
1
ParameterTypeExampleDescription
name required string path pipeline_name Pipeline Name
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
messagestringError message
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Other responses

200404

GET /datalakes/{name}/config

Get Config

get_datalake_config

Retrieve Datalake configuration.

Response
application/json

Bad Request

{
  "message": "Bad Request!"
}
Parameters
1
ParameterTypeExampleDescription
name required string path pipeline_name Pipeline Name
Response 200application/json
7 fields

Success

FieldTypeDescription
namestringPipeline Name
verbose_namestringPipeline Verbose Name
descriptionstringPipeline Description
jobobjectPipeline Job
definitionrequiredobjectJob Definition
StartAtrequiredstringThe first state
StatesrequiredobjectJob States
STATE_NAMEobjectName of the State
trigger_schedule_expressionrequiredstringPipeline Trigger Schedule Expression
triggersarrayTriggers
datasetobjectPipeline Dataset
columnsrequiredarrayColumns
calculated_columnsarrayCalculated Columns
datasetsobjectPipeline Datasets
DATASET_NAMEobjectPipeline Dataset
columnsrequiredarrayColumns
calculated_columnsarrayCalculated Columns
product_namestringStaircase product name
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
messagestringError message
Other responses

404

Pipelines

PUT /pipelines

Create or Update

create_pipeline

Create or Update Pipeline will enable creation of a new pipeline or update of existing one. To create a new pipeline, you need to provide the below information:

  • name
  • description (Optional)
  • product_name (Optional)
  • job (Optional)
  • dataset (Deprecated)
  • datasets

One of dataset or datasets is Required.

Show the rest

Job

job consist of:

  • definition Definition of a job as it is described in Job documentation. Job Definition
  • trigger_schedule_expression (Deprecated) Trigger schedule expression. Create Trigger
  • triggers Triggers definition, that contains trigger_schedule_expression and request_payload.

trigger_schedule_expression and triggers are optional. Only one of trigger_schedule_expression or triggers can be used.

If job not specified, it is required to use Put Data operation

definition

Job definition as it is described in the Create Job

There are few recommendations to consider:

Save Data

As of now, Job definition should contain a step that saves data to a pipeline

Save data example

 {
 "SaveData": {
 "End": true,
 "Method": "POST",
 "Path": "console-pipeline/pipelines/{pipeline_name}/data",
 "PathParameters": {
 "pipeline_name": "$.outputs.Start.pipeline_name"
 },
 "RequestPayload": "$.outputs.Health.response_payload.metrics",
 "Type": "InvokeProduct"
 }
 }
Get Latest from a pipeline

it is also recommended to start job definition from getting latest data from a pipeline Get Latest data example

 {
 "LatestData": {
 "ExceptNext": "Health",
 "Method": "GET",
 "Next": "Health",
 "Path": "console-pipeline/pipelines/{pipeline_name}/data/latest?sort_column=created_at",
 "PathParameters": {
 "pipeline_name": "$.outputs.Start.pipeline_name"
 },
 "Projection": {
 "created_at": "$jmespath.created_at | date_format(@, '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d')"
 },
 "Type": "InvokeProduct"
 } 
 } 
Use pipeline_name from request_payload

Dashboard Pipeline will Execute Job with request_payload, where pipeline_name equals Dashboard Pipeline name.

To be able to run

 PathParameters:
 pipeline_name: $.request_payload.pipeline_name 
trigger_schedule_expression

A rate expression starts when you create the pipeline, and then runs on its defined schedule. Rate expressions have two required fields. Fields are separated by white space.

Syntax rate(value unit)

Where:

  • value a positive number
  • unit the unit of time.

Different units are required for values of 1, such as minute, and values over 1, such as minutes. Valid values: minute | minutes | hour | hours | day | days

Example of trigger_schedule_expression definition

{
 "trigger_schedule_expression": "rate(1 day)"
}
triggers

Allow to specify one or more executions for the pipeline. Can be used to run pipeline many times with different request_payload.

Consist of:

  • trigger_schedule_expression. For more information please see trigger_schedule_expression documentation
  • request_payload (Optional)

triggers can be used to collection data from different Staircase accounts by specifying host and api_key in the request_payload.

Maximum number of triggers is 100.

Example of triggers definition

{
 "triggers": [
 {
 "trigger_schedule_expression": "rate(1 day)",
 "request_payload": {
 "Host": "documentation.staicaseapi.com",
 "ApiKey": "API_KEY"
 }
 }
 ]
}

Another example a trigger with custom payload, containing some data and some Staircase environment informations.

{
 "triggers": [
 {
 
 "trigger_schedule_expression": "rate(1 day)",
 "request_payload": {
 "my_custom_data": {
 "foo": "bar"
 },
 "Env_A": {
 "my_host": "A.staicaseapi.com",
 "my_api_key": "API_KEY"
 },
 "Env_B": {
 "my_host": "B.staicaseapi.com",
 "my_api_key": "API_KEY"
 }
 }
 }
 ]
 } 

Datasets

Allow to define more than one dataset in a Pipeline. Datasets definition contains Dataset Name and Dataset Configuration in a form of JSON object key and value

Example of a Pipeline that have 2 datasets

{
 "datasets": {
 "sales": {
 "columns": [
 {
 "Name": "start_date",
 "Type": "timestamp"
 },
 {
 "Name": "transaction_id",
 "Type": "string"
 }
 ]
 },
 "communications": {
 "columns": [
 {
 "Name": "sent_date",
 "Type": "timestamp"
 },
 {
 "Name": "transaction_id",
 "Type": "string"
 } 
 ]
 }
 } 
}

Dataset

dataset consist of:

  • columns
  • calculated_columns (Optional)
columns

Is an array of column definitions. Columns from this array will be available in the QuickSight dataset. At least one column is required in columns array.

Column definition consist of:

  • Name
  • Type one of the following types: int, float, string, timestamp The following example creates pipeline with job and dataset. It will run pipeline every 5 mins. Will generate some random data for "metric_number", "metric_status" and "date".
 {
 "name": "pipe1",
 "verbose_name": "Pipe 1",
 "job": {
 "definition": {
 "StartAt": "StartFrom",
 "States": {
 "StartFrom": {
 "Type": "InvokeProduct",
 "Method": "POST",
 "Path": "console-pipeline/generate_data_example",
 "Next":"SaveRandomData"
 },
 "SaveRandomData": {
 "Type": "InvokeProduct",
 "Method": "POST",
 "Path": "console-pipeline/pipelines/{pipeline_name}/data",
 "PathParameters": {
 "pipeline_name": "pipe1"
 },
 "RequestPayload": "$.outputs.StartFrom.response_payload",
 "End": true
 }
 
 }
 },
 "trigger_schedule_expression": "rate(5 minutes)"
 },
 "dataset": {
 "columns": [
 {
 "Name": "metric_number",
 "Type": "int"
 },
 {
 "Name": "metric_status",
 "Type": "string"
 },
 {
 "Name": "date",
 "Type": "timestamp"
 }
 ]
 }
 }
calculated_columns

It is an array of QuickSight Calculated Columns.

Calculated column definition consists of:

  • Name
  • Expression - Calculated Columns expression to calculate a value

Expression transform columns by using one or more of the following:

  • Operators
  • Functions
  • Aggregate functions (you can only add these to an analysis)
  • Fields that contain data
  • Other calculated fields
{
 "calculated_columns": [
 {
 "Name":"status_len",
 "Expression": "strlen({status})"
 },
 {
 "Name":"now",
 "Expression": "now"
 } 
 ]
}
Request
application/json
{
  "name": "pipe1",
  "verbose_name": "Pipe 1",
  "job": {
    "definition": {
      "StartAt": "StartFrom",
      "States": {
        "StartFrom": {
          "Type": "InvokeProduct",
          "Method": "POST",
          "Path": "console-pipeline/generate_data_example",
          "Next": "SaveRandomData"
        },
        "SaveRandomData": {
          "Type": "InvokeProduct",
          "Method": "POST",
          "Path": "console-pipeline/pipelines/{pipeline_name}/data",
          "PathParameters": {
            "pipeline_name": "pipe1"
          },
          "RequestPayload": "$.outputs.StartFrom.response_payload",
          "End": true
        }
      }
    },
    "trigger_schedule_expression": "rate(5 minutes)"
  },
  "dataset": {
    "columns": [
      {
        "Name": "metric_number",
        "Type": "int"
      },
      {
        "Name": "metric_status",
        "Type": "string"
      },
      {
        "Name": "date",
        "Type": "timestamp"
      }
    ]
  }
}
Response
application/json

Invalid key for service

{
  "message": "Please check the key you used to call this service",
  "url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
Request bodyapplication/json
7 fields
FieldTypeDescription
namestringPipeline Name
verbose_namestringPipeline Verbose Name
descriptionstringPipeline Description
jobobjectPipeline Job
definitionrequiredobjectJob Definition
StartAtrequiredstringThe first state
StatesrequiredobjectJob States
STATE_NAMEobjectName of the State
trigger_schedule_expressionrequiredstringPipeline Trigger Schedule Expression
triggersarrayTriggers
datasetobjectPipeline Dataset
columnsrequiredarrayColumns
calculated_columnsarrayCalculated Columns
datasetsobjectPipeline Datasets
DATASET_NAMEobjectPipeline Dataset
columnsrequiredarrayColumns
calculated_columnsarrayCalculated Columns
product_namestringStaircase product name
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Other responses

200

GET /pipelines

Get All

get_pipelines

Get All Pipelines

Response
application/json

Bad Request

{
  "message": "Bad Request!"
}
Parameters
1
ParameterTypeExampleDescription
product_name string query Product Name Product Name
Response 200application/json
9 fields

Success

FieldTypeDescription
namestringPipeline Name
statusstringPipeline statusCOMPLETEDFAILEDIN_PROGRESS
operationstringPipeline operationCREATEDELETEREVIEWROLLBACKUPDATEUPDATE_ROLLBACK
product_namestringProduct name
verbose_namestringPipeline Verbose name
job_namestringPipeline Job name
job_trigger_namesstring[]Pipeline Job Trigger name
created_atstringPipeline create date
updated_atstringPipeline Success update date
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
messagestringError message
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Other responses

404

Pipeline

GET /pipelines/{name}

Get One

get_pipeline

Get pipeline

Retrieve pipeline information, such as:

  • status
  • job_name
  • job_trigger_names
Response
application/json

Bad Request

{
  "message": "Bad Request!"
}
Parameters
1
ParameterTypeExampleDescription
name required string path pipeline_name Pipeline Name
Response 200application/json
9 fields

Success

FieldTypeDescription
namestringPipeline Name
statusstringPipeline statusCOMPLETEDFAILEDIN_PROGRESS
operationstringPipeline operationCREATEDELETEREVIEWROLLBACKUPDATEUPDATE_ROLLBACK
product_namestringProduct name
verbose_namestringPipeline Verbose name
job_namestringPipeline Job name
job_trigger_namesstring[]Pipeline Job Trigger name
created_atstringPipeline create date
updated_atstringPipeline Success update date
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
messagestringError message
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Other responses

404

DELETE /pipelines/{name}

Delete One

delete_pipeline

Delete pipeline

Response
application/json

Bad Request

{
  "message": "Bad Request!"
}
Parameters
1
ParameterTypeExampleDescription
name required string path pipeline_name Pipeline Name
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
messagestringError message
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Other responses

200404

GET /pipelines/{name}/config

Get Config

get_pipeline_config

Retrieve Pipeline configuration.

Can and should be used to be able to Update Pipeline.

Response
application/json

Bad Request

{
  "message": "Bad Request!"
}
Parameters
1
ParameterTypeExampleDescription
name required string path pipeline_name Pipeline Name
Response 200application/json
7 fields

Success

FieldTypeDescription
namestringPipeline Name
verbose_namestringPipeline Verbose Name
descriptionstringPipeline Description
jobobjectPipeline Job
definitionrequiredobjectJob Definition
StartAtrequiredstringThe first state
StatesrequiredobjectJob States
STATE_NAMEobjectName of the State
trigger_schedule_expressionrequiredstringPipeline Trigger Schedule Expression
triggersarrayTriggers
datasetobjectPipeline Dataset
columnsrequiredarrayColumns
calculated_columnsarrayCalculated Columns
datasetsobjectPipeline Datasets
DATASET_NAMEobjectPipeline Dataset
columnsrequiredarrayColumns
calculated_columnsarrayCalculated Columns
product_namestringStaircase product name
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
messagestringError message
Other responses

404

GET /pipelines/{name}/datasets

Get Datasets

get_pipeline_datasets

Retrieve Pipeline datasets

Response
application/json

Bad Request

{
  "message": "Bad Request!"
}
Parameters
1
ParameterTypeExampleDescription
name required string path pipeline_name Pipeline Name
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
messagestringError message
Other responses

200404

Pipeline Dashboards

GET /pipelines/{name}/dashboards

Get Dashboards

get_pipeline_dashboards

Get embedded link for pipeline dashboards. Going to return pipeline the links to all the dashboards.

Response includes:

  • id - Dashboard ID
  • name - Dashboard name
  • embedded_url - Embedded URL. Links are QuickSight native with a temporary authentication token. So they can not be used for permanent share.
  • public_url - Public URL. This is a permanent link that can be used to share Dashboard outside the Staircase.

It is good idea to use embedded_link inside a web page or web application that have authentication.

Important, public_url can be used without API_KEY. Please do not share it if Dashboard has sensitive data.

Response
application/json

Bad Request

{
  "message": "Bad Request!"
}
Parameters
1
ParameterTypeExampleDescription
name required string path pipeline_name Pipeline Name
Response 200application/json
4 fields

Success

FieldTypeDescription
idrequiredstringDashboard ID
namerequiredstringDashboard name
embedded_urlrequiredstringEmbedded URL
public_urlrequiredstringPublic URL
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
messagestringError message
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Other responses

404

Pipeline Data

DELETE /pipelines/{name}/data

Delete Data

delete_data

Delete Data from the Pipeline. After this operation Count Data should return zero.

Response
application/json

Bad Request

{
  "message": "Bad Request!"
}
Parameters
1
ParameterTypeExampleDescription
name required string path pipeline_name Pipeline Name
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
messagestringError message
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Other responses

200404

POST /pipelines/{name}/data

Put Data

put_data

Put data

Put data will take an array of objects and push them into the pipeline. This endpoint is an alias of Pipeline Datasets Data / Put Data where dataset_name is main. Put Data endpoint does NOT override data. Instead, it is going to append data in the request payload with the data present in the pipeline. There is no predefined JSON schema for this operation. Objects that are in the arrays should be:

Show the rest
  • Plain objects
  • Should correspond to dataset columns definition of the Pipeline

Only data that is defined in the dataset columns will be saved in the pipeline.

Known limits are:

  • Put data MAX array size 500 elements

Example of data being generated

 curl --location --request POST '' \
 --header 'Content-Type: application/json' \
 --header 'Accept: application/json' \
 --header 'x-api-key: <redacted>' 

Default values for columns

It is possible to specify default values for columns. Can be provider as a key=value in the query parameters For examplem having dataset specified as

 {
 "columns": [
 {
 "Name": "start_date",
 "Type": "timestamp"
 },
 {
 "Name": "stop_date",
 "Type": "timestamp"
 },
 {
 "Name": "transaction_id",
 "Type": "string"
 },
 {
 "Name": "time_spent_seconds",
 "Type": "float"
 },
 {
 "Name": "status",
 "Type": "string"
 },
 {
 "Name": "name",
 "Type": "string"
 },
 {
 "Name": "flow_name",
 "Type": "string"
 }
 ]
 } 

It is possible to set flow_name be $.request_payload.pipeline_name if it is null

 {
 "Method": "POST",
 "End": true,
 "Path": "console-pipeline/pipelines/{pipeline_name}/data?flow_name={flow_name}",
 "PathParameters": {
 "pipeline_name": "$.request_payload.pipeline_name",
 "flow_name": "$.outputs.Start.flow_names[0]"
 },
 "RequestPayload": "$jmespath.outputs.response_payload.results",
 "Type": "InvokeProduct"
 } 

Savings one row

Pipeline Put Data accepts an array of objects. To save one row it is possible to do one of following:

  • Prepare data as an array of one object
  • Use JMESPath Pipe expressions and arrays, for example $jmespath.outputs.Pipelines.response_payload | [@]

Example of SaveData, saving only one row to a Pipeline

 {
 "Save": {
 "Type": "InvokeProduct",
 "Method": "POST",
 "Path": "console-pipeline/pipelines/{pipeline_name}/data",
 "PathParameters": {
 "pipeline_name": "$.request_payload.pipeline_name"
 },
 "RequestPayload": "$jmespath.outputs.Pipelines.response_payload | [@]",
 "End": true
 }
 }

Returns

This operation usually returns:

 {
 "message": "ok"
 }

This means data was accepted by the pipeline, but it does NOT guarantee data will be saved in the Dataset. If data was not saved to Dataset:

  • most probably, there are problems with data format
  • timestamp fields have wrong formats
  • int fields be a string instead on integer

Important note, it may take 10-30 seconds for pipeline to consume and save data.

Request
application/json
[
  {
    "metric_number": 100,
    "metric_status": "SUCCESS",
    "date": "2022-08-15 23:23:23"
  }
]
Response
application/json

Bad Request

{
  "message": "Bad Request!"
}
Parameters
2
ParameterTypeExampleDescription
name required string path pipeline_name Pipeline Name
column_name string query Value Column default value
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
messagestringError message
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Other responses

200404

GET /pipelines/{name}/data/count

Count Data

count_data

Get data count in the pipeline

Response
application/json

Bad Request

{
  "message": "Bad Request!"
}
Parameters
1
ParameterTypeExampleDescription
name required string path pipeline_name Pipeline Name
Response 200application/json
1 fields

Success

FieldTypeDescription
countrequiredintegerCount
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
messagestringError message
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Other responses

404

GET /pipelines/{name}/data/latest

Latest Data

latest_data

Get the latest data object from the pipeline. It is required to specify sort_column to allow data be sorted and latest be returned.

To avoid data duplicates and unnecessary operations, it is a good practice to use The Latest Data endpoint inside a Job before extracting data from a Staircase product. It is a good idea to filter data by date when extracting it from a Staircase product.

Response
application/json

Bad Request

{
  "message": "Bad Request!"
}
Parameters
2
ParameterTypeExampleDescription
sort_column required string query date Sort Column
name required string path pipeline_name Pipeline Name
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
messagestringError message
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Other responses

200404

Pipeline Dataset Data

POST /pipelines/{name}/datasets/{dataset_name}/data

Put Data

put_dataset_data

Put data

Put data to a dataset. Dataset should be defined in the Pipeline configuration in the datasets. Read Pipeline Put Data for more information.

Request
application/json
[
  {
    "metric_number": 100,
    "metric_status": "SUCCESS",
    "date": "2022-08-15 23:23:23"
  }
]
Response
application/json

Bad Request

{
  "message": "Bad Request!"
}
Parameters
3
ParameterTypeExampleDescription
name required string path pipeline_name Pipeline Name
dataset_name required string path ExampleDatasetName Dataset Name
column_name string query Value Column default value
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
messagestringError message
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Other responses

200404

DELETE /pipelines/{name}/datasets/{dataset_name}/data

Delete Data

delete_dataset_data

Delete Data from the Pipeline dataset. Read Pipeline Delete Data for more information.

Response
application/json

Bad Request

{
  "message": "Bad Request!"
}
Parameters
2
ParameterTypeExampleDescription
name required string path pipeline_name Pipeline Name
dataset_name required string path ExampleDatasetName Dataset Name
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
messagestringError message
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Other responses

200404

GET /pipelines/{name}/datasets/{dataset_name}/data/count

Count Data

count_dataset_data

Get data count in the pipeline dataset. Read Pipeline Count Data for more information.

Response
application/json

Bad Request

{
  "message": "Bad Request!"
}
Parameters
2
ParameterTypeExampleDescription
name required string path pipeline_name Pipeline Name
dataset_name required string path ExampleDatasetName Dataset Name
Response 200application/json
1 fields

Success

FieldTypeDescription
countrequiredintegerCount
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
messagestringError message
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Other responses

404

GET /pipelines/{name}/datasets/{dataset_name}/data/latest

Latest Data

latest_dataset_data

Get the latest data object from the pipeline dataset. Read Pipeline The Latest Data for more information.

Response
application/json

Bad Request

{
  "message": "Bad Request!"
}
Parameters
3
ParameterTypeExampleDescription
sort_column required string query date Sort Column
name required string path pipeline_name Pipeline Name
dataset_name required string path ExampleDatasetName Dataset Name
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
messagestringError message
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Other responses

200404

Pipeline Debug

POST /pipelines/{name}/run-job

Run Pipeline Job

run_pipeline_job

Run Pipeline Job.

It is possible to run pipeline job with pipeline_name. requestBody is optional, but can contain data similar to triggers request_payload

Request
application/json
{
  "mp_host": "marketplace.staircaseapi.com",
  "mp_key": "API_KEY",
  "comply_auth": "TOKEN",
  "comply_host": "compliance-auth.comply-authentication.staircaseapi.com"
}
Response
application/json

Success

{
  "execution_id": "01F0KHK7DN3H5JZ4QJKMYAM6GB",
  "job_name": "job_name"
}
Parameters
1
ParameterTypeExampleDescription
name required string path pipeline_name Pipeline Name
Response 200application/json
2 fields

Success

FieldTypeDescription
execution_idstring (ulid)Job Execution IDExample 01F0KHK7DN3H5JZ4QJKMYAM6GB
job_namestringJob Name
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
messagestringError message
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Other responses

404

GET /pipelines/{name}/error-logs

Get Error Logs

get_pipeline_error-logs

Retrieve Pipeline Error Logs

Response
application/json

Bad Request

{
  "message": "Bad Request!"
}
Parameters
1
ParameterTypeExampleDescription
name required string path pipeline_name Pipeline Name
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
messagestringError message
Other responses

200404

Account

GET /quicksight

Status

quicksight_get

Get QuickSight status

Expected response

 {
 "status": "ACCOUNT_CREATED"
 } 
Response
application/json

Bad Request

{
  "message": "Bad Request!"
}
Response 200application/json
1 fields

Success

FieldTypeDescription
statusstringQuickSight Status
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
messagestringError message
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Other responses

404

POST /quicksight

Activate

quicksight_activate

Activate QuickSight account

Response
application/json

Bad Request

{
  "message": "Bad Request!"
}
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
messagestringError message
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Other responses

200404

DELETE /quicksight

Delete

quicksight_delete

Delete QuickSight account

Response
application/json

Bad Request

{
  "message": "Bad Request!"
}
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
messagestringError message
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Other responses

200404

Chat

POST /service-message

Send message to Chat

sendMessage

Chat

This endpoint allows to send a message to user in Chat product.

Request
application/json
{
  "connection_id": "WbETDfY8IAMCE8A=",
  "message_id": "b2QlQarRO8"
}
Request bodyapplication/json
2 fields
FieldTypeDescription
connection_idstringThe identifier of connection
message_idstringThe message identifier
Response 201application/json
2 fields

Assistant created

FieldTypeDescription
connection_idstringThe identifier of connection
message_idstringThe message identifier
Other responses

400403404

Setup

POST /sign_in

Sign In

sign-in

Sign in.

Sign in the credentials

Request
application/json

An example of a payload.

{
  "email": "john.doe@company.com",
  "password": "XXXXX"
}
Response
application/json

OK.

{
  "id_token": "xxxxxx",
  "refresh_token": "<redacted>",
  "token_type": "yyyyyy"
}
Parameters
2
ParameterTypeExampleDescription
x-api-key required string header <redacted> Key used to identify the API usage plan
Content-Type required string header application/json The content type.
Request bodyapplication/json
2 fields
FieldTypeDescription
emailrequiredstringEmail of accountExample john.doe@company.com
passwordrequiredstringPassword of accountExample XXXXX
Response 200application/json
3 fields

OK.

FieldTypeDescription
id_tokenstringThe ID token.
refresh_tokenstringThe refresh token.
token_typestringThe token type.
Response 400application/json
1 fields

Request data failed validation

FieldTypeDescription
messagestringMessage
Response 401application/json
1 fields

Unauthorized validation

FieldTypeDescription
messagestringMessage
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Response 500application/json
1 fields

The product has encountered an internal server error

FieldTypeDescription
messagestringError Message
Response 502application/json
1 fields

While acting as a gateway or proxy, received an invalid response from the upstream server.

FieldTypeDescription
messagestringError Message

Proxy

POST /trust_score

Get Trust Score

get_configuration

This endpoint serves as a proxy to the Get Trust Score api that allows bypassing api_key authorization, yet, is limited in domains that can access it.

Request
application/json
{
  "phone_number": "8167434789",
  "transaction_id": "01H3YA4JVJ3ZF3M41NXK9PA27T"
}
Response
application/json

A 422 status code occurs when a request is well-formed, however, due to semantic errors it is unable to be processed.

{
  "error": {
    "message": "Unprocessable entity.",
    "reason": "Domain name could not be validated."
  }
}
Request bodyapplication/json
4 fields
FieldTypeDescription
phone_numberrequiredstringValid Phone Number
birth_datestringShould follow YYYY-MM-DD format.
transaction_idrequiredstringTransaction ID
console_configuration_idstringConsole app configuration ID
Response 200application/json
1 fields

Success

FieldTypeDescription
idrequiredstringInvocation ID
Other responses

403422

POST /identity

Get Identity

get_identity

This endpoint serves as a proxy to the Get Identity api that allows bypassing api_key authorization, yet, is limited in domains that can access it.

Request
application/json
{
  "phone_number": "8167434789",
  "birth_date": "1990-01-01",
  "transaction_id": "01H3YA4JVJ3ZF3M41NXK9PA27T"
}
Response
application/json

A 422 status code occurs when a request is well-formed, however, due to semantic errors it is unable to be processed.

{
  "error": {
    "message": "Unprocessable entity.",
    "reason": "Domain name could not be validated."
  }
}
Request bodyapplication/json
4 fields
FieldTypeDescription
phone_numberrequiredstringValid Phone Number
birth_daterequiredstringShould follow YYYY-MM-DD format.
transaction_idrequiredstringTransaction ID
console_configuration_idstringConsole app configuration ID
Response 200application/json
1 fields

Success

FieldTypeDescription
idrequiredstringInvocation ID
Other responses

403422

POST /{api_name}/invocations/{id}

Get Invocation Status

get_invocation_status

This endpoint serves as a proxy to the Get Invocation Status of Identity apis, referenced by the api_name and identifer of the invocation. api_name should be one of ['trust_score', 'identity'].

Response
application/json

A 422 status code occurs when a request is well-formed, however, due to semantic errors it is unable to be processed.

{
  "error": {
    "message": "Unprocessable entity.",
    "reason": "Domain name could not be validated."
  }
}
Parameters
2
ParameterTypeExampleDescription
api_name required string path trust_score Identity api name
id required string path 01H3FP37TVHBY7R9C1013BDGM5 Invocation ID
Other responses

200403422

Connection Proxy

POST /vendors/{vendor_name}/flows/{flow_name}/jobs

Invoke Connection Flow

invoke_connection_flow

This endpoint serves as a proxy to the Invoke Partner Flow api that allows bypassing api_key authorization, yet, is limited in domains that can access it. List of flows that can be invoked with this proxy is also limited and pre-defined. Please, refer to documentation of original endpoint for the request and response schemas.

Request
application/json
{
  "transaction_id": "01F7S0N7CQ31DZQYVSVPN66GNK",
  "callback_url": "https://webhook.site/2c40525f-69ec-485f-a79a-7256406e8da4",
  "request_payload": {}
}
Response
application/json

A 422 status code occurs when a request is well-formed, however, due to semantic errors it is unable to be processed.

{
  "error": {
    "message": "Unprocessable entity.",
    "reason": "Domain name could not be validated."
  }
}
Parameters
2
ParameterTypeExampleDescription
vendor_name required string path prove Vendor name
flow_name required string path get_trust_score Flow name
Response 202application/json
2 fields

Success

FieldTypeDescription
job_idstringInvocation ID
job_statusstringJob status
Other responses

403422

POST /vendors/{vendor_name}/flows/{flow_name}/jobs/{job_id}

Get Invocation Status

get_invocation_status

This endpoint serves as a proxy to the Retrieve Flow Execution Status. Please, refer to original documentation for request and response schemas.

Response
application/json

A 422 status code occurs when a request is well-formed, however, due to semantic errors it is unable to be processed.

{
  "error": {
    "message": "Unprocessable entity.",
    "reason": "Domain name could not be validated."
  }
}
Parameters
3
ParameterTypeExampleDescription
vendor_name required string path prove Vendor name
flow_name required string path get_trust_score Flow name
job_id required string (uuid) path 7c668252-d2ba-job-id-896d-1f73236287d9 Job invocation ID
Other responses

200403422

Datalake Data

POST /datalakes/{name}/data

Put Data

put_datalake_data

Put data

Put data will the data from valid Staircase collection.

Known limits are:

  • Put data MAX array size 500 elements

Important note, it may take 10-30 seconds for pipeline to consume and save data.

Request
application/json
[
  {
    "metric_number": 100,
    "metric_status": "SUCCESS",
    "date": "2022-08-15 23:23:23"
  }
]
Response
application/json

Bad Request

{
  "message": "Bad Request!"
}
Parameters
1
ParameterTypeExampleDescription
name required string path pipeline_name Pipeline Name
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
messagestringError message
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Other responses

200404

Errors

400401403404422500502

Notes

The catalogue records no narrative row for this slot. What appears above is read from the recorded build documentation and from the operation set. The component inventories — several hundred records naming each component, its properties and its content-system shape — are internal build material and are not published.

Type to search.