Skip to content
Staircase

Comply

Compliance evidence generated by the pipeline that ships the code: control status against named standards, and a secure workspace for remote access.

Comply checks source code and infrastructure against committed control sets — NIST, PCI, SOC 2 and HIPAA among them — and reports misconfigurations and violations in near real time rather than at review time.

Findings are broadcast into Health, so a configuration that drifts out of policy surfaces in the same place an operator is already watching, and can be corrected there.

How it works

It also provides the secure workspace an engineer outside the United States works from to reach the cloud console and the product APIs, and it is the path that issues temporary maintenance credentials after the environment owner approves the request.

Evidence is generated continuously because the alternative measures a moment. A control verified once a year has an unknown state between verifications, and that gap is exactly where drift lives.

Comply is callable on its own as well as being a pipeline stage, which is what lets an environment be assessed without a deployment.

Operations

Audit

POST /audit/vanta_role

Create Vanta Role

create-vanta-role

Create vanta role

Create vanta role creates a role to integrate your environment with vanta.com, an application for security audit. This service output an arn role that can be used inside vanta application to give vanta access to audit your environment.

This service assumes that you have a vanta account, and you are aware of the external_id and account_id associated with that account.

Request
application/json
{
  "external_id": "BA51515716F989E",
  "account_id": "956993596393"
}
Response
application/json

200 response

{
  "vanta_role_arn": "arn:aws:iam::891306488523:role/vanta-auditor-202d30c9-06ce-4de0-889a-a17721d670d0"
}
Request bodyapplication/json
2 fields
FieldTypeDescription
external_idrequiredstringExternal id from vanta.com
account_idrequiredstringAccount id from vanta.com
Response 200application/json
1 fields

200 response

FieldTypeDescription
vanta_role_arnstringVanta role arn which can be added to vanta to start auditing your environment
Other responses

400401403404

DELETE /audit/vanta_role/{role_name}

Delete Vanta Role

delete-vanta-role

Delete vanta role

Delete vanta role deletes an existing role for vanta.com by name, you can get the role name by using the service Retrieve Vanta Roles

Response
application/json

200 response

{
  "status": "SUCCEEDED"
}
Parameters
1
ParameterTypeExampleDescription
role_name required string path vanta-auditor-addg9e54-53dd-48aa-bad1-82762a05ab44 Role name for vanta.com
Response 200application/json
1 fields

200 response

FieldTypeDescription
statusstringResponse status
Other responses

400401403404

GET /audit/vanta_roles

Retrieve Vanta Roles

retrieve-vanta-role

Retrieve vanta roles retrieves a list of roles created to integrate your environment with vanta.com

Response
application/json

200 response

{
  "vanta_roles": [
    {
      "role_name": "vanta-auditor-ee373866-5447-435f-b4e0-43390de1392a",
      "vanta_role_arn": "arn:aws:iam::791306477523:role/vanta-auditor/vanta-auditor-ee373866-5447-435f-b4e0-43390de1392a",
      "account_id": "956993596390",
      "external_id": "BA51515716F989F"
    }
  ]
}
Response 200application/json
1 fields

200 response

FieldTypeDescription
vanta_rolesobject[]Vanta roles
role_namestringAuto-generated role name
vanta_role_arnstringVanta role arn which can be added to vanta.com
account_idstringAccount id from vanta.com
external_idstringExternal id from vanta.com
Other responses

400401403404

PUT /audit/cloudtrail

Set Cloudtrail Status

set-cloudtrail-status

Set cloudtrail status

Set cloudtrail status enables and disables the generation of the cloudtrail logs which are necessary to meet security requirements for vanta.com

Request
application/json
{
  "cloudtrail_enabled": "false"
}
Response
application/json

200 response

{
  "status": "SUCCEEDED"
}
Request bodyapplication/json
1 fields
FieldTypeDescription
cloudtrail_enabledrequiredstringCloudtrail logs status
Response 200application/json
1 fields

200 response

FieldTypeDescription
statusstringResponse status
Other responses

400401403404

Workspace

GET /bundles

Retrieve Bundles

get-workspace-bundles

Retrieve workspaces bundles Retrieves a list that describes the available WorkSpace bundles.

