Link Search Menu Expand Document Documentation Menu

Provision a workflow

Provisioning a workflow is a one-time setup process usually performed by a cluster administrator to create resources that will be used by end users.

The workflows template field may contain multiple workflows. The workflow with the provision key can be executed with this API. This API is also executed when the Create or Update Workflow API is called with the provision parameter set to true.

You can only provision a workflow if it has not yet been provisioned. Deprovision the workflow if you need to repeat provisioning.

Path and HTTP methods

POST /_plugins/_flow_framework/workflow/<workflow_id>/_provision

Path parameters

The following table lists the available path parameters.

Parameter Data type Description
workflow_id String The ID of the workflow to be provisioned. Required.

Query parameters

If you have included a substitution expression in the template, you may pass it as a query parameter or as a string value of a request body field. For example, if you specified a credential field in a template as openAI_key: '$', then you can include the openai_key parameter as a query parameter or body field so it can be substituted during provisioning. For example, the following request provides a query parameter:

POST /_plugins/_flow_framework/workflow/<workflow_id>/_provision?<parameter>=<value>
Parameter Data type Description
User-provided substitution expressions String Parameters matching substitution expressions in the template. Optional.

Example requests

POST /_plugins/_flow_framework/workflow/8xL8bowB8y25Tqfenm50/_provision

The following request substitutes the expression $ with the value “12345” using a query parameter:

POST /_plugins/_flow_framework/workflow/8xL8bowB8y25Tqfenm50/_provision?openai_key=12345

The following request substitutes the expression $ with the value “12345” using the request body:

POST /_plugins/_flow_framework/workflow/8xL8bowB8y25Tqfenm50/_provision
{
  "openai_key" : "12345"
}

Example response

OpenSearch responds with the same workflow_id that was used in the request:

{
  "workflow_id" : "8xL8bowB8y25Tqfenm50"
}

To obtain the provisioning status, query the Get Workflow State API.

350 characters left

Have a question? .

Want to contribute? or .