Skip to content
Staircase

Environment

Creating, configuring, cost-tracking, budgeting and tearing down a dedicated cloud environment over HTTP.

An environment here is a whole cloud account, not a namespace: its own domain, its own certificates, its own API key, its own stack set. It is created, configured, metered against a budget and destroyed through calls.

Teardown is a first-class path with scripted removal of stacks, storage and identity, rather than an operational runbook someone follows by hand.

How it works

Cost attribution reaches down to individual model conversations and up to a per-environment budget. Metering at that granularity is what makes a budget enforceable instead of advisory — a budget that can only be checked after the invoice arrives cannot stop anything.

A configuration check returns a vector of policy answers rather than a pass or fail, so an environment that is out of policy names which control it fell out of.

Operations

Activate Key

POST /activate-key

Activate Key for Environment

activateKey

Activate key used to activate a key for being used in the environment.

Request
application/json
{
  "api_key": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
Request bodyapplication/json
1 fields
FieldTypeDescription
api_keyrequiredstringX-api-key to be activated in the environmentExample xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Response 200application/json
3 fields

Key activated.

FieldTypeDescription
fqdnrequiredstringFully qualified domain name of the environment where the key was activated.
statusrequiredstringStatus of the key activation.
messagerequiredstringMessage about the key activation.
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
errorrequiredstringError message.
Response 404application/json
1 fields

Environment not found

FieldTypeDescription
errorrequiredstringError message.
Response 500application/json
1 fields

Key Activation error

FieldTypeDescription
errorrequiredstringError message.
Other responses

403

Budgets

PUT /budgets/{fqdn}

Update environment budget

updateBudget

This API allows the Staircase Finance team to update the budget of a given environment.

Request
application/json
{
  "products": [
    {
      "product_name": "Language",
      "monthly_budget": 1500
    },
    {
      "product_name": "Batch",
      "monthly_budget": 750
    },
    {
      "product_name": "Datalake",
      "monthly_budget": 750
    }
  ]
}
Response
text/html

Bad Request

<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
Parameters
2
ParameterTypeExampleDescription
x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx API-KEY received via email upon account creation
fqdn required string path example.staircaseapi.com Environment fully qualified domain name.
Request bodyapplication/json
1 fields
FieldTypeDescription
productsrequiredobject[]List of products and their monthly budget.
product_namerequiredstringName of the product.Example Environment
monthly_budgetrequirednumberMonthly budget for the product.Example 1000
Response 201application/json
3 fields

Environment creation In-progress.

FieldTypeDescription
domain_namerequiredstringFully qualified domain name of the environment.
monthly_budgetrequiredobjectMonthly budget for the environment.
productsobject[]List of products and their monthly budget.
product_namerequiredstringName of the product.Example Environment
monthly_budgetrequirednumberMonthly budget for the product.Example 1000
last_update_datetimerequiredstringLast update time stamp.
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
errorstringError message.
Response 401application/json
1 fields

Unauthorized

FieldTypeDescription
messagestringError message.
Response 403application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access.
messagestringError message.
Response 422application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
PUT /budgets

Create or update budget for products owned by team

createOrUpdateTeamBudget

Create or update team budget

This API manages and monitors daily spending on products for each company by storing budget information and summing all related spending per company and product. If spending exceeds the budget, it sends alerts to the company’s Slack #alerts-negative channel for each additional dollar spent.

Request
application/json
{
  "budget_per_day": 25,
  "product_identifier": "c20994b0-be01-4421-a075-8dcea035d155",
  "company_identifier": "01G52C9RCP0Q5C6JYEPE4487VV"
}
Response
application/json

Environment creation In-progress.

{
  "budget_per_day": 25,
  "product_identifier": "c20994b0-be01-4421-a075-8dcea035d155",
  "company_identifier": "01G52C9RCP0Q5C6JYEPE4487VV"
}
Parameters
1
ParameterTypeExampleDescription
x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx API-KEY received via email upon account creation
Request bodyapplication/json
3 fields
FieldTypeDescription
budget_per_dayrequirednumberUS dollars per day.Example 25
product_identifierrequiredstringProduct identifier.Example c20994b0-be01-4421-a075-8dcea035d155
company_identifierrequiredstringCompany identifier fromExample 01G52C9RCP0Q5C6JYEPE4487VV
Response 200application/json
3 fields

Environment creation In-progress.

FieldTypeDescription
budget_per_dayrequirednumberUS dollars per day.Example 25
product_identifierrequiredstringProduct identifier.Example c20994b0-be01-4421-a075-8dcea035d155
company_identifierrequiredstringCompany identifier fromExample 01G52C9RCP0Q5C6JYEPE4487VV
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
errorstringError message.
Response 401application/json
1 fields

Unauthorized

FieldTypeDescription
messagestringError message.
Response 403application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access.
messagestringError message.
Response 422application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.

Costs

GET /costs

Retrieve product costs

getProductCosts

Retrieve the detailed product costs across the organization.

Due to the monthly billing cycle, the values will change until the end of the month is reached, and the final adjustments are applied.

The authorization access token for using this service can be obtained from Comply Authentication

Response
application/json

Response body with the detailed costs of a given product across all environments.

{
  "total_cost": "$ 1785.4194 USD",
  "costs_unit": "USD",
  "total_cost_raw": 1785.4194,
  "product_name": "Test",
  "environments_count": 330,
  "average_environment_cost": 5.4104,
  "costs_by_environment": [
    {
      "costs": 146.4983,
      "organization_id": "01G5XXXXXXXXXX93E41X70MXS",
      "environment_domain": "my-subdomain.staircaseapi.com"
    }
  ],
  "costs_by_service": [
    {
      "aws_service": "Amazon EC2 Container Registry (ECR)",
      "cost": 654.9967
    },
    {
      "aws_service": "AWS Key Management Service",
      "cost": 318.5916
    },
    {
      "aws_service": "Amazon Simple Storage Service",
      "cost": 13.0348
    },
    {
      "aws_service": "AWS Lambda",
      "cost": 7.3645
    },
    {
      "aws_service": "AWS WAF",
      "cost": 5.8065
    },
    {
      "aws_service": "Amazon DynamoDB",
      "cost": 1.9304
    },
    {
      "aws_service": "AmazonCloudWatch",
      "cost": 0.6591
    },
    {
      "aws_service": "Amazon Simple Queue Service",
      "cost": 0.5514
    },
    {
      "aws_service": "CodeBuild",
      "cost": 0
    }
  ],
  "costs_by_period": [
    {
      "time_period": "2022-08-01-2022-08-02",
      "cost": 70.3507
    },
    {
      "time_period": "2022-08-02-2022-08-03",
      "cost": 76.8517
    }
  ]
}
Parameters
5
ParameterTypeExampleDescription
x-api-key string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx X-API-KEY for using the service.
Authorization required string header <redacted> Authorization token.
product_name required string query Environment Product name
start_date required string query 2022-01-01 start date for the time range
end_date required string query 2022-01-31 end date for the time range
Response 200application/json
8 fields

Response body with the detailed costs of a given product across all environments.

FieldTypeDescription
total_costsrequiredstringFormatted total costs for the given product name.
costs_unitrequiredstringUnit for the costs values.
total_costs_rawrequirednumberTotal costs for the given product name.
environments_countrequirednumberNumber of environments in which the product is deployed.
average_environment_costrequirednumberAverage cost per environments.
costs_by_environmentrequiredobject[]List of Product costs per environment
product_by_environment_costsobjectData object containing the Product costs per environment
environment_domainstringDomain of the environment
costsnumberProduct costs of the environment
organization_idstringDomain of the environment
costs_by_servicerequiredobjectProduct costs by AWS service
costs_by_periodobjectProduct costs by day
Response 400application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
Response 403application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access
messagestringError message.
Response 404application/json
1 fields

Environment not found

FieldTypeDescription
errorstringError message.
Response 422application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
Other responses

401

GET /environment-costs/{api_key}

Retrieve environment costs

getEnvironmentCosts

Retrieve environment costs.

When resource_details is set to true, the output will show the costs detailed by service instead of the component.

Due to the monthly billing cycle, the values will change until the end of the month is reached, and the final adjustments are applied.

This service only provides data for last 14 days. The authorization access token for using this service can be obtained from Comply Authentication

Response
application/json

Bad request.

Bad request
Parameters
6
ParameterTypeExampleDescription
x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx X-API-KEY for using the service.
Authorization required string header <redacted> Authorization token.
api_key required string path xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx X-API-KEY for the environment to query
start_date required string query 2022-01-01 start date for the time range
end_date required string query 2022-01-31 end date for the time range
resource_details boolean query true If enabled it will show the Environment resources usage detail, resource details cannot be used with more that 14 days old dates.
Response 200application/json
4 fields

Response body with the list of stacks deployed in a given environment.

FieldTypeDescription
unitrequiredstringCurrency
total_costrequiredstringTotal cost for the given environment.
time_rangerequiredobjectTime range queried.
start_daterequiredstringStart date for the time range queried
end_daterequiredstringEnd date for the time range queried
usage_detailsrequiredobject[]Usage details of the environment by stack name.
servicerequiredstringName of the resource service.
costrequiredstringTotal cost generated by the resource.
Response 400application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
Response 403application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access
messagestringError message.
Response 404application/json
1 fields

Environment not found

FieldTypeDescription
errorstringError message.
Response 422application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
Other responses

401

EnvironmentCosts

POST /costs

Save Costs

save-costs

For tracking non AWS related costs.

Use this API for reporting usage of external services that are not tracked by AWS. For example, this API is used by the Bot product to report the price of conversation for specific bot.

Request
application/json
{
  "usage": 3,
  "name": "Personal Identity Collector",
  "invocation_id": "1234567890"
}
Response
text/html

Bad request.

<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
Request bodyapplication/json
3 fields
FieldTypeDescription
usagerequirednumberUsage of the external service, in US Cents.Example 100
namerequiredstringName of the external service.Example Personal Identity Collector
invocation_idstringUnique identifier for the invocation of the external service.
Response 200application/json
1 fields

Response body with confirmation of the saved costs.

FieldTypeDescription
messagerequiredstringConfirmation message.
Response 400application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.

Environment

POST /environment

Create Environment

createEnvironment

Create environment

This service allows you to create a staircase environment for with a given subdomain.

You can also include a callback URL with an optional payload to get notified automatically after your environment creation is finished;

After the environment is created it is subscribed to Environment and Deploy products automatically.

  • Callback payload request example:
{
 "api_key": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
 "subdomain": "my-env",
 "organization_id": "26d4253f8509"
 "callback_url": "",
 "callback_payload": {"callback_id":"identifier_callback"}
}
  • Callback payload response example:
{
 "environment_status": "ACTIVE",
 "environment_fqdn": "my-env.staircaseapi.com",
 "message": "Environment ready to use",
 "callback_payload": {"callback_id":"identifier_callback"}
}
Request
application/json
{
  "subdomain": "mysubdomain",
  "api_key": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "organization_id": "26d4253f8509",
  "callback_url": "https://mycallbak_url.com/callback_url",
  "callback_payload": {
    "callback_id": "identifier_callback"
  }
}
Response
text/html

Bad Request

<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
Parameters
1
ParameterTypeExampleDescription
x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx API-KEY received via email upon account creation
Request bodyapplication/json
5 fields
FieldTypeDescription
subdomainrequiredstringSubdomain for the New Staircase environment.Example marketplace
api_keyrequiredstring (uuid)API-KEY received via email upon account creationExample <redacted>
organization_idstringOrganization ID to which the account belongs toExample b665gncdb891
callback_urlstringCallback URL POST endpoint to be called upon environment creation completionExample https://mycallbak_url.com/callback_url
callback_payloadobjectUser defined payload to be sent to the callback URL suppliedExample {'callback_id':'identifier_callback'}
Response 201application/json
2 fields

Environment creation In-progress.

FieldTypeDescription
staircase_environmentrequiredobjectStaircase Environment creation status.
api_keyrequiredstringUnique identifier for the environment.
status_urlrequiredstringURL for checking the status while it's not Active.
statusrequiredstringStatus of the environment creation.
messagerequiredstringStatus description message.
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
errorstringError message.
Response 401application/json
1 fields

Unauthorized

FieldTypeDescription
messagestringError message.
Response 403application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access.
messagestringError message.
Response 422application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
PUT /environment

Update Environment Data

updateEnvironmentData

This service allows you to update the environment data such as organization ID

Request
application/json
{
  "api_key": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "organization_id": "26d4253f8509"
}
Response
text/html

Bad Request

<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
Parameters
1
ParameterTypeExampleDescription
x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx API-KEY received via email upon account creation
Request bodyapplication/json
2 fields
FieldTypeDescription
api_keyrequiredstring (uuid)API-KEY received via email upon account creationExample <redacted>
organization_idrequiredstringOrganization ID to which the account belongs toExample b665gncdb891
Response 200application/json
2 fields

Environment Data Update.

FieldTypeDescription
messagerequiredstringStatus description message.
statusrequiredstringStatus of the operation executed
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
errorstringError message.
Response 401application/json
1 fields

Unauthorized

FieldTypeDescription
messagestringError message.
Response 403application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access.
messagestringError message.
Response 422application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
DELETE /environment

Disable Environment

disableEnvironment

This service allows you to disable a given environment. Disabling an environment will delete all the resources in it and the environment will not be recoverable The authorization access token for using this service can be obtained from Comply Authentication The token requires an admin level permission

Response
text/html

Bad Request

<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
Parameters
2
ParameterTypeExampleDescription
x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Account-key received via email upon account creation.
environment_fqdn required string query my-env.staircaseapi.com Fully qualified domain name of the staircase environment.
Response 200application/json
2 fields

Environment Data Update.

FieldTypeDescription
environment_fqdnrequiredstringFully qualified domain name of the environment.
organization_idrequiredstringOrganization ID of the queried environment.
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
errorstringError message.
Response 401application/json
1 fields

Unauthorized

FieldTypeDescription
messagestringError message.
Response 403application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access.
messagestringError message.
Response 422application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
GET /environment

Get Environment Data

getEnvironmentData

This service allows you to retrieve the environment data such as organization ID

Response
text/html

Bad Request

<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
Parameters
2
ParameterTypeExampleDescription
x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Account-key received via email upon account creation.
environment_fqdn required string query my-env.staircaseapi.com Fully qualified domain name of the staircase environment.
Response 200application/json
5 fields

Environment Data Update.

FieldTypeDescription
environment_fqdnrequiredstringFully qualified domain name of the environment.
organization_idrequiredstringOrganization ID of the queried environment.
environment_ownerrequiredstringOwner email of the queried environment.
company_namerequiredstringCompany name of queried environment.
last_updated_atrequiredstringWhen environment was updated.
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
errorstringError message.
Response 401application/json
1 fields

Unauthorized

FieldTypeDescription
messagestringError message.
Response 403application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access.
messagestringError message.
Response 422application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
DELETE /environment/delete

Clean Environment

disableEnvironment

This service allows you to clean a given environment. Cleaning an environment will delete all the resources in it and the environment will not be recoverable

Request
application/json
{
  "target_account_id": "123456789033"
}
Response
application/json

Request data invalid

{
  "message": "target_account_id must be provided."
}
Request bodyapplication/json
3 fields
FieldTypeDescription
target_account_idrequiredstringAWS account ID of the environment to be cleaned. The account ID must be a 12-digit number within Staircase organization.
callback_urlstring (uri)URL to be called when the cleaning process is complete. The URL must be accessible from the internet.s
resources_to_retainobjectObject specifying arrays of S3 and Glue resources to be retained during cleanup. Each array contains objects representing individual resources. A report will be generated post-cleanup detailing retained and removed resources. In case of errors in retaining a specified resource, the user will be notified for manual intervention.
S3object[]Array of objects, each representing an S3 bucket name to be retained.
bucket_namerequiredstringName of the S3 bucket to be retained.
Glueobject[]Array of objects, each representing a Glue resource to be retained.
database_namerequiredstringName of the Glue database to be retained.
IAMUserstringIAM User to be retained.
Response 200application/json
1 fields

Ok.

FieldTypeDescription
job_idrequiredstringID of the cleaning job.Example 01GXQZV8M1V57GEZHK29SR1J3J
Response 400application/json
1 fields

Request data invalid

FieldTypeDescription
messagestringError message
POST /

Add region

addRegion

This service allows you to configure new region is this environment, so it will be ready to get Staircase bundles deployed in it WAF distribution will be created. The distribution ID will be available inside the environment token data. api.subdomain.staircaseapi.com custom API GW domain name will be created. {region_name}.subdomain.staircaseapi.com custom API GW domain name will be created. Route53 failover configuration will be created for api.subdomain.staircaseapi.com and used for the health checks managed by the Environment product. Route53 us-east-1.domain.com to direct to API Gateway on us-east-1

Request
application/json
{
  "region_name": "us-east-2"
}
Response
application/json

Ok.

{
  "message": "Region added"
}
Request bodyapplication/json
1 fields
FieldTypeDescription
region_namerequiredstringRegion nameus-east-2us-west-1us-west-2Example us-east-2
Response 200application/json
1 fields

Ok.

FieldTypeDescription
messagestringmessage
Response 400application/json
1 fields

Request data invalid

FieldTypeDescription
messagestringError message
GET /stacks/{api_key}

Retrieve environment products

getProductsDeployed

Retrieve the environment products

Get environment components Fetch list of deployed components in a given environment. The authorization access token for using this service can be obtained from Comply Authentication

Response
application/json

Bad request.

Bad request
Parameters
3
ParameterTypeExampleDescription
x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx X-API-KEY for using the service.
Authorization required string header <redacted> Authorization token.
api_key required string path xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Environment API-KEY
Response 200application/json
1 fields

Response body with the list of stacks deployed in a given environment.

FieldTypeDescription
stacksrequiredobject[]List of stacks in the environment
stack_namestringName of the stack deployed.
stack_statusrequiredstringCurrent status of the stack.
created_atrequiredstringCreation time stamp.
last_updated_atrequiredstringLast update time stamp.
Response 400application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
Response 403application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access
messagestringError message.
Response 404application/json
1 fields

Environment not found

FieldTypeDescription
errorstringError message.
Response 422application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
Other responses

401

Hello

POST /hello-world

Hello

execute_query

Hello World

Dummy hello world endpoint

Response
application/json

Ok.

{
  "message": "ok"
}
Response 200application/json
1 fields

Ok.

FieldTypeDescription
messagestringHello message.Example ok

Products

GET /product-deployments

Retrieve products deployments

getProductDeployments

Retrieve product deployments

Retrieve all the environments in which the product is deployed with their Health API KEY. The authorization access token for using this service can be obtained from Comply Authentication

Response
application/json

Bad request.

Bad request
Parameters
3
ParameterTypeExampleDescription
x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx X-API-KEY for using the service.
Authorization required string header <redacted> Authorization token.
base_path required string query code-tester The base path of the product you want to query
Response 200application/json
1 fields

Response body with the list of environments in which the product is deployed.

FieldTypeDescription
environmentsrequiredobject[]List of environments with the base path given present.
domain_namerequiredstringName of the stack.
api_keyrequiredstringHealth API KEY
Response 400application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
Response 403application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access
messagestringError message.
Response 404application/json
1 fields

Environment not found

FieldTypeDescription
errorstringError message.
Response 422application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
Other responses

401

EnvironmentManager

DELETE /products

Delete deployed product

deleteProductServices

This service triggers the deletion of a given product, if no specific services are given all the services deployed for the given product name will be deleted. Deletion of a given service or services will remove the resources and will cause loss of data. Admin level permissions are necessary for deleting products from a Staircase environment, unless you are the owner of the environment. The authorization access token for using this service can be obtained from Comply Authentication

Request
application/json
{
  "product_name": "Test",
  "services": [
    {
      "service_name": "service-code-tester"
    }
  ]
}
Response
application/json

Environment creation In-progress.

[
  {
    "status": "SUBMITTED"
  }
]
Parameters
1
ParameterTypeExampleDescription
Authorization required string header <redacted> Authorization token, obtained through comply service.
Request bodyapplication/json
2 fields
FieldTypeDescription
product_namerequiredstringName of the product to be deletedExample Test
servicesobject[]List of services to be deleted
service_namerequiredstringName of the service to be deletedExample service-code-tester
Response 201application/json
1 fields

Environment creation In-progress.

FieldTypeDescription
statusrequiredstringStatus of the deletion.Example SUBMITTED
Response 400application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
Response 401application/json
1 fields

Unauthorized

FieldTypeDescription
messagestringError message.
Response 403application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access.
messagestringError message.
Response 404application/json
1 fields

Environment not found

FieldTypeDescription
errorstringError message.
Response 422application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
Response 500application/json
1 fields

Environment creation failure.

FieldTypeDescription
errorstringError message.
GET /products

Get Deployed Products

getDeployedProducts

Retrieve the products deployed in the environment

Get deployed products Retrieves a list of the products deployed in the environment with their respective components. The authorization access token for using this service can be obtained from Comply Authentication

Response
application/json

Response body with the list of products and services deployed in the staircase environment.

[
  [
    {
      "product_name": "Environment",
      "services": [
        {
          "service_name": "environment-manager",
          "status": "UPDATED"
        },
        {
          "service_name": "environment-administrator",
          "status": "UPDATED"
        }
      ]
    }
  ]
]
Parameters
1
ParameterTypeExampleDescription
Authorization required string header <redacted> Authorization token, obtained through comply service.
Response 200application/json
2 fields

Response body with the list of products and services deployed in the staircase environment.

FieldTypeDescription
product_namerequiredstringProduct Name deployed in the staircase environment.
servicesrequiredobject[]List of services attached to the product.
statusrequiredstringDeployment status of the service.
service_namerequiredstringName of the service deployed.
Response 400application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
Response 401application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access
messagestringError message.
Response 403application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access
messagestringError message.
Response 404application/json
1 fields

Product not found

FieldTypeDescription
errorstringError message.
GET /products/{product_name}

Get Deployed Product

getDeployedProductServices

Retrieve the details of a product deployed in the environment

Get deployed products Retrieves the list of services deployed containing status and service name for the product name given, as log as it is deployed in the staircase environment. The authorization access token for using this service can be obtained from Comply Authentication

Response
application/json

Response body with the list of services deployed in the staircase environment for the provided product name.

[
  [
    {
      "service_name": "environment-manager",
      "status": "UPDATED"
    },
    {
      "service_name": "environment-administrator",
      "status": "UPDATED"
    }
  ]
]
Parameters
2
ParameterTypeExampleDescription
Authorization required string header <redacted> Authorization token, obtained through comply service.
product_name required string path Environment Name of the product to query
Response 200application/json
2 fields

Response body with the list of services deployed in the staircase environment for the provided product name.

FieldTypeDescription
statusrequiredstringDeployment status of the service.
service_namerequiredstringName of the service deployed.
Response 400application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
Response 401application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access
messagestringError message.
Response 403application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access
messagestringError message.
Response 404application/json
1 fields

Environment not found

FieldTypeDescription
errorstringError message.
GET /service-key

Get Service Key

get-service-key

Get service key

Environment service API-KEY can be used for retrieving telemetry data. Health product accepts it as X-API-KEY header, enabling products and teams to querying metrics for products deployed in the environment. The authorization access token for using this service can be obtained from Comply Authentication

Response
text/html

Bad request.

<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
Parameters
2
ParameterTypeExampleDescription
x-api-key string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx X-API-KEY for using the service.
Authorization required string header <redacted> Authorization token, obtained through comply service.
Response 200application/json
1 fields

Response body with the environment status and, environment details

FieldTypeDescription
service_keyrequiredstringUUID value of the service key.
Response 400application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
Response 401application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access
messagestringError message.
Response 403application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access
messagestringError message.
Response 404application/json
1 fields

Not found

FieldTypeDescription
errorstringError message.
Response 500application/json
1 fields

Service key error.

FieldTypeDescription
errorstringError message.
GET /budgets

Get Budgets

get-budgets-list

List of currently applied budgets for this environment.

List of currently applied budgets for this environment. It calculates only for resources tagged with "sc:product:name" tag with this value. Budget is always monthly.

Response 200application/json
1 fields

Response body with the environment current budgets per product.

FieldTypeDescription
budgetsobject[]List of budgets per product.
productrequiredstringProduct name. It calculates only for resources tagged with "sc:product:name" tag with this value.
amountrequiredstringBudget amount in US Dollars per month.
PATCH /budgets

Update Budgets

update-budgets

Update the thresholds for the budgets.

Update the threshold for specific products.

Response
text/html

Bad request.

<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
Response 200application/json
1 fields

Response body with the environment updated budgets.

FieldTypeDescription
budgetsobject[]List of budgets per product.
productrequiredstringProduct name. It calculates only for resources tagged with "sc:product:name" tag with this value.
amountrequiredstringBudget amount in US Dollars per month.
Response 400application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.

Reports

GET /reports

Get Cost Reports

getCostReports

Provides reports about AWS costs produced by Staircase Products deployed to Staircase Environments.

The unit type of the all costs in reports is presented in cents by default. You can change it to "USD" by passing it as a query parameter costs_unit_type.

If start_date and end_date are not specified, the default date range is the last 30 days.

Response
text/html

Bad request.

<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
Parameters
6
ParameterTypeExampleDescription
start_date string query 2023-01-01 Start date.
end_date string query 2023-02-01 End date.
granularity string query DAILY Granularity.
customer_company_name string query Bank Of America Customer company name. Case insensitive.
staircase_team string query Cerf Staircase team name. Case insensitive.
costs_unit_type string query USD Costs unit type. If not specified, the default unit type is CENT.
Response 200application/json
5 fields

Response body

FieldTypeDescription
date_rangerequiredobjectThe date range for which the report is applicable.
startrequiredstringThe start date of the range in YYYY-MM-DD format.
endrequiredstringThe end date of the range in YYYY-MM-DD format.
costs_unit_typerequiredstringThe unit type of costs in reports.CENTUSDExample USD
granularitystringThe dates granularity of the report.DAILYMONTHLYNONEExample DAILY
productsrequiredobject[]A list of Staircase products included in the report. Data bundles are united to a single "Data Bundles" product.
product_namestringThe name of the product.
reportsrequiredobject[]A collection of cost reports, each corresponding to a single time period. If 'granularity' query parameter is not NONE, it might contain more than one report object.
typerequiredstringThe type of report.COSTS_PER_ENVIRONMENT_PER_PRODUCT
date_rangeobjectThe date range for which the report is applicable.
startrequiredstringThe start date of the range in YYYY-MM-DD format.
endrequiredstringThe end date of the range in YYYY-MM-DD format.
resultrequiredobject[]An array of results, each representing a different environment.
environmentrequiredstringThe name or identifier of the environment.
total_costrequiredintegerThe total cost associated with this environment.
costs_per_product_sumrequiredintegerThe sum of costs broken down per product.
costs_per_productrequiredobjectA breakdown of costs per product.
unknown_product_costrequiredintegerCosts associated with unknown or unclassified products.
staircase_teamrequiredstringThe name of the Staircase team owning the environment.
customer_company_namerequiredstringThe name of the customer company owning the environment.
Response 400application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
Response 401application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access
messagestringError message.
Response 403application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access
messagestringError message.

Configurations

POST /update-configurations

Update configurations

update-configurations

Update Configurations

Update environment configurations validates the latest configurations of the environment and if they are not up-to-date it updates them.

Request
application/json
{
  "api_key": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
Response
text/html

Bad request.

<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
Parameters
1
ParameterTypeExampleDescription
Authorization required string header <redacted> Authorization token, obtained through comply service.
Request bodyapplication/json
1 fields
FieldTypeDescription
api_keyrequiredstring (uuid)API-KEY received via email upon account creationExample xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Response 201application/json
1 fields

Environment creation In-progress.

FieldTypeDescription
staircase_environmentobjectStaircase Environment creation status.
statusrequiredstringStatus of the environment configurations update process.UPDATEDUPDATE_FAILEDUPDATING
messagerequiredstringInformation message for the given status
Response 400application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
Response 401application/json
1 fields

Unauthorized

FieldTypeDescription
messagestringError message.
Response 403application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access.
messagestringError message.
Response 404application/json
1 fields

Environment not found

FieldTypeDescription
errorstringError message.
Response 422application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
Response 500application/json
1 fields

Environment creation failure.

FieldTypeDescription
errorstringError message.
GET /get-configurations/{api_key}

Get configurations

get-configurations

Get the environment configurations Fetch the status of the environment configurations.

Response
text/html

Bad request.

<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
Parameters
2
ParameterTypeExampleDescription
Authorization required string header <redacted> Authorization token, obtained through comply service.
api_key required string path xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Environment API-KEY
Response 200application/json
11 fields

Response body with the environment status and, environment details

FieldTypeDescription
MFA_EnabledrequiredstringStatus of the user with MFA_Enabled configuration.MISSINGOK
Login_RestrictedrequiredstringStatus of the AWS console login restriction.MISSINGOK
Main_CertificaterequiredstringStatus of the Main Certificate configuration.MISSINGOK
Wild_CertificaterequiredstringStatus of the Wild Certificate configuration.MISSINGOK
Email_DomainrequiredstringStatus of the Email Domain configuration.MISSINGOK
DKIM_VerificationrequiredstringStatus of the DKIM verification.MISSINGOK
MX_RecordsrequiredstringStatus of the MX DNS records.MISSINGOK
API_GatewayrequiredstringStatus of the API GW Configuration.MISSINGOK
Health_Service_KeyrequiredstringStatus of the Health service API key configuration.MISSINGOK
VPC_Flow_LogsstringStatus of the VPC Flow Log configuration.MISSINGOK
CloudFront_DistributionrequiredstringStatus of the CloudFront distribution configuration.MISSINGOK
Response 400application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
Response 401application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access
messagestringError message.
Response 403application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access
messagestringError message.
Response 404application/json
1 fields

Environment not found

FieldTypeDescription
errorstringError message.
Response 500application/json
1 fields

Server error.

FieldTypeDescription
errorstringError message.

Status

GET /environment/delete/{id}

Retrieve Cleaning Status

getCleaningStatus

Foo

Response
text/html

Bad request.

<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
Parameters
1
ParameterTypeExampleDescription
id required string path 490kokf3-aa93-409f-b4e7-756e019d83f5 The cleaning invocation ID.
Response 200application/json
2 fields

Cleaning job invocation status.

FieldTypeDescription
statusrequiredstringStatus of the cleaning job invocation.FAILEDIN_PROGRESSNOT_FOUNDRUNNINGSUCCEEDED
logsrequiredstringLogs of the cleaning invocation.
Response 400application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
Response 403application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting an X-API-KEY.
messagestringError message.
Response 404application/json
1 fields

Cleaning invocation was not found.

FieldTypeDescription
statusstringStatus of the cleaning job.NOT_FOUND

Environment Creator

POST /vendors/staircase/flows/env-create/jobs

Invoke Create Environment Flow

invokeCreateEnvironmentFlow

This endpoint allows launching Create Environment Flow.

It is an asynchronous job, so response contains job_id, that allows to track the job's execution here. Result of the job will be sent to the callback_url specified in the appropriate field. If job finishes successfully, job_status will be "Completed"; response_payload will contain the api_key, domain, subdomain and organization_id, and it will look like this:

Show the rest
{
 "job_id": "e26ffa3d-4ae6-4582-8982-5d61f8a75c54",
 "job_status": "Completed",
 "transaction_id": "01F7S0N7CQ31DZQYVSVPN66GNK",
 "request_collection_id": "01F7S0X38J6R41HW279D8YP8KJ",
 "response_collection_id": "01F7S0YSQPGW9WC51378PR7TM3",
 "response_payload": {
 "api_key": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
 "domain": "organization-a1b2c3d4e5f6",
 "subdomain": "organization-a1b2c3d4e5f6.staircaseapi.com",
 "organization_id": "4321-4321-4321-4321-4321"
 }
}

If job fails to complete, job_status will be "Failed" and response_payload will contain detailed information about failed job (Error and Cause fields), and will look like this:

{
 "job_id": "98da2ca6-8fbb-4f00-bde9-91f8b33712f2",
 "job_status": "Failed",
 "transaction_id": "01FYRX3TTMKSR6XG070GA3MG17",
 "request_collection_id": null,
 "response_collection_id": null,
 "response_payload": {
 "Error": "CallVendorError",
 "Cause": {
 "errorMessage": {
 "message": "A company_organization with company \"X\" and organization \"X-org-1\" already exists."
 },
 "errorType": "CallVendorError",
 "requestId": "77a1db7e-12d4-42f3-887e-82387a2ca8cd"
 }
 },
 "status_code": null
}

For testing, you can use webhook.site service. With this, you instantly get a unique, random URL that you can put into the callback_url field and use it to receive HTTP requests.

Request
application/json
{
  "transaction_id": "01F7S0N7CQ31DZQYVSVPN66GNK",
  "callback_url": "https://webhook.site/cc87117a-36ee-4b8b-b098-e9cf209821a2",
  "request_payload": {
    "organization_name": "Org-1",
    "first_name": "John",
    "last_name": "Doe",
    "email": "john.doe@domain.com"
  }
}
Response
application/json

Request accepted

{
  "job_id": "160701d5-a034-41db-aade-26e4134ac8bb",
  "job_status": "Started"
}
Parameters
1
ParameterTypeExampleDescription
product_name required string query environment-creator This parameter is required to be `environment-creator`. Anything else would cause a failure
Request bodyapplication/json
5 fields
FieldTypeDescription
transaction_idrequiredstringTransaction ID
request_collection_idstringRequest collection ID
response_collection_idstringResponse collection ID
callback_urlrequiredstring (uri)Destination URL on which final result of the flow execution will be sent
request_payloadrequiredobjectData that have to passed into the flow
organization_namerequiredstringName of the Organization that Environment will belong to
first_namerequiredstringFirst Name of the owner of Account that Environment will belong to
last_namerequiredstringLast Name of the owner of Account that Environment will belong to
emailrequiredstringEmail of the owner of Account that Environment will belong to
Response 202application/json
2 fields

Request accepted

FieldTypeDescription
job_idstringExecution ID
job_statusstringExecution status
Response 400application/json
1 fields

Bad request

FieldTypeDescription
messageone ofEither message or object with additional properties.
Response 403application/json
2 fields

Forbidden

FieldTypeDescription
messagestringRequest forbidden -- authorization will not help
urlstring (url)Indicates at which url the error occurs
Response 404application/json
1 fields

Partner or flow not found

FieldTypeDescription
messagestringNothing matches the given URI
GET /vendors/staircase/flows/env-create/jobs/{job_id}

Retrieve Create Environment Flow Execution Status

retrieveCreateEnvironmentFlowExecutionStatus

Retrieve flow execution status of Create Environment flow

This endpoint allows getting status of the Create Environment Flow.

Response
application/json

Execution status successfully retrieved

{
  "status": "FAILED",
  "executed_events": [
    "GetCredentials",
    "Wait1",
    "Wait2"
  ],
  "last_event": "Wait2",
  "details": [
    {
      "event_id": 2,
      "event_type": "stateEnteredEventDetails",
      "event_name": "GetCredentials",
      "timestamp": "2021-06-10 23:25:27.661000+03:00",
      "previous_event_id": 0,
      "input_details": {}
    },
    {
      "event_id": 6,
      "event_type": "stateExitedEventDetails",
      "event_name": "GetCredentials",
      "timestamp": "2021-06-10 23:25:30.280000+03:00",
      "previous_event_id": 5
    },
    {
      "event_id": 7,
      "event_type": "stateEnteredEventDetails",
      "event_name": "Wait1",
      "timestamp": "2021-06-10 23:25:30.289000+03:00",
      "previous_event_id": 6,
      "input_details": {}
    },
    {
      "event_id": 8,
      "event_type": "stateExitedEventDetails",
      "event_name": "Wait1",
      "timestamp": "2021-06-10 23:25:40.289000+03:00",
      "previous_event_id": 7
    },
    {
      "event_id": 9,
      "event_type": "stateEnteredEventDetails",
      "event_name": "Wait2",
      "timestamp": "2021-06-10 23:25:40.296000+03:00",
      "previous_event_id": 8,
      "input_details": {}
    },
    {
      "event_id": 10,
      "event_type": "executionFailedEventDetails",
      "timestamp": "2021-06-10 23:25:40.296000+03:00",
      "previous_event_id": 0,
      "error": {
        "type": "Runtime",
        "cause": "An error occurred while executing the state 'Wait2' (entered at the event id #9). The SecondsPath parameter does not reference an input value: $.request_payload.sec"
      }
    }
  ],
  "input": {
    "callback_url": "https://rock.site/09876ercftvghnj3iy4738c-3crv/",
    "transaction_id": "01FG3YHN4FCJ4EYW6326ZAQW6Y",
    "response_collection_id": "01FG3YHR1TYXTAAZZHMTX50HQV",
    "request_collection_id": "01FG3YHQW2TY3A2GVKX5SXAB4D"
  },
  "output": {
    "response_payload": {
      "api_key": "<redacted>",
      "domain": "organization-a1b2c3d4e5f6",
      "subdomain": "organization-a1b2c3d4e5f6.staircaseapi.com",
      "organization_id": "4321-4321-4321-432"
    }
  }
}
Parameters
6
ParameterTypeExampleDescription
job_id required string (uuid) path 7c668252-d2ba-job-id-896d-1f73236287d9 Execution ID
product_name required string query environment-creator This parameter is required to be `environment-creator`. Anything else would cause a failure
detailed string query false Returns detailed execution history including execution data if set to `true`. Default `false`.
next_token string query oei09uo8yr7tvweyuni29eirv9kod If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.
reverse_order string query true Returns events in ascending order of their timeStamp if set to `false`. Default is descending `true`.
max_results integer query 100 The maximum number of results that are returned per call. You can use next-token to obtain further pages of results. The default is 50 and the maximum allowed page size is 1000. This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.
Response 200application/json
6 fields

Execution status successfully retrieved

FieldTypeDescription
statusstringExecution statusABORTEDFAILEDRUNNINGSUCCEEDEDTIMED_OUT
executed_eventsstring[]List of executed events
last_eventstringLast executed event
detailsobject[]Executed events details
inputobjectShort data you used for invoking the flow.
transaction_idrequiredstringTransaction ID
request_collection_idrequiredstringRequest collection ID
response_collection_idrequiredstringResponse collection ID
callback_urlrequiredstring (uri)Destination URL on which final result of the flow execution was configured to be sent
outputobjectShort data of the output.
response_payloadrequiredobjectResponse payload.
api_keystring
domainstring
subdomainstring
organization_idstring
extraction_errorsrequiredone ofExtraction errors.
Response 400application/json
1 fields

Bad request

FieldTypeDescription
messageone ofEither message or object with additional properties.
Response 403application/json
2 fields

Forbidden

FieldTypeDescription
messagestringRequest forbidden -- authorization will not help
urlstring (url)Indicates at which url the error occurs
Response 404application/json
1 fields

Partner, flow or execution not found

FieldTypeDescription
messagestringNothing matches the given URI
POST /vendors/staircase/flows/env-create/jobs/{job_id}

Terminate Create Environment Flow Execution

terminateCreateEnvironmentFlowExecution

Terminate execution of Create Environment Flow

This endpoint allows stopping execution of Create Environment Flow.

Response
application/json

Execution successfully terminated

{
  "job_id": "9348765c-2eda-46d6-9214-7119c175dc5f",
  "status": "ABORTED",
  "stop_date": "2021-06-25 13:15:34.447000+03:00"
}
Parameters
2
ParameterTypeExampleDescription
job_id required string (uuid) path 7c668252-d2ba-job-id-896d-1f73236287d9 Execution ID
product_name required string query environment-creator This parameter is required to be `environment-creator`. Anything else would cause a failure
Response 201application/json
3 fields

Execution successfully terminated

FieldTypeDescription
job_idstringExecution job id.
statusstringStatus of the execution.
stop_datestringStop date.
Response 400application/json
1 fields

Bad request

FieldTypeDescription
messageone ofEither message or object with additional properties.
Response 403application/json
2 fields

Forbidden

FieldTypeDescription
messagestringRequest forbidden -- authorization will not help
urlstring (url)Indicates at which url the error occurs
Response 404application/json
1 fields

Partner, flow or execution not found

FieldTypeDescription
messagestringNothing matches the given URI
GET /vendors/staircase/flows/env-create/executions

List Create Environment Flow Executions

listCreateEnvironmentFlowExecutions

Retrieve flow executions status

This endpoint allows getting status of flow executions.

Response
application/json

Executions list successfully retrieved

{
  "executions": [
    {
      "job_id": "6b54387a-fe7e-4fb0-ad2a-40c70ebd0f1c",
      "flow_name": "ocrolus-ide-classify-and-extract",
      "status": "SUCCEEDED",
      "start_date": "2021-06-25 13:34:56.441000+03:00",
      "stop_date": "2021-06-25 13:37:31.348000+03:00"
    },
    {
      "job_id": "a32f4f6b-a906-4b11-9f96-edaf1dcac592",
      "flow_name": "ocrolus-ide-classify-and-extract",
      "status": "ABORTED",
      "start_date": "2021-06-25 13:06:42.681000+03:00",
      "stop_date": "2021-06-25 13:15:34.447000+03:00"
    },
    {
      "job_id": "57340187-45f2-41ea-984a-cdc731a2d7f0",
      "flow_name": "ocrolus-ide-classify-and-extract",
      "status": "FAILED",
      "start_date": "2021-06-25 13:02:19.838000+03:00",
      "stop_date": "2021-06-25 13:11:07.252000+03:00"
    }
  ],
  "next_token": "AAAAKgAAAAIAAAAAAAAAAcsQMPbdXoFFnzT2rEqFsqrT0zHE/qEYZz+7bsEqn/szszKZGF+UqlAFcP48NpKsyXcxMIaopLnNb398gvFSPLP1AeV3K35+eWnxTNf0J8w+v3jiBLuzY/EaIPtvKlsUP7d1ARcA5Z2pppZqUkDNXgOqxMQTZPAbmyBNST+OdPbMylcX275vZ/0X4PyPvxnYgp53L97rJ0JMcQT/2+/Y8NAJQxsUESi00tv9E/glloA4hyvPAuFW6rZL8VY5bU7kh4LiPL9BmOhKaN+0QazQxaJZJmStj6jN2F27v0FpSkyl+ENTy4nZrw40PlRzg6Es8gZjxouPRD9erBiTahioV4lW9jpIu82rXX4N6e6lK5sfN+p68qNorq+F7jp9LokkC3idROMs4iB4OX2rX7YguDIbgg0NZneQndTE+Opph7eXlxMAXMIbxpSgI5TYyCQIP1GjsE66dCPldJBoogFv9IIEnt/38ZLpyOwwQnGVOLw8O/ARwH+Ev52AJIVUGVNqTA=="
}
Parameters
4
ParameterTypeExampleDescription
product_name required string query environment-creator This parameter is required to be `environment-creator`. Anything else would cause a failure
next_token string query p9208y937gtyuhoivju38hry0gvy3ruhifnc3kcd If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.
status_filter string query ABORTED If specified, only list the executions whose current execution status matches the given filter.
max_results integer query 100 The maximum number of results that are returned per call. You can use next-token to obtain further pages of results. The default is 50 and the maximum allowed page size is 1000. This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.
Response 200application/json
2 fields

Executions list successfully retrieved

FieldTypeDescription
next_tokenstringPagination token to get next results
executionsobject[]List of executions
job_idstringExecution ID
flow_namestringFlow name
statusstringExecution status
start_datestringExecution start date
stop_datestringExecution stop date
Response 400application/json
1 fields

Bad request

FieldTypeDescription
messageone ofEither message or object with additional properties.
Response 403application/json
2 fields

Forbidden

FieldTypeDescription
messagestringRequest forbidden -- authorization will not help
urlstring (url)Indicates at which url the error occurs
Response 404application/json
1 fields

Partner, flow or execution not found

FieldTypeDescription
messagestringNothing matches the given URI

Operations

POST /activate-auth-token

Activate auth token

activate-auth-token

Activates the authentication token on the given environment such token is used for performing operations of management in the environment where the environment product is deployed. IMPORTANT right after deploying environment manager this endpoint should be called, the environment token retrieved by the service should be stored as it is a one time only allowed operation

Request
application/json
{
  "api_key": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
Response
text/html

Bad Request

<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
Parameters
1
ParameterTypeExampleDescription
x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx X-API-KEY for using the service.
Request bodyapplication/json
1 fields
FieldTypeDescription
api_keyrequiredstring (uuid)API-KEY received via email upon account creationExample <redacted>
Response 200application/json
2 fields

Token activated.

FieldTypeDescription
messagerequiredstringSuccessful token activation message.Auth Token activated successfully
tokenrequiredstringAuthorization TokenExample <redacted>
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
errorstringError message.
Response 401application/json
1 fields

Unauthorized

FieldTypeDescription
messagestringError message.
Response 403application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access.
messagestringError message.
Response 404application/json
1 fields

Environment not found

FieldTypeDescription
errorstringError message.
Response 422application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
Response 500application/json
1 fields

Environment creation failure.

FieldTypeDescription
errorstringError message.
POST /disable-environment

Disable environment

disableEnvironment

Disable environment used to disable and delete all the resources of a staircase environment assigned to the API-KEY provided.

Request
application/json
{
  "api_key": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "subdomain": "environment-manager"
}
Response
text/html

Bad request.

<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
Parameters
2
ParameterTypeExampleDescription
x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx API-KEY for using the endpoint.
Authorization required string header <redacted> Authorization token.
Request bodyapplication/json
2 fields
FieldTypeDescription
api_keyrequiredstringAPI-KEY assigned to the environment to be disabled
subdomainrequiredstringSubdomain assigned to the environment to be disabled
Response 202application/json
2 fields

Environment disabled.

FieldTypeDescription
messagerequiredstringDisable process status message.
statusrequiredstringStatus of the disabling process.
Response 400application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
Response 401application/json
3 fields

Unauthorized

FieldTypeDescription
urlstringURL for getting access
messagestringError message.
MessagestringAccess denied error message.
Response 403application/json
3 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access
messagestringError message.
MessagestringAccess denied error message.
Response 404application/json
1 fields

Environment not found

FieldTypeDescription
errorstringError message.
Response 422application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
Response 500application/json
1 fields

Environment disable failure.

FieldTypeDescription
errorstringError message.
POST /documentation-activate-key

Documentation environment key activation

activateKey

This service activates your API key and enables you to preview Staircase product APIs.

Request
application/json
{
  "api_key": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
Response
text/html

Bad Request

<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
Request bodyapplication/json
1 fields
FieldTypeDescription
api_keyrequiredstringAPI-KEY to be activated in the documentation environment.Example xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Response 200application/json
3 fields

Key activated.

FieldTypeDescription
fqdnrequiredstringFully qualified domain name of the environment where the key was activated.
statusrequiredstringStatus of the key activation.
messagerequiredstringMessage about the key activation.
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
errorstringError message.
Response 403application/json
2 fields

Forbidden

FieldTypeDescription
urlstringURL for getting access
messagestringError message.
Response 404application/json
1 fields

Environment not found

FieldTypeDescription
errorstringError message.
Response 500application/json
1 fields

Key Activation error

FieldTypeDescription
errorstringError message.
GET /env-tools/maintenance-access

Maintenance access

Retrieve a set of temporal credential for the environment to perform maintenance or support tasks

Response
text/html

Bad Request

<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
Parameters
4
ParameterTypeExampleDescription
x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx X-API-KEY for using the service
Authorization required string header <redacted> Authorizartion token
resource_type string query logs resource type for which the access will be granted
access_level string query read level of access to the resource
Response 200application/json
3 fields

Temporal login credentials

FieldTypeDescription
usernamestringUsername allowed for the temporal access.
account_aliasstringAccount alias to be used for accessing.
passwordstringOne time Password.
Response 400application/json
2 fields

Bad Request

FieldTypeDescription
urlstringURL of the documentation
messagestringError message.
Response 401application/json
2 fields

Access Denied

FieldTypeDescription
urlstringURL for getting proper access
messagestringError message.
Response 403application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting proper access
messagestringError message.
Response 404application/json
1 fields

Environment not found

FieldTypeDescription
errorstringError message.
Response 422application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
Response 500application/json
1 fields

Maintenance access failure.

FieldTypeDescription
errorstringError message.
GET /environment/{api_key}

Get environment status

get-environment

Get environment Fetch environment status.

Response
text/html

Bad request.

<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
Parameters
2
ParameterTypeExampleDescription
x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx X-API-KEY for using the service.
api_key required string path xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Environment API-KEY
Response 400application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
Response 401application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access
messagestringError message.
Response 403application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access
messagestringError message.
Response 404application/json
1 fields

Environment not found

FieldTypeDescription
errorstringError message.
Response 500application/json
1 fields

Environment creation failure.

FieldTypeDescription
errorstringError message.
Other responses

200

GET /list-environments

List active environments

list-environments

List environments Fetch list of active environments.

Response
application/json

Bad request.

Bad request
Parameters
2
ParameterTypeExampleDescription
x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx X-API-KEY for using the service.
Authorization required string header <redacted> Authorization token.
Response 200application/json
1 fields

Response body with the list of child environment active.

FieldTypeDescription
environmentsrequiredobject[]List of active child environments FQDN and service API-KEY
fqdnstringDomain name of the environment.
service-keystringAPI-KEY of the environment.
Response 400application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
Response 403application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access
messagestringError message.
Response 404application/json
1 fields

Environment not found

FieldTypeDescription
errorstringError message.
Response 422application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
Response 500application/json
1 fields

Server error

FieldTypeDescription
errorstringError message.
Other responses

401

GET /service-key/{api_key}

Get service API-KEY

get-service-key

Get service key Fetch service key value.

Response
text/html

Bad request.

<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
Parameters
3
ParameterTypeExampleDescription
x-api-key required string header <redacted> X-API-KEY for using the service.
Authorization required string header <redacted> Authorization token.
api_key required string path <redacted> Environment API-KEY
Response 200application/json
1 fields

Response body with the environment status and, environment details

FieldTypeDescription
service_keyrequiredstringUUID value of the service key.
Response 400application/json
1 fields

Bad request.

FieldTypeDescription
errorstringError message.
Response 401application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access
messagestringError message.
Response 403application/json
2 fields

Not Authorized

FieldTypeDescription
urlstringURL for getting access
messagestringError message.
Response 404application/json
1 fields

Not found

FieldTypeDescription
errorstringError message.
Response 500application/json
1 fields

Service key error.

FieldTypeDescription
errorstringError message.

Errors

400401403404422500

Type to search.