Response
application/json

200 response

{
  "Bundles": [
    {
      "BundleID": "ws-8kvnwmhz4",
      "Name": "Bundle name",
      "Description": "Description"
    }
  ]
}
Parameters
2
ParameterTypeExampleDescription
next_token string query 123456 The token to use to retrieve the next page of results. This value is null when there are no more results to return.
owner string query 123456 To describe the bundles provided by Amazon Web Services, specify AMAZON. To describe the bundles that belong to your account, don't specify a value.
Response 200application/json
1 fields

200 response

FieldTypeDescription
Bundlesobject[]Array of workspaces Bundles information
Other responses

400401403404422

POST /bundles

Create Bundles

create-bundles

Create bundles

'Create image Creates the specified WorkSpace bundle. For more information about creating WorkSpace bundles, see Create a Custom WorkSpaces Image and Bundle.'

Request
application/json
{
  "name": "DefaultBundle",
  "description": "Default Bundle",
  "image_id": "wsb-gk1wpk43z",
  "compute_type": "STANDARD",
  "user_storage": "5",
  "root_storage": "5"
}
Response
application/json

200 response

{
  "message": "The bundle is being created."
}
Request bodyapplication/json
6 fields
FieldTypeDescription
namerequiredstringThe name of the bundle.
descriptionrequiredstringThe description of the bundle.
image_idrequiredstringThe identifier of the image that is used to create the bundle.
compute_typerequiredstringDescribes the computed type of the bundle.
user_storagerequiredstringThe size of the user volume.
root_storagerequiredstringThe size of the root volume.
Response 200application/json
1 fields

200 response

FieldTypeDescription
messagestringThe status message about the creation
Other responses

400401403404422

PUT /default-bundle

Update Default Bundle

update-default-bundle

Update default bundle

'Update default bundle Updates the default bundle that will be used when creating workspaces'

Request
application/json
{
  "budnle_id": "wsb-gk1wpk43z"
}
Response
application/json

200 response

{
  "message": "Succeeded"
}
Request bodyapplication/json
1 fields
FieldTypeDescription
bundle_idrequiredstringThe identifier of the bundle for the WorkSpace. You can use DescribeWorkspaceBundles to list the available bundles.
Response 200application/json
1 fields

200 response

FieldTypeDescription
messagestringThe status message about the creation
Other responses

400401403404422

GET /images

Retrieve Images

get-workspace-images

Retrieve workspaces images Retrieves a list that describes one or more images.

Response
application/json

200 response

{
  "Images": [
    {
      "ImageID": "ws-8kvnwmhz4",
      "Name": "Image name",
      "Description": "Description"
    }
  ]
}
Parameters
1
ParameterTypeExampleDescription
next_token string query 123456 The token to use to retrieve the next page of results. This value is null when there are no more results to return.
Response 200application/json
1 fields

200 response

FieldTypeDescription
Imagesobject[]Array of workspaces images information
Other responses

400401403404422

POST /images

Create Image

create-image

Create image Creates a new updated WorkSpace image based on the specified source image.

Request
application/json
{
  "bundle_id": "wsb-gk1wpk43z",
  "name": "DefaultImage",
  "description": "Default image"
}
Response
application/json

200 response

{
  "message": "The image is being created."
}
Request bodyapplication/json
3 fields
FieldTypeDescription
bundle_idstringThe identifier of the bundle for the WorkSpace. You can use DescribeWorkspaceBundles to list the available bundles.
descriptionstringA description of whether updates for the WorkSpace image are available.
namerequiredstringThe name of the new updated WorkSpace image.
Response 200application/json
1 fields

200 response

FieldTypeDescription
messagestringThe status message about the creation
Other responses

400401403404422

POST /workspace

Create Workspace

create-workspace

Create workspace creates a workspace for the user provided.

Request
application/json
{
  "given_name": "Given Name",
  "surname": "Surname"
}
Response
application/json

200 response

