Run workflow

POST /api/service/workflows/submit

Trigger the running of an instance of a workflow.

Body Required

Workflow to run.

  • namespace string Required
  • resourceKind string Required

    Value is WorkflowTemplate.

  • resourceName string Required

    Unique name of the workflow to run. You should be able to find this name in the Workflow Center UI once a workflow has been created there.

Responses

POST /api/service/workflows/submit
curl \
 -X POST https://tenant.atlan.com/api/service/workflows/submit \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -H "Content-Type: application/json" \
 -d '{"namespace":"default","resourceKind":"WorkflowTemplate","resourceName":"atlan-snowflake-default-snowflake-1645488678"}'
Request example
{
  "namespace": "default",
  "resourceKind": "WorkflowTemplate",
  "resourceName": "atlan-snowflake-default-snowflake-1645488678"
}
Response example (200)
{
  "metadata": {
    "name": "atlan-snowflake-default-snowflake-1645488678-74mbc",
    "generateName": "atlan-snowflake-default-snowflake-1645488678-",
    "namespace": "default",
    "uid": "77ca209e-d666-48a0-b387-a958c0417d71",
    "resourceVersion": "21313918",
    "generation": 1,
    "creationTimestamp": "2022-05-05T12:52:46Z",
    "labels": {
      "workflows.argoproj.io/completed": "true",
      "workflows.argoproj.io/creator": "53954c95-47f8-49b3-9812-23eb40fb07cc",
      "workflows.argoproj.io/creator-email": "jsmith.at.example.com",
      "workflows.argoproj.io/creator-preferred-username": "jsmith",
      "workflows.argoproj.io/phase": "Succeeded",
      "workflows.argoproj.io/workflow-archiving-status": "Archived",
      "workflows.argoproj.io/workflow-template": "atlan-snowflake-default-snowflake-1645488678"
    },
    "annotations": {
      "workflows.argoproj.io/pod-name-format": "v1"
    },
    "managedFields": [
      {
        "manager": "argo",
        "operation": "Update",
        "apiVersion": "argoproj.io/v1alpha1",
        "time": "2022-05-05T12:52:46Z",
        "fieldsType": "FieldsV1",
        "fieldsV1": {
          "f:metadata": {
            "f:generateName\"": {},
            "f:labels": {
              ".": {},
              "f:workflows.argoproj.io/creator": {},
              "f:workflows.argoproj.io/creator-email": {},
              "f:workflows.argoproj.io/creator-preferred-username": {},
              "f:workflows.argoproj.io/workflow-template": {}
            }
          },
          "f:spec": {
            ".": {},
            "f:arguments": {},
            "f:workflowTemplateRef": {}
          },
          "f:status": {
            ".": {},
            "f:finishedAt": {},
            "f:startedAt": {},
            "f:storedTemplates": {}
          }
        }
      },
      {
        "manager": "workflow-controller",
        "operation": "Update",
        "apiVersion": "argoproj.io/v1alpha1",
        "time": "2022-05-05T12:57:38Z",
        "fieldsType": "FieldsV1",
        "fieldsV1": {
          "f:metadata": {
            "f:annotations": {
              ".": {},
              "f:workflows.argoproj.io/pod-name-format\"": {}
            },
            "f:labels": {
              "f:workflows.argoproj.io/completed\"": {},
              "f:workflows.argoproj.io/phase": {},
              "f:workflows.argoproj.io/workflow-archiving-status": {}
            }
          },
          "f:status": {
            "f:artifactRepositoryRef": {},
            "f:conditions": {},
            "f:estimatedDuration": {},
            "f:finishedAt": {},
            "f:nodes": {},
            "f:phase": {},
            "f:progress": {},
            "f:resourcesDuration": {},
            "f:startedAt": {},
            "f:storedTemplates": {},
            "f:storedWorkflowTemplateSpec": {}
          }
        }
      }
    ]
  },
  "spec": {
    "arguments": {},
    "workflowTemplateRef": {
      "name": "atlan-snowflake-default-snowflake-1645488678"
    }
  },
  "status": {
    "phase": "Succeeded",
    "startedAt": "string",
    "finishedAt": "string",
    "estimatedDuration": 261,
    "progress": "15/15",
    "nodes": {},
    "storedTemplates": {
      "cluster/atlan-snowflake/main": {
        "name": "main",
        "inputs": {
          "parameters": [
            {
              "name": "credentials-fetch-strategy",
              "value": "credential_guid",
              "enum": [
                "k8s_secret",
                "credential_guid"
              ]
            },
            {
              "name": "credential-kube-secret-name",
              "value": ""
            },
            {
              "name": "credential-guid",
              "value": ""
            },
            {
              "name": "extract-strategy",
              "value": "information-schema",
              "enum": [
                "information-schema",
                "account-usage"
              ]
            },
            {
              "name": "account-usage-database-name",
              "value": "SNOWFLAKE"
            },
            {
              "name": "account-usage-schema-name",
              "value": "ACCOUNT_USAGE"
            },
            {
              "name": "temp-table-regex",
              "value": ""
            },
            {
              "name": "control-config-strategy",
              "value": "default",
              "enum": [
                "default",
                "custom"
              ]
            },
            {
              "name": "control-config",
              "value": "{}"
            },
            {
              "name": "enable-lineage",
              "value": "true",
              "enum": [
                "true",
                "false"
              ]
            },
            {
              "name": "connection",
              "value": ""
            },
            {
              "name": "runtime-properties",
              "value": "{}"
            },
            {
              "name": "include-filter",
              "value": "{}"
            },
            {
              "name": "exclude-filter",
              "value": "{}"
            },
            {
              "name": "publish-mode",
              "value": "production",
              "enum": [
                "production",
                "test",
                "dev"
              ]
            },
            {
              "name": "atlas-auth-type",
              "value": "internal",
              "enum": [
                "internal",
                "apikey"
              ]
            },
            {
              "name": "auto-classification",
              "value": "false",
              "enum": [
                "true",
                "false"
              ]
            },
            {
              "name": "attachment-confidence-threshold",
              "value": "0.8"
            }
          ]
        },
        "outputs": {},
        "metadata": {},
        "dag": {
          "tasks": [
            {
              "name": "information-schema-extract",
              "template": "information-schema-extract",
              "arguments": {
                "parameters": [
                  {
                    "name": "credentials-fetch-strategy",
                    "value": "{{inputs.parameters.credentials-fetch-strategy}}"
                  },
                  {
                    "name": "credential-kube-secret-name",
                    "value": "{{inputs.parameters.credential-kube-secret-name}}"
                  },
                  {
                    "name": "credential-guid",
                    "value": "{{inputs.parameters.credential-guid}}"
                  },
                  {
                    "name": "connection",
                    "value": "{{inputs.parameters.connection}}"
                  },
                  {
                    "name": "runtime-properties",
                    "value": "{{inputs.parameters.runtime-properties}}"
                  },
                  {
                    "name": "temp-table-regex",
                    "value": "{{inputs.parameters.temp-table-regex}}"
                  },
                  {
                    "name": "include-filter",
                    "value": "{{inputs.parameters.include-filter}}"
                  },
                  {
                    "name": "exclude-filter",
                    "value": "{{inputs.parameters.exclude-filter}}"
                  },
                  {
                    "name": "publish-mode",
                    "value": "{{inputs.parameters.publish-mode}}"
                  },
                  {
                    "name": "control-config",
                    "value": "{{=sprig.ternary(inputs.parameters['control-config'], '{}', inputs.parameters['control-config-strategy'] == 'custom')}}"
                  },
                  {
                    "name": "enable-lineage",
                    "value": "{{inputs.parameters.enable-lineage}}"
                  },
                  {
                    "name": "atlas-auth-type",
                    "value": "{{inputs.parameters.atlas-auth-type}}"
                  },
                  {
                    "name": "auto-classification",
                    "value": "false"
                  },
                  {
                    "name": "attachment-confidence-threshold",
                    "value": "{{inputs.parameters.attachment-confidence-threshold}}"
                  }
                ]
              },
              "when": "'{{inputs.parameters.extract-strategy}}' == 'information-schema'"
            },
            {
              "name": "account-usage-extract",
              "template": "account-usage-extract",
              "arguments": {
                "parameters": [
                  {
                    "name": "credentials-fetch-strategy",
                    "value": "{{inputs.parameters.credentials-fetch-strategy}}"
                  },
                  {
                    "name": "credential-kube-secret-name",
                    "value": "{{inputs.parameters.credential-kube-secret-name}}"
                  },
                  {
                    "name": "credential-guid",
                    "value": "{{inputs.parameters.credential-guid}}"
                  },
                  {
                    "name": "database-name",
                    "value": "{{inputs.parameters.account-usage-database-name}}"
                  },
                  {
                    "name": "schema-name",
                    "value": "{{inputs.parameters.account-usage-schema-name}}"
                  },
                  {
                    "name": "temp-table-regex",
                    "value": "{{inputs.parameters.temp-table-regex}}"
                  },
                  {
                    "name": "connection",
                    "value": "{{inputs.parameters.connection}}"
                  },
                  {
                    "name": "runtime-properties",
                    "value": "{{inputs.parameters.runtime-properties}}"
                  },
                  {
                    "name": "include-filter",
                    "value": "{{inputs.parameters.include-filter}}"
                  },
                  {
                    "name": "exclude-filter",
                    "value": "{{inputs.parameters.exclude-filter}}"
                  },
                  {
                    "name": "publish-mode",
                    "value": "{{inputs.parameters.publish-mode}}"
                  },
                  {
                    "name": "control-config",
                    "value": "{{=sprig.ternary(inputs.parameters['control-config'], '{}', inputs.parameters['control-config-strategy'] == 'custom')}}"
                  },
                  {
                    "name": "enable-lineage",
                    "value": "{{inputs.parameters.enable-lineage}}"
                  },
                  {
                    "name": "atlas-auth-type",
                    "value": "{{inputs.parameters.atlas-auth-type}}"
                  },
                  {
                    "name": "auto-classification",
                    "value": "false"
                  },
                  {
                    "name": "attachment-confidence-threshold",
                    "value": "{{inputs.parameters.attachment-confidence-threshold}}"
                  }
                ]
              },
              "when": "'{{inputs.parameters.extract-strategy}}' == 'account-usage'"
            }
          ]
        }
      },
      "namespaced/atlan-snowflake-default-snowflake-1645488678/main\"": {
        "name": "main",
        "inputs": {},
        "outputs": {},
        "metadata": {},
        "dag": {
          "tasks": [
            {
              "name": "run",
              "arguments": {
                "parameters": [
                  {
                    "name": "credential-guid",
                    "value": "1663274c-37f1-465f-8448-961f6e658009"
                  },
                  {
                    "name": "extract-strategy",
                    "value": "information-schema"
                  },
                  {
                    "name": "account-usage-database-name",
                    "value": "SNOWFLAKE"
                  },
                  {
                    "name": "account-usage-schema-name",
                    "value": "ACCOUNT_USAGE"
                  },
                  {
                    "name": "connection",
                    "value": "{\"attributes\":{\"name\":\"samples\",\"qualifiedName\": \"default/snowflake/1645488678\",\"adminGroups\": [\"base\"],\"allowQuery\":true,\"allowQueryPreview\":true, \"rowLimit\":\"10000\",\"defaultCredentialGuid\": \"1663274c-37f1-465f-8448-961f6e658009\", \"connectorName\":\"snowflake\",\"sourceLogo\": \"https://docs.snowflake.com/en/_images/logo-snowflake-sans-text.png\", \"isDiscoverable\":true,\"isEditable\":false, \"category\":\"warehouse\"},\"typeName\":\"Connection\"}"
                  },
                  {
                    "name": "include-filter",
                    "value": "{\"^SNOWFLAKE_SAMPLE_DATA$\":[\"^TPCDS_SF10TCL$\"]}"
                  },
                  {
                    "name": "auto-classification",
                    "value": "true"
                  },
                  {
                    "name": "attachment-confidence-threshold",
                    "value": "0.8"
                  }
                ]
              },
              "templateRef": {
                "name": "atlan-snowflake",
                "template": "main",
                "clusterScope": true
              }
            }
          ]
        }
      }
    },
    "conditions": [
      {
        "type": "PodRunning",
        "status": "False"
      },
      {
        "type": "Completed",
        "status": "True"
      }
    ],
    "resourcesDuration": {
      "cpu": 288,
      "memory": 288
    },
    "storedWorkflowTemplateSpec": {
      "templates": [
        {
          "name": "main",
          "inputs": {},
          "outputs": {},
          "metadata": {},
          "dag": {
            "tasks": [
              {
                "name": "run",
                "arguments": {
                  "parameters": [
                    {
                      "name": "credential-guid",
                      "value": "1663274c-37f1-465f-8448-961f6e658009"
                    },
                    {
                      "name": "extract-strategy",
                      "value": "information-schema"
                    },
                    {
                      "name": "account-usage-database-name",
                      "value": "SNOWFLAKE"
                    },
                    {
                      "name": "account-usage-schema-name",
                      "value": "ACCOUNT_USAGE"
                    },
                    {
                      "name": "connection",
                      "value": "{\"attributes\":{\"name\":\"samples\",\"qualifiedName\": \"default/snowflake/1645488678\",\"adminGroups\": [\"base\"],\"allowQuery\":true,\"allowQueryPreview\":true, \"rowLimit\":\"10000\",\"defaultCredentialGuid\": \"1663274c-37f1-465f-8448-961f6e658009\", \"connectorName\":\"snowflake\",\"sourceLogo\": \"https://docs.snowflake.com/en/_images/logo-snowflake-sans-text.png\", \"isDiscoverable\":true,\"isEditable\":false,\"category\": \"warehouse\"},\"typeName\":\"Connection\"}"
                    },
                    {
                      "name": "include-filter",
                      "value": "{\"^SNOWFLAKE_SAMPLE_DATA$\":[\"^TPCDS_SF10TCL$\"]}"
                    },
                    {
                      "name": "auto-classification",
                      "value": "true"
                    },
                    {
                      "name": "attachment-confidence-threshold",
                      "value": "0.8"
                    }
                  ]
                },
                "templateRef": {
                  "name": "atlan-snowflake",
                  "template": "main",
                  "clusterScope": true
                }
              }
            ]
          }
        }
      ],
      "entrypoint": "main",
      "arguments": {},
      "serviceAccountName": "argo-workflow",
      "imagePullSecrets": [
        {
          "name": "github-docker-registry"
        }
      ],
      "ttlStrategy": {
        "secondsAfterCompletion": 86400,
        "secondsAfterSuccess": 86400,
        "secondsAfterFailure": 86400
      },
      "activeDeadlineSeconds": 86400,
      "podGC": {
        "strategy": "OnWorkflowSuccess"
      },
      "metrics": {
        "prometheus": [
          {
            "name": "exec_duration_gauge",
            "labels": [
              {
                "key": "name",
                "value": "{{workflow.name}}"
              },
              {
                "key": "namespace",
                "value": "{{workflow.namespace}}"
              },
              {
                "key": "status",
                "value": "{{workflow.status}}"
              },
              {
                "key": "template",
                "value": "{{workflow.labels.workflows.argoproj.io/workflow-template}}"
              }
            ],
            "help": "Duration gauge by name",
            "gauge": {
              "value": "{{workflow.duration}}",
              "realtime": null
            }
          }
        ]
      },
      "workflowTemplateRef": {
        "name": "atlan-snowflake-default-snowflake-1645488678"
      }
    },
    "artifactRepositoryRef": {
      "default": true,
      "artifactRepository": {
        "archiveLogs": true,
        "s3": {
          "endpoint": "s3.us-east-1.amazonaws.com",
          "bucket": "atlan-somewhere-something-z741y6g27hzq",
          "region": "us-east-1",
          "insecure": false,
          "useSDKCreds": true,
          "keyFormat": "argo-artifacts/{{workflow.namespace}}/{{workflow.name}}/{{pod.name}}"
        }
      }
    }
  }
}
Response example (400)
{
  "code": 4000,
  "error": "argo error",
  "info": null,
  "message": "rpc error: code = NotFound desc = workflowtemplates.argoproj.io \"atlan-snowflake-default-snowflake-1645488678\" not found",
  "requestId": "cF5s59fOw9VzKPWf3rQxBm9irph4V5zE"
}