unSkript Documentation
Free SandboxBlogGitHubSlack Community
  • What is unSkript?
  • Guides
    • Contribute to Open Source
    • Getting started
      • Sign Up/Install
      • Authentication
        • Okta configuration
          • Okta Groups Sync
      • Create a Proxy
      • Add Credentials to Connect your Resources
      • Key Terms
  • RunBooks
    • Prebuilt xRunBooks
      • xRunBooks for CloudOps
      • xRunBooks for Cost Optimization
      • xRunBooks for DevOps
      • xRunBooks for IAM
      • xRunBooks for SecOps
      • xRunBooks for SRE
      • xRunBooks for Troubleshooting
    • Creating RunBooks
      • Importing unSkript xRunBooks
      • Create a xRunBook
      • Add an Action
      • Connecting Actions
      • Create a RunBook Input Parameter
      • Create a Credential
      • Writing Notes
      • Running XRunBooks
        • Running RunBooks with Approvals
      • Schedules
      • xRunBook Executions
      • Alarms
        • Create an Alarm Webhook
          • Webhooks for onprem installations
        • Create a Grafana Alert
        • Attaching runbooks to alarms
      • Folders
      • RunBook Outputs
  • Actions
    • What is an Action?
    • Create Custom Actions
    • Create Actions with AI
    • Actions
      • Action Configuration
        • Configure Action Inputs
        • Add Action Inputs
        • Action Output
        • Action Iterator
          • Using Iterators
        • Action Poll
        • Action Start Condition
      • Anatomy of an Action
    • Prebuilt Actions
  • Healthchecks
    • What is a HealthCheck?
    • Create a HealthCheck
      • Create a HealthCheck Folder
      • Adding Checks
    • HealthCheck Parameters
    • Running HealthChecks
    • HealthCheck Remediation
  • Workflows
    • What is a Workflow?
  • Connnecting
    • Connectors
      • Airflow
        • Airflow Actions
      • AWS
        • AWS Actions
          • AWS Cloudwatch Actions
          • AWS EC2 Actions
          • AWS ECS Actions
          • AWS EKS Actions
          • AWS ELB Actions
          • AWS IAM Actions
          • AWS Postgres Actions
          • AWS RDS Actions
          • AWS RedShift Actions
          • AWS S3 Actions
          • AWS VPC Actions
      • Azure
        • Azure Actions
      • ChatGPT
        • ChatGPT Actions
      • Datadog
        • Configuring webhook in Datadog
        • Datadog Actions
          • Datadog Alert Actions
          • Datadog Metrics Actions
          • Datadog Monitor Actions
      • Elasticsearch
        • Elasticsearch Actions
      • GCP
        • GCP Actions
          • GCP Bucket Actions
          • GCP GKE Actions
          • GCP IAM Actions
          • GCP VM Actions
      • Github
        • Github Actions
      • Grafana
        • Grafana Actions
      • Hadoop
        • Hadoop Actions
      • Jenkins
        • Jenkins Actions
      • Jira
        • Jira Actions
      • Kafka
        • Kafka Actions
      • Kubernetes
        • K8s Actions
      • MongoDB
        • MongoDB Actions
      • MS SQL
        • MSSQL Actions
      • MySQL
        • MySQL Actions
      • Netbox
        • Netbox Actions
      • Nomad
        • Nomad Actions
      • OpenSearch
        • opensearch Actions
      • Pingdom
        • Pingdom Actions
      • Postgres
        • Postgres Actions
      • Prometheus
        • Prometheus Actions
      • Redis
        • Redis Actions
      • REST
        • REST Actions
      • SalesForce
        • SalesForce Actions
      • Slack
        • Slack Actions
      • Snowflake
        • Snowflake Actions
      • Splunk
        • Splunk Actions
      • SSH
        • SSH Actions
      • Stripe
        • Stripe Actions
      • Terraform
        • Terraform Actions
      • Zabbix
    • Proxies
      • Environment
        • RunBooks Across Environments: ServiceIDs
      • unSkript Proxy
      • AWS Proxy
      • GCP Proxy
    • Secret store
      • Vault
  • Tooling
    • Role Based Access Control
      • RBAC Roles
    • API reference
      • Authentication
      • Endpoints
        • Executions
        • RunBooks
        • Schedules
    • Command Line Tool
    • Notifications
  • Fundamentals
    • Jupyter Notebook 101
  • Use Cases
    • DevOps
    • SRE
  • Open source
    • Runbooks.sh
    • Contribute to Open Source
  • Lists
    • AWS Service Quota list
Powered by GitBook
On this page

Was this helpful?

  1. Tooling
  2. API reference
  3. Endpoints

RunBooks

PreviousExecutionsNextSchedules

Last updated 1 year ago

Was this helpful?

List RunBooks

Curl Example (to get personal runBooks: isUnskript=false)

curl  'https://<domain>/v1alpha1/workflows?pageSize=100&isUnskript=false' \
      -H "X-unSkript-API-Key:<apikey>" 

Curl Example (isUnskript=true):

https://tenant-staging.alpha.unskript.io/v1alpha1/workflows?pageSize=100&isUnskript=true' \
-H "X-unSkript-API-Key:<apikey>"

Get RunBook Details

Curl Example:

This example gets the details of an unSkript XRunBook. To get a custom/personal xRUnBook, use the workflowId, and remove the isUnskript parameter.