{
  "message": "The workspace is being created. The user will receive and email with instructions and information about the workspace."
}
Request bodyapplication/json
3 fields
FieldTypeDescription
bundle_idstringThe identifier of the bundle for the WorkSpace. You can use DescribeWorkspaceBundles to list the available bundles.
given_namerequiredstringThe given name of the user the workspace will be created for.
surnamerequiredstringThe surname of the user the workspace will be created for.
Response 200application/json
1 fields

200 response

FieldTypeDescription
messagestringThe status message about the creation of the workspace
Response 422application/json
1 fields

Unprocessable Entity

FieldTypeDescription
errorobjectUnprocessable entity error.
messagerequiredstringError description.
Other responses

400401403404

DELETE /workspace/{workspace_id}

Delete Workspace

delete-workspace

Delete workspace deletes a workspace and its associated user.

Response
application/json

200 response

{
  "message": "Workspace deletion has started."
}
Parameters
1
ParameterTypeExampleDescription
workspace_id required string path ws-cv8hqyrjr Id of the workspace that will be deleted.
Response 200application/json
1 fields

200 response

FieldTypeDescription
messagestringThe status message
Response 422application/json
1 fields

Unprocessable Entity

FieldTypeDescription
errorobjectUnprocessable entity error.
messagerequiredstringError description.
Other responses

400401403404

PUT /workspace/{workspace_id}

Update Workspace

update-workspace

Update workspace Update a workspace compute type. Compute type payload attribute can have the following values:

  • VALUE [1 CPU, 2 GB Memory, 80|10 GB root|user storage]
  • STANDARD [2 CPU, 4 GB Memory, 80|50 GB root|user storage]
  • PERFORMANCE [2 CPU, 7.5 GB Memory, 80|100 GB root|user storage]
  • POWER [4 CPU, 16 GB Memory, 175|100 GB root|user storage]
  • POWERPRO [8 CPU, 32 GB Memory, 175|100 GB root|user storage]
  • GRAPHICS [8 CPU, 15 GB Memory, 100|100 GB root|user storage]
  • GRAPHICSPRO [16 CPU, 122 GB Memory, 100|100 GB root|user storage]
Request
application/json
{
  "compute_type": "VALUE"
}
Response
application/json

200 response

{
  "message": "Workspace update has started."
}
Parameters
2
ParameterTypeExampleDescription
workspace_id required string path ws-cv8hqyrjr Id of the workspace that will be updated.
Authorization required string header <redacted> Authorization token.
Request bodyapplication/json
1 fields
FieldTypeDescription
compute_typestringCompute type.
Response 200application/json
1 fields

200 response

FieldTypeDescription
messagestringThe status message
Other responses

400401403404

POST /workspace/reset-password

Reset Password

reset-workspace-password

Reset Password set new password using authorized credentials

Request
application/json
{
  "token": "123"
}
Response
application/json

200 response

{
  "message": "Succeeded."
}
Request bodyapplication/json
1 fields
FieldTypeDescription
new_passwordstringNew password.
Response 200application/json
1 fields

200 response

FieldTypeDescription
messagestringMessage describing process.
Other responses

400401403404422

GET /workspaces

Retrieve Workspaces

get-workspace

Retrieve workspaces returns a list of workspaces.

Response
application/json

200 response

{
  "Workspaces": {
    "WorkspaceId": "ws-8kvnwmhz4",
    "DirectoryId": "d-90675e3e71",
    "UserName": "efrain.coello",
    "IpAddress": "10.1.0.137",
    "State": "STOPPED",
    "BundleId": "wsb-gk1wpk43z",
    "SubnetId": "subnet-034c07dc6446907de",
    "ComputerName": "WSAMZN-4M9H1COV"
  }
}
Response 200application/json
1 fields

200 response

FieldTypeDescription
Workspacesobject[]Array of workspaces information
Response 422application/json
1 fields

Unprocessable Entity

FieldTypeDescription
errorobjectUnprocessable entity error.
messagerequiredstringError description.
Other responses

400401403404

POST /compliance_metrics

Trigger Rippling Synchronization

trigger-rippling-sync

Trigger rippling synchronization starts the synchronization with Rippling. The token is validated against Rippling. If the token is valid the synchronization is triggered but, the token is not saved for the scheduled synchronization calls.

Request
application/json
{
  "rippling_token": "73ghdygye737YTY73euyetdyydu73587ksjeifhyYGDJ"
}
Response
application/json

200 response

{
  "message": "Successfully started rippling synchronization."
}
Request bodyapplication/json
1 fields
FieldTypeDescription
rippling_tokenrequiredstringRippling token that should match the token used for the Rippling synchronization
Response 200application/json
1 fields

200 response

FieldTypeDescription
messagestringResponse status
Response 400application/json
1 fields

Bad Request

FieldTypeDescription
messagestringError description.
Other responses

401403404

Compliance

POST /compliance

Create Compliance

new-compliance

Comply looks for security violations based on security rules of comply for a given product.

Comply returns an compliance_id in the response body. To retrieve the results of the security validation, call Retrieve Compliance Status with the compliance_id.

Requirements to pass comply.

  1. The name of your project in asana must be the same as the product ontology. 2 Get your asana token here ``````.
  2. Add the custom field "Github" to your asana project.
  3. Add the link to your pull request in asana task custom field "Github" field.
  4. The task must be in the column "In progress" of asana.
Request
application/json
{
  "source_url": "https://code-dev-0258.s3.amazonaws.com/code-comply/1506dbf2/source.zip?AWSAccessKeyId=2323",
  "product_name": "Comply"
}
Response
application/json

200 response

{
  "compliance_id": "9dff4dc3-f700-4fc8-a51a-56d91d7ed7dg"
}
Parameters
4
ParameterTypeExampleDescription
asana_token required string header 1/1199400791141010:f1d4b85a291da54a88e14813a91d4b97 Authorization Asana Token
github_token required string header e50d125791d8c9ca25774ab0a758205d74f726ed GitHub Token
comply_client_id string header 6779ef20e75817b79602 Client credential generated by comply authentication
comply_client_secret string header 269d98e4922fb3895e9ae2108cbb5064 Client credential generated by comply authentication
Request bodyapplication/json
2 fields
FieldTypeDescription
source_urlrequiredstringURL to project source code.
product_namerequiredstringProduct Name.
Response 200application/json
1 fields

200 response

FieldTypeDescription
compliance_idstringCompliance id, used for get compliance status
Other responses

400401403404

GET /compliance_metrics

Retrieve Compliance Metrics Generation

get-compliance-metrics

Retrieve compliance metrics generation status

Retrieve compliance metrics generation status shows whether compliance metrics are being sent to health product or not.

Response
application/json

200 response

{
  "message": "Sending compliance metrics is enabled."
}
Response 200application/json
1 fields

200 response

FieldTypeDescription
messagestringResponse status
Other responses

400401403404

GET /compliance/{compliance_id}

Retrieve Compliance Status

compliance-status

Retrieve Compliance Status retrieves the results of the security validation and SOC2 process compliance status such as Change request process performed by Comply for the given compliance_id.

Response
application/json

200 response

{
  "compliance_id": "9dff4dc3-f700-4fc8-a51a-56d91d7ed7dg",
  "metadata": {
    "service-comply": {
      "id": "9dff4dc3-f700-4fc8-a51a-56d91d7ed7dg",
      "issuer": "https://api.staircaseapi.com/comply",
      "status": "SUCCEEDED",
      "severity_label": "LOW",
      "timestamp": 1611949487.728646,
      "version": "1.0.0"
    },
    "service-code": {
      "commit_hash": "5a8d1bbd276306e73ad5fcb1c45dfe3bb2e6c5c2",
      "id": "1506dbf2-ea7b-4b76-9f51-2ebb0ac49af1",
      "issuer": "https://api.staircaseapi.com/code",
      "status": "SUCCEEDED",
      "timestamp": 1611948276.2954555,
      "version": 1.1
    }
  },
  "source_url": "https://code-comply-oybto4.s3.amazonaws.com/comply/devops-code-comply-a51a-56d91d7ed7df/build.zip?AWSAccessKeyId=2525&Signature=TyI1LC0",
  "status": "SUCCEEDED",
  "warnings": {
    "security_violations": [
      {
        "resource_id": "arn:aws:lambda:us-east-1:791306477523:function:code-assessor-dev-apiGatewayLogHandler",
        "resource_type": "AwsLambdaFunction",
        "severity": "LOW",
        "standar": "PCI-DSS",
        "remediation": "https://docs.aws.amazon.com/console/securityhub/PCI.Lambda.2/remediation",
        "description": "PCI.Lambda.2 Lambda functions should be in a VPC",
        "resource_name": "code-assessor-dev-apigatewayloghandler",
        "stack_name": "code-assessor-dev",
        "product_name": "Assess"
      }
    ]
  }
}
Parameters
1
ParameterTypeExampleDescription
compliance_id required string path 9dff4dc3-f700-4fc8-a51a-56d91d7ed7dg id of Compliance
Response 200application/json
6 fields