'https://<domain>/v1alpha1/workflows/79c167af0209e60fc45455bf4943b733904d4ab8654028d8434d193d1bf8c16c?isUnskript=true' \
      -H "X-unSkript-API-Key:<apy key>" 

Run a RunBook

Curl Example:

This xRunBook requires no parameters.

curl  -X POST 'https://<domain>/v1alpha1/workflows/14fac589-5849-403b-afcf-ed8079099500/run' \
	-H "X-unSkript-API-Key:<apitoken>" \
-d '{"proxyId":"<proxyid>"}'

This xRunBook has input Parameters:

curl -X POST '<domain>/v1alpha1/workflows/c5030e77-7b0a-6c4ca/run'
-H "<apitoken>"
-d '{"proxyId":"<proxyid)", "inputs":"{"tag_key":"Service","tag_value":"MongoDB", "user_name":"test123"}"}'

List workflows

get

List workflows matching the optional filter

Query parameters
reqHdr.tidstringOptional

tid is the unique request id.

filterstringOptional

filter expression.

pageSizeinteger · int32Optional

page_size specifies the maximum number of results to be returned.

pageTokenstringOptional

page_token is used to request a specific page of the list results.

isUnskriptbooleanOptional

is_unskript describes whether to list unSkript or or custom workflows.

Responses
200
A successful response.
application/json
default
An unexpected error response.
application/json
get
GET /v1alpha1/workflows HTTP/1.1
Host: 
Accept: */*
{
  "respHdr": {
    "tid": "text",
    "requestTid": "text"
  },
  "workflows": [
    {
      "name": "text",
      "id": "text",
      "description": "text",
      "tags": [
        "text"
      ],
      "currentVersion": "text",
      "createTime": "2025-05-09T10:24:41.307Z",
      "lastRun": "2025-05-09T10:24:41.307Z",
      "lastUpdated": "2025-05-09T10:24:41.307Z",
      "proxyId": "text",
      "inputSchema": "text",
      "requiresApproval": true,
      "runningDisabled": true,
      "parentId": "text",
      "isFolder": true,
      "path": "text",
      "enableEnvironment": true,
      "executionDisabled": true,
      "connectorTypes": [
        "text"
      ],
      "categories": [
        "text"
      ],
      "icon": "text",
      "environmentStatus": [
        {
          "environmentName": "text",
          "status": "text",
          "reason": [
            "text"
          ]
        }
      ],
      "runningDisabledByFloatingEnv": true
    }
  ],
  "nextPageToken": "text",
  "pageCount": 1,
  "totalCount": 1,
  "categoryCounts": [
    {
      "name": "text",
      "count": "text"
    }
  ]
}

Get workflow details.

get

Get workflow details.

Path parameters
workflowIdstringRequired

workflow_id is the id of the requested workflow.

Query parameters
reqHdr.tidstringOptional

tid is the unique request id.

isUnskriptbooleanOptional

is_unskript describes if the workflow to get is default or custom.

tenantIdstringOptional

tenant_id is the tenantID of the workflow.

Responses
200
A successful response.
application/json
default
An unexpected error response.
application/json
get
GET /v1alpha1/workflows/{workflowId} HTTP/1.1
Host: 
Accept: */*
{
  "respHdr": {
    "tid": "text",
    "requestTid": "text"
  },
  "workflow": {
    "name": "text",
    "id": "text",
    "description": "text",
    "tags": [
      "text"
    ],
    "currentVersion": "text",
    "createTime": "2025-05-09T10:24:41.307Z",
    "lastRun": "2025-05-09T10:24:41.307Z",
    "lastUpdated": "2025-05-09T10:24:41.307Z",
    "proxyId": "text",
    "inputSchema": "text",
    "requiresApproval": true,
    "runningDisabled": true,
    "parentId": "text",
    "isFolder": true,
    "path": "text",
    "enableEnvironment": true,
    "executionDisabled": true,
    "connectorTypes": [
      "text"
    ],
    "categories": [
      "text"
    ],
    "icon": "text",
    "environmentStatus": [
      {
        "environmentName": "text",
        "status": "text",
        "reason": [
          "text"
        ]
      }
    ],
    "runningDisabledByFloatingEnv": true
  },
  "url": "text"
}
  • List RunBooks
  • GETList workflows
  • Get RunBook Details
  • GETGet workflow details.
  • Run a RunBook
  • POSTRuns workflow

Runs workflow

post

Runs created workflow

Path parameters
workflowIdstringRequired

workflow_id is the id of the requested workflow.

Body

RunWorkflowRequest is the request to run workflow.

tenantIdstringOptional

tenant_id is the id of the tenant (is taken from token in case of http call).

proxyIdstringRequired

proxyId is the id of proxy.

paramsstringOptional

params describes the input parameters to this particular run.

scheduleIdstringOptional

schedule_id is the id of the scheduler. A workflow can have multiple schedules (is omitted if called by user).

userIdstringOptional
requestIdstringOptional

request_id is the id of the request. Is present only in case of running workflow after request approval.

userEmailstringOptional
Responses
200
A successful response.
application/json
default
An unexpected error response.
application/json
post
POST /v1alpha1/workflows/{workflowId}/run HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 150

{
  "reqHdr": {
    "tid": "text"
  },
  "tenantId": "text",
  "proxyId": "text",
  "params": "text",
  "scheduleId": "text",
  "userId": "text",
  "requestId": "text",
  "userEmail": "text"
}
{
  "respHdr": {
    "tid": "text",
    "requestTid": "text"
  },
  "executionIds": [
    "text"
  ]
}