200 response

FieldTypeDescription
compliance_idstringCompliance id
errorsobjectCompliance errors
security_violationsobjectContains security violations
source_urlstringPresigned URL metadata in the header for Comply and other products. This metadata is in use as a signature of successful compliance.
statusstringStatus of complianceCOMPLIANTFAILEDFAULTIN_PROGRESSNON_COMPLIANTSTOPPEDSUCCEEDEDTIMED_OUT
metadataobjectCompliance metadata plus metadata included in the compliance presigned URL coming from other products
service-complyobjectCompliance metadata
idstringCompliance id
issuerstringCompliance issuer
statusstringCompliance statusCOMPLIANTFAILEDFAULTIN_PROGRESSNON_COMPLIANTSTOPPEDSUCCEEDEDTIMED_OUT
severity_labelstringCompliance severity labelCRITICALHIGHINFORMATIONALLOWMEDIUM
timestampobjectCompliance timestamp
versionobjectCompliance version
warningsobjectCompliance warnings
process_violationsobjectCompliance process violations
Other responses

400401403404

PUT /compliance_metrics

Set Compliance Metrics Generation

put-compliance-metrics

Set compliance metrics generation

Set compliance metrics generation enables or disables the generation of compliance metrics sent to the health API.

Request
application/json
{
  "compliance_metrics_enabled": "false"
}
Response
application/json

200 response

{
  "message": "Sending compliance metrics is enabled."
}
Request bodyapplication/json
1 fields
FieldTypeDescription
compliance_metrics_enabledrequiredstringCompliance metrics generation status
Response 200application/json
1 fields

200 response

FieldTypeDescription
messagestringResponse status
Other responses

400401403404

Identity

GET /configurations

Retrieve configuration data

get-configuration-data

Retrieve configuration data retrieves data to configure an identity provider

Response
application/json

200 response

{
  "acs_url": "https://staircase.com/saml2/idpresponse",
  "identity_id": "urn:amazon:cognito:sp:us-east-1_bAcc5ljlp",
  "login_url": "https://staircase.com/login?client_id=1236&response_type=token&scope=email+openid&redirect_uri=https://staircase.com/callback"
}
Response 200application/json
3 fields

200 response

FieldTypeDescription
acs_urlstringACS URL
identity_idstringIdentity id
login_urlstringLogin URL
Other responses

400401403404

POST /identity_providers

Set identity provider

set-identity-provider

Set identity provider Sets identity data using provider metadata**

Request
application/json
{
  "metadata": "<data>Metadata</data>"
}
Response
application/json

200 response

{
  "status": "SUCCEEDED"
}
Request bodyapplication/json
1 fields
FieldTypeDescription
metadatarequiredstringProvider Metadata
Response 200application/json
1 fields

200 response

FieldTypeDescription
statusstringStatus process
Other responses

400401403404

DELETE /identity_providers

Remove identity provider

remove-identity-provider

Remove identity provider deletes identity provider settings

Response
application/json

200 response

{
  "status": "SUCCEEDED"
}
Parameters
1
ParameterTypeExampleDescription
Authorization required string header 123 Authorization Token
Response 200application/json
1 fields

200 response

FieldTypeDescription
statusstringStatus process
Other responses

400401403404

POST /users_access

Set user access

set-user-access

Set user access Sets temporary access to specific environments**

Request
application/json
{
  "email": "example@staircase.co",
  "expiration": 1441,
  "environment_domain": "example.com"
}
Response
application/json

200 response

{
  "status": "SUCCEEDED"
}
Parameters
1
ParameterTypeExampleDescription
Authorization required string header 123 Authorization Token
Request bodyapplication/json
3 fields
FieldTypeDescription
emailrequiredstringUser email
expirationintegerExpiration minutes
environment_domainstringEnvironment domain
Response 200application/json
1 fields

200 response

FieldTypeDescription
statusstringStatus process
Other responses

400401403404

SOC2

POST /soc2/offboarding

Create Offboarding Data

new-soc2-offboarding-data

Create offboarding data

Comply looks into controls required for SOC2 compliance. One of these controls is around on-boarding and off-boarding. As part of this control, there must be tasks for new employees to onboard and get access to different systems such as GitHub, G Suite. Comply integrates with Rippling HR tool and Asana task management tool to retrieve the list of employees and to make sure that there is an offboarding task for them. This endpoint can be used by auditors to make sure that Staircase is following required SOC2 controls.

Comply returns an offboarding_data_id in the response body. To retrieve the results of the security validation, call Retrieve offboarding Status with the offboarding_data_id.

Request
application/json
{
  "date_from": "2021-12-01",
  "admin_name": "Test Name"
}
Response
application/json

200 response

{
  "offboarding_data_id": "9dff4dc3-g700-4fc8-a51a-56d91d7ed7df"
}
Parameters
2
ParameterTypeExampleDescription
asana_token required string header 1/1199400791141010:f1d4b85a291da54a88e14813a91d4b97 Authorization Asana Token
rippling_token required string header byqVc9P6Woq0gUI01OMovA3o1wzymReZt3rBvwJTHpzaPwhKzW1fU4zzHkPcC3fe Authorization rippling Token
Request bodyapplication/json
2 fields
FieldTypeDescription
date_fromrequiredstringDate From.
admin_namestringUser admin name from asana
Response 200application/json
1 fields

200 response

FieldTypeDescription
offboarding_data_idstringOffboarding data id, used for get offboarding data
Other responses

400401403404

GET /soc2/offboarding/{offboarding_data_id}

Retrieve Offboarding Data

get-soc2-offboarding-data

Get offboarding data

Retrieve offboarding data retrieves the results of SOC2 offboarding process for a given offboarding_data_id.

Response
application/json

200 response

{
  "status": "COMPLIANT",
  "offboarding_data_id": "91ae0517-c3b9-4709-9f4c-55cb7ac231cd",
  "offboarding_process": {
    "offboarding_tasks": [
      {
        "employee_name": "Employee Name",
        "asana_task": "https://app.asana.com/0/252455/252455588"
      }
    ],
    "missing_tasks": []
  }
}
Parameters
1
ParameterTypeExampleDescription
offboarding_data_id required string path 9dff4dc3-f700-4fc8-a51a-56d91d7ed7dg Offboarding data id
Response 200application/json
4 fields

200 response

FieldTypeDescription
offboarding_data_idstringOffboarding data id
errorsobjectErrors
statusstringStatus of complianceCOMPLIANTFAILEDFAULTIN_PROGRESSNON_COMPLIANTSTOPPEDSUCCEEDEDTIMED_OUT
offboarding_processobjectOffboarding process data
Other responses

400401403404

POST /soc2/onboarding

Create Onboarding Data

new-soc2-onboarding-data

Create onboarding data

Comply looks into controls required for SOC2 compliance. One of these controls is around on-boarding and off-boarding. As part of this control, there must be tasks for new employees to onboard and get access to different systems such as GitHub, G Suite. Comply integrates with Rippling HR tool and Asana task management tool to retrieve the list of employees and to make sure that there is an onboarding task for them. This endpoint can be used by auditors to make sure that Staircase is following required SOC2 controls.

Comply returns an onboarding_data_id in the response body. To retrieve the results of the security validation, call Retrieve Onboarding Status with the onboarding_data_id.

Request
application/json
{
  "date_from": "2021-12-01"
}
Response
application/json

200 response

{
  "onboarding_data_id": "9dfg4dc3-f700-4fc8-a51a-56d91d7ed7df"
}
Parameters
2
ParameterTypeExampleDescription
asana_token required string header 1/1199400791141010:f1d4b85a291da54a88e14813a91d4b97 Authorization Asana Token
rippling_token required string header byqVc9P6Woq0gUI01OMovA3o1wzymReZt3rBvwJTHpzaPwhKzW1fU4zzHkPcC3fe Authorization rippling Token
Request bodyapplication/json
1 fields
FieldTypeDescription
date_fromrequiredstringDate From.
Response 200application/json
1 fields

200 response

FieldTypeDescription
onboarding_data_idstringOnboarding data id, used for get onboarding data
Other responses

400401403404

GET /soc2/onboarding/{onboarding_data_id}

Retrieve Onboarding Data

get-soc2-onboarding-data

Get onboarding data

Retrieve onboarding data retrieves the results of SOC2 onboarding process for a given onboarding_data_id.

Response
application/json

200 response

{
  "status": "COMPLIANT",
  "onboarding_data_id": "91ae0517-c3b9-4709-9f4c-55cb7ac231cd",
  "onboarding_process": {
    "onboarding_tasks": [
      {
        "employee_name": "Employee Name",
        "asana_task": "https://app.asana.com/0/252455/252455588"
      }
    ],
    "missing_tasks": []
  }
}
Parameters
1
ParameterTypeExampleDescription
onboarding_data_id required string path 9dff4dc3-g700-4fc8-a51a-56d91d7ed7df Onboarding data id
Response 200application/json
4 fields

200 response

FieldTypeDescription
onboarding_data_idstringOnboarding data id
errorsobjectErrors
statusstringStatus of complianceCOMPLIANTFAILEDFAULTIN_PROGRESSNON_COMPLIANTSTOPPEDSUCCEEDEDTIMED_OUT
onboarding_processobjectOnboarding process data
Other responses

400401403404

Machine to Machine

DELETE /app_client/{product_name}

Delete app client

delete-app-client

Delete app client Delete app client for product, To be able to use this API you must have "admin" or "product_engineer" profile

Response
application/json

200 response

{
  "message": "SUCCEEDED"
}
Parameters
2
ParameterTypeExampleDescription
product_name required string path Test Product Name
Authorization required string header 123 Authorization Token
Response 200application/json
1 fields

200 response

FieldTypeDescription
statusstringStatus process
Other responses

400401403404

GET /app_client/{product_name}

Get app client

get-app-client

Get app client Get app client for product, To be able to use this API you must have "admin" or "product_engineer" profile

Response
application/json

200 response

{
  "client_id": "client-id",
  "client_secret": "<redacted>"
}
Parameters
2
ParameterTypeExampleDescription
product_name required string path Test Product Name
Authorization required string header 123 Authorization Token
Response 200application/json
2 fields

200 response

FieldTypeDescription
client_idstringClient id
client_secretstringClient secret
Other responses

400401403404

POST /app_client/{product_name}

Create app client

create-app-client

Create app client Create new app client for product**, To be able to use this API you must have "admin" or "product_engineer" profile

Response
application/json

200 response

{
  "client_id": "client-id",
  "client_secret": "<redacted>"
}
Parameters
2
ParameterTypeExampleDescription
product_name required string path Test Product Name
Authorization required string header 123 Authorization Token
Response 200application/json
2 fields

200 response

FieldTypeDescription
client_idstringClient id
client_secretstringClient secret
Other responses

400401403404

POST /oauth/validate

Validate access token

validate-access-token

Validate access token Validate access token**

Response
application/json

200 response

{
  "sub": "08b02444-76cf-4644-a058-3e5b623f2620",
  "identities": "[{\"userId\":\"user@domain.com\",\"providerName\":\"Staircase\",\"providerType\":\"SAML\",\"issuer\":\"https://accounts.google.com/o/saml2?idpid=XXXX22222\",\"primary\":true,\"dateCreated\":1631219658425}]",
  "email_verified": "false",
  "profile": "developer",
  "email": "user@domain.com",
  "custom:environments_access": "[]",
  "username": "Staircase_user@domain.com"
}
Parameters
1
ParameterTypeExampleDescription
Authorization required string header <redacted> Access Token
Other responses

200400401403404

Providers

Errors

400401403404422

Type to search.