Movatterモバイル変換


[0]ホーム

URL:


Tableau

Tableau REST API Help

Flow Methods


Using the flow methods of the Tableau Server REST API you can do the operations listed in the following categories:

Flows (sets of data preparation steps for a site)

Flow Tasks (scheduled or manually initiated tasks that perform flows for a site)

  • Get a list of flow tasks for a site and details of a specific flow task
  • Run a flow task
  • Add a flow task to a schedule
  • Add a flow task to a schedule withparameter values
  • Get a list of linked tasks for a site and details of a specific linked task
  • Run a linked task

Flow Connections (connections to data sources of a flow)

  • Get and update the connection information for a flow task

Flow Permissions (user permissions to initiate a flow)

  • List, grant, and remove granular permissions of a user to a flow

This functionality relates to the UI elements and concepts described at:Tableau Prep Conductor(Link opens in a new window).

Use Postman

Postman is a free, comprehensive API platform that simplifies the entire API lifecycle, providing a collaborative environment for designing, testing, and managing APIs. Postman allows you to construct, send, and examine HTTP requests to the Tableau Server or Tableau Cloud API without writing initial code.

Postman: Flows(Link opens in a new window)

Add Flow Permissions

Adds permissions to the specified flow for a Tableau Server user or group. You can specify multiple sets of permissions using one call.

URI

PUT /api/api-version/sites/site-id/flows/flow-id/permissions

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site that contains the flow.
datasource-idThe ID of the flow.

Request Body

<tsRequest>  <permissions>    <flow />    <granteeCapabilities>      <user />      <capabilities>        <capability name="capability-name" mode="capability-mode" />        ... additional capabilities ...      </capabilities>    </granteeCapabilities>    <granteeCapabilities>      <group />      <capabilities>        <capability name="capability-name" mode="capability-mode" />        ... additional capabilities ...      </capabilities>    </granteeCapabilities>    ... additional grantee capability sets ...  </permissions></tsRequest>

Attribute Values

flow-idThe flow-id value for the flow you want to add permissions to.
user-idThe ID (not name) of the user to add permissions for.
group-idThe ID (not name) of the group to add permissions for.
capability-nameThe capability to assign. If any capability has already been granted or denied for a specified user or group, that capability is ignored. Valid capabilities for a flow are:
  • ChangeHierarchy
  • ChangePermissions
  • Delete
  • Execute
  • ExportXml (Download)
  • Read (view)
  • WebAuthoringForFlows
  • Write

For more information, seePermissions.

Permissions

Tableau Server users who are not server administrators or site administrators can call this method only if they have permission to set permissions on the flow (either explicitly or implicitly).

Access Scope

Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).

tableau:permissions:update

For more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).

Response Code

200

Response Body

<tsResponse>    <permissions>        <flow name="Flow1">            <owner/>        </flow>        <granteeCapabilities>            <group/>            <capabilities>                <capability name="Read" mode="Allow"/>                <capability name="Write" mode="Allow"/>                <capability name="Delete" mode="Deny"/>            </capabilities>        </granteeCapabilities>        <granteeCapabilities>            <user/>            <capabilities>                <capability name="Delete" mode="Allow"/>            </capabilities>        </granteeCapabilities>    </permissions></tsResponse>

Version

Version 3.3 and later. For more information, seeREST API and Resource Versions.

Errors

HTTP statuserror CodeConditionDetails
400400000Bad requestThe content of the request body is missing or incomplete, or contains malformed XML.
400400009Invalid capabilityThe capability in the URI is invalid for a flow. Valid capabilities for a flow areChangeHierarchy,ChangePermissions,Delete,Execute,ExportXml (Download),Read (view), andWrite.
403403004Permissions setting forbiddenA non-administrator user called this method but doesn't have permission to set permissions on the flow.
404404000Site not found The site ID in the URI doesn't correspond to an existing site.
404404002User not foundA user ID in the request body doesn't correspond to an existing user.
404404027Flow not foundThe flow ID in the URI doesn't correspond to an existing flow.
404404012Group not foundA group ID in the request body doesn't correspond to an existing group.
404404013Capability not foundThe specified capability doesn't correspond to a defined capability. This can apply to either an invalid capability name or a capability other than Allow or Deny for any mode value.

For more information, seeHandling Errors.

Add Flow Task to Server Schedule

The Add Flow Task to Schedule method is renamed and retired for Tableau Cloud in API 3.22 (Tableau Cloud March 2024). It will remain available for Tableau Server only. For Tableau Cloud in March 2024, this method will be replaced withCreate Cloud Flow Task method.

Adds a task to run a flow to an existing schedule.

Note: This method is unavailable if you do not have aData Management license or Tableau Prep Conductor is disabled for your site.

URI

PUT /api/api-version/sites/site-id/schedules/schedule-id/flows

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site that contains the flow.
schedule-idThe ID of the schedule that you are associating with the flow. The schedule that you are adding to must have Flow as the schedule type.

Request Body

<tsRequest>  <task>    <flowRun>      <flow/>  <flowRunSpec>    <flowParameterSpecs>      <flowParameterSpec        parameterId="parameter-id"        overrideValue= "overrideValue"/>    <flowParameterSpecs>  <flowRunSpec>     </flowRun>   </task></tsRequest>

Attribute Values

flow-id

The ID of the flow to add to the schedule. This will include all the output steps in the flow and any output steps created in the future.

parameter-id

The ID of the flow parameter. Use theFlow Methods method to get the flow parameter ID. A parameter is a global placeholder value such as a number, text value, or boolean value that can replace a constant value in a flow.

Note: Parameters are optional and only relevant for flows that contain parameters and the parameter setting is enabled.

For more information, seeRun flows with parameters.

overrideValue

The run-time value for the flow parameter. You must specify this if the parameter is required. Use theFlow Methods method to see if the parameter is required and to get a list of allowed values if the parameter is expecting a value from an enumerated list.

Note: Parameters are options and only relevant for flows that contains parameters and the parameter setting is enabled.

For more information, seeRun flows with parameters.

Permissions

Tableau Server users who are not server administrators or site administrators can only add a flow to a schedule if they own the flow, or are the project leader for the project that contains the workbook.

Access Scope

Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).

tableau:schedules:update

For more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).

Response Code

200

Version

Version 3.3 and later. For more information, seeREST API and Resource Versions.

Errors

HTTP statuserror CodeConditionDetails
400400000Bad requestThe content of the request body is missing or incomplete, or contains malformed XML.
400400148Invalid parameter override valueThe run-time value provided for the flow parameter is invalid.
400400149Missing run-time parameter value.The run-time value for a required flow parameters was not provided.
401401002Unauthorized AccessThe authentication token provided in the request header was invalid or has expired.
403403098Update ForbiddenA non-administrator user called this method, but the caller doesn't have sufficient permissions.
404404000Site not foundThe site ID in the URI is unknown.
404404043Flow parameter not foundThe flow parameter information was not provided.
404404002User not foundA user ID in the request body doesn't correspond to an existing user.
404404027Flow not foundThe flow ID in the URI doesn't correspond to an existing flow.
405405000Invalid request methodRequest type was notPUT.

For more information, seeHandling Errors.

Example

curl "http://MY-SERVER/api/3.27/sites/1edc53ac-e247-4870-9fd3-6fad0ce5f84d/schedules/9a4ebbab-9ec8-487a-9b48-47fa81d6077a/flows" -X PUT -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd" –d @add-to-schedule.xml"

Content of add-to-schedule.xml:

The <flowRunSpec> in the request body is optional and only required in the following scenarios:

  • The flow has parameters and the parameter is marked as required to run the flow.
  • The flow has parameters but not marked as required. However, you want to specify a different value than the configured default.
<tsRequest>   <task>     <flowRun>       <flow/>  <flowRunSpec>    <flowParameterSpecs>      <flowParameterSpec>        parameterId="a2fb691b-90fa-4b6e-850e-f16c5afc1f89"        overrideValue= "2"/>    <flowParameterSpecs>  <flowRunSpec>     </flowRun>   </task></tsRequest

Example response:

<tsResponse version-and-namespace-settings>    <task>      <flowRun priority="50" consecutiveFailedCount="0" type="RunFlowTask">        <schedule name="demo" state="Active" priority="50" createdAt="2021-12-09T19:21:09Z" updatedAt="2022-01-19T23:06:56Z" type="Flow" frequency="Hourly" nextRunAt="2022-01-20T00:00:00Z"/>        <flow name="CoffeeChain"/>          <flowParametersRuns>            <parameterRuns parameterId="a2fb691b-90fa-4b6e-850e-f16c5afc1f89" name="param 2 required" description=testparameter2" overrideValue = "2"/>   <flowParametersRuns>      </flowRun>    </task></tsResponse>

Cancel Flow Run

Cancels a flow run that is in progress.

URI

PUT /api/api-version/sites/site-id/flows/runs/flow-run-id

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site that contains the flow.
flow-run-idThe ID of the flow run.

Request Body

None

Access Scope

Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).

tableau:flow_runs:update

For more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).

Response Code

200

Response Body

None

Version

Version 3.10 and later. For more information, seeREST API and Resource Versions.

Errors

HTTP statuserror CodeConditionDetails
403403135Flow run already completeThe flow run is already complete so it could not be canceled.
403403137User does not have permissions to cancel flow runIn addition to server administrators and site administrators, users can cancel a flow run if they initiated the flow run or created the flow run scheduled task and have "Run Flow Now" permissions for the flow.
404404000Site not foundThe site ID or URL namespace in the URI doesn't correspond to an existing site.
404404036Flow run not foundThe flow run ID in the URI doesn't correspond to an existing flow run.
405405000Invalid request methodRequest type was notPUT.

For more information, seeHandling Errors.

Create Cloud Flow Task

Creates a flow task on Tableau Cloud, and set its schedule.

Note: This method is unavailable if you do not have aData Management license or Tableau Prep Conductor is disabled for your site.

Version:Available in API 3.22 (Tableau Cloud April 2024) and later. Not available for Tableau Server.Version Overview(Link opens in a new window)

License:RequiresTableau Data Management(Link opens in a new window).

Permissions:A user can create a cloud flow task if you are a site or server administrator, or they own the flow,or are the project leader for the project that contains the workbook. Permissions Overview(Link opens in a new window)

JWT Access Scope:Not available.

URI

POST /api/api-version/sites/site-luid/tasks/flows

URI Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-luidThe LUID for the site.

Request Body

<tsRequest>  <task>    <flowRun>      <flow/>    </flowRun>  </task>  <schedule frequency="Daily">    <frequencyDetails start="12:30:00" end="23:30:00">      <intervals>        <interval hours="4"/>        <interval weekDay="Monday"/>        <interval weekDay="Wednesday"/>      </intervals>    </frequencyDetails>  </schedule></tsRequest>
{  "task": {    "flowRun": {      "flow": {        "id": "dd3cd2e7-2ede-49c6-945f-e7b2a2f25541"      }    }  },  "schedule": {    "frequency": "Daily",    "frequencyDetails": {      "start": "12:30:00",      "end": "23:30:00",      "intervals": [        {          "hours": "4"        },        {          "weekDay": "Monday"        },        {          "weekDay": "Wednesday"        }      ]    }  }}

Request Attributes

flow.id(Required)The LUID of the flow the task is being scheduled for.
schedule frequency(Required to create subscription) enumeration: The scheduled frequency for triggering the task. Valid values include:
  • Hourly
  • Daily
  • Weekly
  • Monthly
frequencyDetails start(Required to create subscription) time: If the schedule frequency isDaily, Weekly, or Monthly, thenstartis the time of day on which scheduled jobs should run. If the frequency isHourly, thenstart is the beginning of thetime range during which jobs should be started. The valid format isHH:MM:SS.
frequencyDetails end

(Required to create subscription) time: If the schedule frequency isHourly, orDaily with an interval ofhours less than24, thenend is the time of day on which scheduled jobs should stop being run.The valid format isHH:MM:SS. Time should be specified in 5 minute increments and the difference between startand end times should be increments of 60 minutes. For example, a validfrequencyDetail would be:

<frequencyDetail start="20:45:00" end="21:45:00">  . . .</frequencyDetail>
interval{interval type}(Required to create subscription) string: Defines when and how often a scheduled job executes within the time parameters set in thestart andend values of thefrequencyDetails of theschedule. The type and valid values foran interval expression depend on the declaredfrequency of theschedule as follows:

FrequencyValid interval values
Hourly The value of an interval for anHourly schedule can be only one of either:
  • hours="1"The number of hours between jobs.1 is the only valid value.
  • minutes="60" The number of minutes between jobs.60 is the only valid value.
  • weekDay="weekday" The weekday(s) the job will be run on.Valid values are:Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday.

    For example, to schedule to run a job every hour on Sunday and Wednesday, during the time range specified infrequencyDetailsuse an interval like:
    <intervals>  <interval hours="1"/>  <interval weekDay="Sunday"/>  <interval weekDay="Wednesday"/><intervals>

DailyThe value ofDaily can have multipleweekday elements, but only onehours declaration.Anhours interval is required.
  • hours="interval" The interval between execution of jobs on the weekday(s) specified.Valid values are2, 4, 6, 8, 12, or 24. Note that if theinterval value of a daily scheduleis less than24, afrequencyDetail end time must be supplied.
  • weekDay="weekday" The weekday(s) the job will be run on.Valid values are:Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, or Saturday.

    For example, to schedule to run a job every 4 hourson Sunday and Wednesday, during the time range specified infrequencyDetailsuse an interval like:
    <intervals>  <interval hours="4"/>  <interval weekDay="Sunday"/>  <interval weekDay="Wednesday"/><intervals>
WeeklyweekDay="weekday"The day of the week the schedule should run on. You can only specify a single day for a Weekly schedule. Valid values are:Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, or Saturday.
Monthly

The day(s) of the month a job should be scheduled to run on. There are two ways to define a monthly interval:

Specify the day(s) using the number of the day in the month;

  • monthDay="day" The number of the day of the month. Valid values are the whole numbers1 to31 orLastDay. If you specifymonthDay by day numberthen you can use multipleinterval instances to choose for the job torun on multiple days in the month. If you useLastDay then only one instance ofintervalcan be used in the schedule to specify the last day of the month.

Specify the day by describing which occurrence of a weekday within the month.

  • monthDay="occurrence_of_weekday" Weekday="weekday"The occurrence of the specified weekday within the month when a job should be run.Valid values foroccurrencee_of_weekday areFirst, Second, Third, Fourth, Fifth, or LastDay.Valid values forweekday areSunday, Monday, Tuesday, Wednesday, Thursday, Friday, or Saturday.If the value islastDay then the job will run onthe last occurrence of the specified weekday in the month.

    For example, to make a schedule that that would run a job on the third Thursday of each month, you would use:
    <interval monthDay="Third" weekDay="Thursday"/>

cURL Request Example

curl "http://MY-SERVER/api/3.27/sites/9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d/datasources/1a1b1c1d-2e2f-2a2b-3c3d-3e3f4a4b4c4d/connections" -X GET -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd"

Response Code

200

Response Body

<tsResponse>  <task>    <flowRun      priority="50"      consecutiveFailedCount="0"      type="RunFlowTask">        <schedule          name="SSS_e95a9d25-c616-4542-87b6-3725975bdfbd"          state="Active"          priority="50"          createdAt="2024-04-09T18:54:12Z"          updatedAt="2024-04-09T18:54:12Z"          type="Flow"          frequency="Daily"          nextRunAt="2024-04-10T19:30:00Z"/>        <flow          name="olympic 1">            <parameters>              <parameter                type="integer"                name="output_count"                description="This is a parameter of a flow."                value="2"                isRequired="true">                  <domain xsi:type="flowParameterAnyDomainType"                    domainType="all"/>              </parameter>            </parameters>        </flow>        <flowRunSpec flowId="dd3cd2e7-2ede-49c6-945f-e7b2a2f25541">        <flowOutputSteps>          <flowOutputStep            name="Output"/>        </flowOutputSteps>        <flowParameterSpecs/>      </flowRunSpec>    </flowRun>  </task></tsResponse>
{  "task": {    "flowRun": {      "id": "4d49655a-0f3a-45cc-ba61-b108a763e83a",      "priority": "50",      "consecutiveFailedCount": "0",      "type": "RunFlowTask",      "schedule": {        "id": "1060dcb7-fef7-4fb1-8d3b-d0f042932d1a",        "name": "SSS_e95a9d25-c616-4542-87b6-3725975bdfbd",        "state": "Active",        "priority": "50",        "createdAt": "2024-04-09T18:54:12Z",        "updatedAt": "2024-04-09T18:54:12Z",        "type": "Flow",        "frequency": "Daily",        "nextRunAt": "2024-04-10T19:30:00Z"      },      "flow": {        "id": "dd3cd2e7-2ede-49c6-945f-e7b2a2f25541",        "name": "olympic 1",        "parameters": {          "parameter": {            "id": "4f22c514-5b56-4400-a48a-f69d9be217a9",            "type": "integer",            "name": "output_count",            "description": "This is a parameter of a flow.",            "value": "2",            "isRequired": "true",            "domain": {              "xsi_type": "flowParameterAnyDomainType",              "domainType": "all"            }          }        }      },      "flowRunSpec": {        "flowId": "dd3cd2e7-2ede-49c6-945f-e7b2a2f25541",        "flowOutputSteps": {          "flowOutputStep": {            "id": "485c8b5f-5647-466c-b549-e38410b7c7c8",            "name": "Output"          }        },        "flowParameterSpecs": []      }    }  }}

Errors

HTTP statuserror CodeConditionDetails
400400000Bad RequestThe content of the request body is missing or incomplete, or contains malformed XML.
401401002Unauthorized AccessThe authentication token provided in the request header was invalid or has expired.

For more information, seeHandling Errors.

Delete Flow

Deletes a flow. When a flow is deleted, its associated connections, the output and input steps, any associated scheduled tasks, and run history are also deleted.

URI

DELETE /api/api-version/sites/site-id/flows/flow-id

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site that contains the flow.
flow-idThe ID of the flow to delete.

Request Body

None

Permissions

Tableau Server users who are not server administrators or site administrators can delete a flow for which they have Read (view) and Delete permissions (either explicitly or implicitly).

Access Scope

Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).

tableau:flows:delete

For more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).

Response Code

204

Response Body

None

Version

Version 3.3 and later. For more information, seeREST API and Resource Versions.

Errors

HTTP statuserror CodeConditionDetails
403403004Deletion forbiddenA non-administrator user called this method but doesn't have Read (view) and Delete permission for the flow.
404404000Site not foundThe site ID or URL namespace in the URI doesn't correspond to an existing site.
404404027Flow not foundThe flow ID in the URI doesn't correspond to an existing flow.
405405000Invalid request methodRequest type was notDELETE.

For more information, seeHandling Errors.

Delete Flow Permission

Deletes the specified permission from the specified flow for a group or user.

URI

DELETE /api/api-version/sites/site-id/flows/flow-id/permissions/groups/group-id/capability-name/capability-mode

DELETE /api/api-version/sites/site-id/flows/flow-id/permissions/users/user-id/capability-name/capability-mode

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site that contains the flow.
flow-idThe ID of the flow to remove the permission for.
group-idThe ID of the group to remove the permission for.
user-idThe ID of the user to remove the permission for.
capability-nameThe capability to remove the permission for. Valid capabilities for a flow are:
  • ChangeHierarchy
  • ChangePermissions
  • Delete
  • Execute
  • ExportXml (Download)
  • Read (view)
  • WebAuthoringForFlows
  • Write

For more information, seePermissions.

capability-modeAllow to remove the allow permission, orDeny toremove the deny permission. This value is case sensitive.

Request Body

None

Permissions

Tableau Server users who are not server administrators or site administrators can delete permissions from a flow only if they haveChangePermissions permission for flow (either explicitly or implicitly).

Access Scope

Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).

tableau:permissions:delete

For more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).

Response Code

204

Response Body

None

Version

Version 3.3 and later. For more information, seeREST API and Resource Versions.

Errors

HTTP statuserror CodeConditionDetails
400400009Invalid capabilityThe capability in the URI is invalid for a flow. Valid capabilities for a flow areChangeHierarchy,ChangePermissions,Delete,Execute,ExportXml (Download),Read (view), andWrite.
403403004Permissions setting forbiddenA non-administrator user called this method but doesn't have permission to set permissions on the flow.
404404000Site not foundThe site ID in the URI doesn't correspond to an existing site.
404404002User not foundThe user ID in the URI doesn't correspond to an existing user.
404404027Flow not foundThe flow ID in the URI doesn't correspond to an existing flow.
404404012Group not foundThe group ID in the URI doesn't correspond to an existing group.
404404013Capability not foundThe capability in the URI doesn't correspond to a defined capability. This can apply to either an invalid capability name or a capability other thanAlloworDenyat the end of the URI.
404404013Capability not assignedThe capability in the URI is not assigned to the specified user or group with the specified mode (AlloworDeny).
405405000Invalid request methodRequest type was notDELETE.

For more information, seeHandling Errors.

Download Flow

Downloads a flow in .tfl or .tflx format.

URI

GET /api/api-version/sites/site-id/flows/flow-id/content

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site that contains the flow.
flow-idThe ID of the flow to download.

Request Body

None

Permissions

Tableau Server users who are not server administrators or site administrators can download a flow only if they have download permission for the flow (either explicitly or implicitly).

Access Scope

Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).

tableau:flows:download

For more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).

Response Code

200

Response Body

None

Version

Version 3.3 and later. For more information, seeREST API and Resource Versions.

Errors

HTTP statuserror CodeConditionDetails
403403097Read forbiddenA non-administrator user attempted to download a flow, but the caller doesn't haveRead permission.
404404000Site not foundThe site ID in the URI doesn't correspond to an existing site.
404404027Flow not foundThe flow ID in the URI doesn't correspond to an existing flow.
405405000Invalid request methodRequest type was notGET.

For more information, seeHandling Errors.

Example

curl "http://MY-SERVER/api/3.27/sites/9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d/flows/1a2a3b4b-5c6c-7d8d-9e0e-1f2f3a4a5b6b/content" -X GET -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd" >

Response: The response is a file that contains the flow.

Get Flow Run

Gets a flow run.

URI

GET /api/api-version/sites/site-id/flows/runs/flow-run-id

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site that contains the flow.
flow-run-idThe ID of the flow run.

Request Body

None

Access Scope

Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).

tableau:flow_runs:read

For more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).

Response Code

200

Response Body

<tsResponse>   <flowRun    flow    status="status"    startedAt="DATE_TIME"    completedAt="DATE_TIME"    progress="100"    backgroundJobId="background_job_id"/>     <flowParameterRuns>       <parameterRuns parameter        name="parameter_name"        description="parameter_description"        overrideValue="override_value"/>     </flowParameterRuns>   </flowRun></tsResponse>

Thestatus attribute can be:Pending,InProgress,Success,Cancelled, orFailed.

Version

Version 3.10 and later. For more information, seeREST API and Resource Versions.

Errors

HTTP statuserror CodeConditionDetails
403403004Get forbiddenUser does not have permissions to get the flow run. A user can view a flow run if they have permission to view the flow.
404404000Site not foundThe site ID or URL namespace in the URI doesn't correspond to an existing site.
404404036Flow run not foundThe flow run ID in the URI doesn't correspond to an existing flow run.
405405000Invalid request methodRequest type was notGET.

For more information, seeHandling Errors.

Get Flow Runs

Get flow runs.

URI

GET /api/api-version/sites/site-id/flows/runs

GET /api/api-version/sites/site-id/flows/runs?filter=filter-expression

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site.
filter-expression(Optional) An expression that lets you specify a subset to return. You can filter on predefined fields such as theuserId of the user who started the flow run,flowId,progress,startedAt, andcompletedAt. You can include multiple filter expressions. For more information, seeFiltering and Sorting.

Request Body

None

Access Scope

Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).

tableau:flow_runs:read

For more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).

Response Code

200

Response Body

<tsResponse>   <flowRuns>     <flowRuns      flow      status="status"      startedAt="DATE_TIME"      completedAt="DATE_TIME"      progress="100"      backgroundJobId="background_job_id"/>       <flowParameterRuns>  <parameterRuns parameterId="parameter_id"          name="parameter_name"          description="parameter_description"   overrideValue="override_value"/></flowParameterRuns>    </flowRuns>     ... additional flow runs....</tsResponse>

Thestatus attribute can be:Pending,InProgress,Success,Cancelled, orFailed.

Version

Version 3.10 and later. For more information, seeREST API and Resource Versions.

Errors

HTTP statuserror CodeConditionDetails
403403004Get forbiddenUser does not have permissions to get the flow run.
404404000Site not foundThe site ID or URL namespace in the URI doesn't correspond to an existing site.
404404002User not foundThe user ID in the filter doesn't correspond to an existing user.
405405000Invalid request methodRequest type was notGET.

For more information, seeHandling Errors.

Get Flow Run Task

Returns information about the specified flow run task. This method shows you information about the scheduled task for the flow.

URI

GET /api/api-version/sites/site-id/tasks/runFlow/task-id

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site that the user is a member of.
task-idThe ID of the scheduled flow run task that you want information about.

Request Body

None

Permissions

Tableau Server users who are not server administrators or site administrators can only access the list of scheduled flow run tasks that they own.

Access Scope

Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).

tableau:flow_tasks:read

For more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).

Response Code

200

Response Body

<tsResponse>   <task>     <flowRun      priority="nn"      consecutiveFailedCount="n"      type="RunFlowTask">       <schedule        name="schedule_name"        state="state"        priority="nn"        createdAt="DATE_TIME"        updatedAt="DATE_TIME"        type="flowRun"        frequency="frequency"        nextRunAt="DATE_TIME"/>         <flow          name="flow_name"/>    <parameters><parameter                type="data_type"                name="parameter_name"                description="parameter_description"                value="parameter_value"                isRequired="true-or-false">  <domain xsi:type="flowParameterListDomainType-or-flowParameterAnyDomainType"                  domainType="domain_type">  </domain>        </parameter>    </parameters>     </flowRun>   </task></tsResponse>

Version

Version 3.3 and later. For more information, seeREST API and Resource Versions.

Errors

HTTP statuserror CodeConditionDetails
403403004Operation unauthorizedThe user is not authorized to get the task.
404404026Task not foundThe task ID in the URI doesn't correspond to an existing task.
405405000Invalid request methodRequest type was notGET.

For more information, seeHandling Errors.

Example

curl "http://MY-SERVER/api/3.27/sites/9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d/tasks/runFlow/1bff10bb-57ae-43df-8774-a86d14aef432" -X GET -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd"

Example response:

<tsResponse version-and-namespace-settings> <task> <flowRun priority="50" consecutiveFailedCount="2" type="RunFlowTask"> <schedule name="Every 2 Minutes - Only use for failing (to be suspended) flows!" state="Active" priority="50" createdAt="2018-11-08T21:57:49Z" updatedAt="2018-11-09T18:12:09Z" type="Flow" frequency="Hourly" nextRunAt="2018-11-09T18:14:00Z"/> <flow name="allUseCaseTFLX2"/> <parameters><parameter type="string" name="Region" description="" value="North" isRequired="false"><domain xsi:type="flowParameterListDomainType" domainType="any"></domain></parameter> </parameters> </flowRun> </task></tsResponse>

Get Flow Run Tasks

Returns a list of scheduled flow tasks for the site.

URI

GET /api/api-version/sites/site-id/tasks/runFlow

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site that the user is a member of.

Request Body

None

Permissions

Tableau Server users who are not server administrators or site administrators can only access the list of scheduled flow tasks for the flows that they own.

Access Scope

Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).

tableau:flow_tasks:read

For more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).

Response Code

200

Response Body

<tsResponse>   <tasks>     <task>       <flowRun        priority="nn"        consecutiveFailedCount="n"        type="RunFlowTask">         <schedule          name="schedule_name"          state="state"          priority="nn"          createdAt="DATE_TIME"          updatedAt="DATE_TIME"          type="flowRun"          frequency="frequency"          nextRunAt="DATE_TIME" />           <flow/>             <parameters>               <parameter                type="data_type"                name="parameter_name"                description="parameter_description"                value="parameter_value"                isRequired="true-or-false">  <domain xsi:type="flowParameterListDomainType-or-flowParameterAnyDomainType"                  domainType="domain_type">    </domain>                </parameter>      </parameters>       </flowRun>      </task>        ... additional tasks ...    </tasks></tsResponse>

Version

Version 3.3 and later. For more information, seeREST API and Resource Versions.

Errors

HTTP statuserror CodeConditionDetails
405405000Invalid request methodRequest type was notGET.

For more information, seeHandling Errors.

Example

curl "http://MY-SERVER/api/3.27/sites/9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d/tasks/runFlow" -X GET -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd"

Example response:

<tsResponse version-and-namespace-settings>    <tasks>        <task>            <flowRun priority="50" consecutiveFailedCount="2" type="RunFlowTask">                <schedule name="Every 2 Minutes - Only use for failing (to be suspended) flows!" state="Active" priority="50" createdAt="2018-11-08T21:57:49Z" updatedAt="2018-11-09T17:30:08Z" type="Flow" frequency="Hourly" nextRunAt="2018-11-09T17:32:00Z"/>                <flow name="allUseCaseTFLX2"/> <parameters><parameter type="string" name="Region" description="" value="North" isRequired="false"><domain xsi:type="flowParameterListDomainType" domainType="any"></domain></parameter>     </parameters>            </flowRun>        </task>        <task>            <flowRun priority="50" consecutiveFailedCount="2" type="RunFlowTask">                <schedule name="Every 2 Minutes - Only use for failing (to be suspended) flows!" state="Active" priority="50" createdAt="2018-11-08T21:57:49Z" updatedAt="2018-11-09T17:30:08Z" type="Flow" frequency="Hourly" nextRunAt="2018-11-09T17:32:00Z"/>                <flow name="allUseCaseTFLX2"/> <flowParameterSpecs/>            </flowRun>        </task>        <task>            <flowRun priority="44" consecutiveFailedCount="2" type="RunFlowTask">                <schedule name="Every 15 mins!" state="Active" priority="50" createdAt="2018-11-08T20:45:47Z" updatedAt="2018-11-09T17:30:08Z" type="Flow" frequency="Hourly" nextRunAt="2018-11-09T17:45:00Z"/>                <flow name="SQLServerUserNamePassword Good"/> <flowParameterSpecs/>            </flowRun>        </task>   </tasks></tsResponse>

Get Linked Task

Returns information about a specific linked task. This method shows you information about the scheduled linked task

URI

GET /api/api-version/sites/site-id/tasks/linked/linked-task-id

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site that the user is a member of.
linked-task-idThe ID of the scheduled linked task that you want information about.

Request Body

None

Permissions

All Tableau users can view linked tasks information, but can only see information about the flows in the response body if they have permissions to flows included in the linked task.

Access Scope

Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).

tableau:linked_tasks:read

For more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).

Response Code

200

Response Body

<tsResponse>   <linkedTasks id= "linkedTasks-id"      numSteps="number-of-steps">       <schedule        name="schedule-name"        state="Active-or-Suspended"        priority="priority"        createdAt="datetime-created"        updatedAt="datetime-updated"        type="schedule-type"        frequency="frequency"        nextRunAt="datetime-nextrun"/>       <linkedTaskSteps>         <linkedTaskStepsstep-number"          stopDownstreamTasksOnFailure="true-or-false"/>          ...additional linked tasks steps...         <task>           <flowRun            priority="priority"            consecutiveFailedCount="consecutive-failed-count"            type="task-type">            <flow id = flow-id"             name="flow-name"           </flowRun>         </task>       </linkedTaskSteps>       ...additional linked tasks steps...     </linkedTasksSteps>   </linkedTasks></tsResponse>

Version

Version 3.15 and later. For more information, seeREST API and Resource Versions.

Errors

HTTP statuserror CodeConditionDetails
403403004Operation unauthorizedThe user is not authorized to get the task.
404404045Linked task not foundThe task ID in the URI doesn't correspond to an existing linked task.
405405000Invalid request methodRequest type was notGET.

For more information, seeHandling Errors.

Example

curl "http://MY-SERVER/api/3.27/sites/9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d/tasks/linked/1bff10bd-57ae-37df-8774-a86d14aef432" -X GET -H "X-Tableau-Auth:12ab34cd56ef98ab90ce12ef34ab52cd"

Example response:

<tsResponse version-and-namespace-settings> <linkedTasks numSteps="2"> <schedule name="Run Flow - Every Sunday - 4:00PM" state="Active" priority="50" createdAt="2021-01-21T19:15:53Z" updatedAt="2022-02-27T16:00:59Z" type="Flow" frequency="Weekly" nextRunAt="2022-03-06T16:00:00Z"/> <linkedTaskSteps> <linkedTaskSteps stepNumber="1" stopDownstreamTasksOnFailure="true"> <task> <flowRun priority="50" consecutiveFailedCount="0" type="RunFlowTask"> <flow name="r-3"/> </flowRun> </task> </linkedTaskSteps></tsResponse>

Get Linked Tasks

Returns a list of scheduled linked tasks for a site.

URI

GET /api/api-version/sites/site-id/tasks/linked

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site that the user is a member of.

Request Body

None

Permissions

All Tableau users can view linked tasks information, but can only see information about the flows in the response body if they have permissions to flows included in the linked task.

Access Scope

Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).

tableau:linked_tasks:read

For more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).

Response Code

200

Response Body

<tsResponse>   <linkedTasks>     <linkedTasks id= "linkedTasks-id"      numSteps="number-of-steps">       <schedule        name="schedule-name"        state="Active-or-Suspended"        priority="priority"        createdAt="datetime-created"        updatedAt="datetime-updated"        type="schedule-type"        frequency="frequency"        nextRunAt="datetime-nextrun"/>       <linkedTaskSteps>         <linkedTaskStepsstep-number"          stopDownstreamTasksOnFailure="true-or-false"/>          ...additional linked tasks steps...         <task>           <flowRun            priority="priority"            consecutiveFailedCount="consecutive-failed-count"            type="task-type">            <flow id = flow-id"             name="flow-name"           </flowRun>         </task>       </linkedTaskSteps>       ...additional linked tasks steps...     </linkedTasksSteps>     ... additional linked tasks ...    </linkedTasks></tsResponse>

Version

Version 3.15 and later. For more information, seeREST API and Resource Versions.

Errors

HTTP statuserror CodeConditionDetails
400400154Generic query linked task errorCould not get a list of linked tasks for some reason other than the ones specified below.
403403155Linked tasks disabledLinked tasks has been disabled for your site or server.
403403004Operation unauthorizedYou do not have permissions to see the list of linked tasks
405405000Invalid request methodRequest type was notGET.

For more information, seeHandling Errors.

cURL Example

curl "http://MY-SERVER/api/3.27/sites/9a6b7c6d-5e4f-4a2b-1c0d-9e8f7s6b5c4d/tasks/linked" -X GET -H "X-Tableau-Auth:12ab34cd56ef98ab90ce12ef34ab52cd"

Example response:

<tsResponse version-and-namespace-settings>   <linkedTasks>     <linkedTasks      numSteps="2">       <schedule        name="Run Flow - Every Sunday - 4:00PM"        state="Active" priority="50"        createdAt="2021-01-21T19:15:53Z"        updatedAt="2022-02-27T16:00:59Z"        type="Flow" frequency="Weekly"        nextRunAt="2022-03-06T16:00:00Z"/>       <linkedTaskSteps>         <linkedTaskSteps          stepNumber="1"          stopDownstreamTasksOnFailure="true">           <task>             <flowRun              priority="50"              consecutiveFailedCount="0"              type="RunFlowTask">               <flow name="r-3"/>             </flowRun>           </task>         </linkedTaskSteps>         <linkedTaskSteps          stepNumber="2"          stopDownstreamTasksOnFailure="true">           <task>             <flowRun              priority="50"              consecutiveFailedCount="0"              type="RunFlowTask">              <flow               name="flights"/>             </flowRun>           </task>         </linkedTaskSteps>     </linkedTasks>     <linkedTasks      numSteps="2">       <schedule        name="Run Flow - Weekday 2:00AM"        state="Active" priority="50"        createdAt="2021-01-21T19:15:52Z"        updatedAt="2022-03-01T02:00:59Z"        type="Flow"        frequency="Weekly"        nextRunAt="2022-03-02T02:00:00Z"/>       <linkedTaskSteps>         <linkedTaskSteps          stepNumber="1"          stopDownstreamTasksOnFailure="true">           <task>             <flowRun              priority="50"              consecutiveFailedCount="0"              type="RunFlowTask">               <flow                name="Test3"/>             </flowRun>           </task>         </linkedTaskSteps>         <linkedTaskSteps          stepNumber="2"          stopDownstreamTasksOnFailure="true">           <task>             <flowRun              priority="50"              consecutiveFailedCount="2"              type="RunFlowTask">               <flow                name="Superstore Flow"/>             </flowRun>           </task>         </linkedTaskSteps>       </linkedTaskSteps>     </linkedTasks>   </linkedTasks></tsResponse>

Publish Flow

Publishes a flow on the specified site. To make other changes to a published flow, call Update Flow or Update Flow Connection.

You can do publish a flow in a single request or in multiple parts.

To publish a flow in a single request you include the content of the workbook file in the body of the request. The maximum size of a file that can be published in a single request is 64 MB.

To publish a flow in multiple parts, you initiate a file upload by callingInitiate File Upload(Link opens in a new window), send portions of the file to the server usingAppend to File Upload(Link opens in a new window), and then commit the upload by calling Publish Flow. In this case, Publish Flow doesn't contain the file to publish but theuploadSessionId and theflowType parameters are required.

URI

POST /api/api-version/sites/site-id/flows

POST /api/api-version/sites/site-id/flows?overwrite=overwrite-flag

POST /api/api-version/sites/site-id/flows?overwrite=overwrite-flag&uploadSessionId=upload-session-id&flowType=flow-file-type

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site to publish to.
overwrite-flag(Optional)true to overwrite a flow that has the same name, orfalse to fail if the specified flow already exists. The default isfalse. If overwrite-flag is set totrue but the flow doesn't already exist, the operation succeeds.
upload-session-idIf you are calling this method to commit a file that was uploaded in parts, this value contains the upload session ID that was generated by a call to Initiate File Upload. If this value is not included, the server assumes that the body of the request contains the file to be published.
flow-file-typetfl ortflx to indicate whether you have uploaded a flow file (tfl) or a packaged flow file (tflx). This value is only necessary and required if you upload a file in multiple parts. In the Publish Flow call after completing file upload, specify the file type.

Publishing a file in the Request Body

 --boundary-stringContent-Disposition:name="request_payload"Content-Type: text/xml<tsRequest><flow name="flow-name" ><project /></flow><connections>      <connection        serverAddress="server-address"        serverPort="port-number">          <connectionCredentials            name="connection-username"            password="connection-password"            embed="embed-flag"            oAuth="oauth-flag" /></connection></connections></tsRequest>--boundary-stringContent-Disposition: name="tableau_flow"; filename="flow-file-name"Content-Type: application/octet-streamcontent-of-flow-file--boundary-string--

Attribute Values

nameThe name to assign to the flow when it is saved on the server.
descriptionThe description of the flow.
server-addressSpecify the server address for an input connections.
port-numberSpecify the port number for input connections.
connection-username(Optional) If the flow input connections require credentials, the <connectionCredentials> elements are included and this attribute specifies the connection username. If the element is included but is not required, the server ignores the element and its attributes.
connection-password(Optional) If the flow input connections require credentials, the <connectionCredentials> elements are included and this attribute specifies the connection password. If the element is included but is not required, the server ignores the element and its attributes.
embed-flag(Optional) If the input connection requires credentials, the <connectionCredentials> element is included. Setting this attribute toTrueinstructs the server to save the credentials.
project-idThe ID of the project to assign the flow to.
content-of-flow-fileThe file itself if you are including it in the request body.

Permissions

Users who are not server administrators or site administrators can publish a flow only if the flow belongs to a project that they have permissions to publish to, have a site role that allows publishing and have write permissions on the flow this is an overwrite.

Required scope for JWT authorization

Introduced in Tableau Cloud June 2022 (API 3.16) and Tableau Server 2022.3 (API 3.17).

tableau:flows:create

For more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).

Response Code

201

Response Body

<tsResponse>      <flow            name="ShortTermRentalNola222"            description=""            webpageUrl="http://localhost/#/flows/3"            fileType="tflx" createdAt="2018-11-20T19:28:58Z"            updatedAt="2018-11-20T19:28:58Z">           <project            name="Default" />           <owner />      </flow></tsResponse>

Version

Version 3.3 and later. For more information, seeREST API and Resource Versions.

Errors

HTTP statuserror CodeConditionDetails
400400000Malformed request bodyThe XML content in the MIME multipart request is not empty.
400400089Missing flow nameFlow name is required and was not specified.
403403007Invalid permissionsThe caller does not have the necessary permissions to publish the flow. 
400400090Missing flow payloadThe flow information (the structure containing the flow description, flow project) was not included in the request body.
400400086Invalid flow attachmentThe name of the flow doesn't end in .tfl or .tflx.
400400087Generic flow publishing errorThe flow could not be published for some other reason than those specified earlier.
409409041Flow already found in destinationThe flow name should be unique, or the overwrite flag parameter should be set totrue.
403403008Insufficient storage quotaThe flow could not be published because there is not enough storage remaining on the server to accommodate its size.
404404000Site not foundThe site ID in the URI doesn't correspond to an existing site.
404404005Project not foundThe project ID in the request body doesn't correspond to an existing project on the site.
404404027Flow not foundThe flow ID in the URI doesn't correspond to an existing flow.
405405000Invalid request methodRequest type was notPOST.

For more information, seeHandling Errors.

Query Flow

Returns information about the specified flow, including information about the project, owner, and output steps.

Note: After you create a resource, the server updates its search index. If you make aquery immediately to see a new resource, the query results might not be up to date.

URI

GET /api/api-version/sites/site-id/flows/flow-id

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site that contains the flow.
flow-idThe ID of the flow to return information about.

Request Body

None

Permissions

Tableau Server users who are not server administrators or site administrators can query a flow only if they haveRead(view) permission for the flow (either explicitly or implicitly).

Access Scope

Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).

tableau:flows:read

For more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).

Response Code

200

Response Body

<tsResponse>   <flowOutputSteps>     <flowOutputStep id = "flow-output-step id"      name = "flow-name">        ...additional output steps...    </flowOutputSteps>    <flow id = "flow-id">      <project id = "project-id">      <owner id = "owner-id">      <tags/>      <parameters> <parameter type="data type" name="parameter name" description=" parameter description" value="current value" isRequired="true/false">   <domain xsi:type="flowParameterDomainType" domainType="domain type">   </domain>        <parameter> ...additional parameters...      <parameters>    </flow></tsResponse>

Note: Parameters is only shown in the response if parameters are enabled on the site and the flow contains parameters.

Version

Version 3.3 and later. For more information, seeREST API and Resource Versions.

Errors

HTTP statuserror CodeConditionDetails
403403004Read forbiddenA non-administrator user attempted to query the flow, but the caller doesn't haveRead permission.
404404000Site not foundThe site ID in the URI doesn't correspond to an existing site.
404404027Flow not foundThe flow ID in the URI doesn't correspond to an existing flow.
405405000Invalid request methodRequest type was not GET.
405405000Invalid request methodRequest type was notGET.

For more information, seeHandling Errors.

Example

curl "http://MY-SERVER/api/3.27/sites/9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d/flows/ d00700fe-28a0-4ece-a7af-5543ddf38a82" -X GET -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd"

Example response:

<tsResponse version-and-namespace-settings>    <flowOutputSteps>        <flowOutputStep name="CoffeeChainOutputCSV"/>        <flowOutputStep name="CoffeeChainOutputHyper"/>        <flowOutputStep name="CoffeeChainOutputTDE"/>    </flowOutputSteps>    <flow name="SQLServerUserNamePassword Good" description="" webpageUrl="http://tpqawin01/#/flows/3" fileType="tflx" createdAt="2018-11-06T04:57:55Z" updatedAt="2018-11-06T21:31:00Z">        <project name="Default"/>        <owner/> <tags/><parameters><parameter type="string" name="String Param" description="String test parameter" value="string 2" isRequired="false">  <domain xsi:type="flowParameterListDomainType" domainType="all"></parameter></parameters>    </flow></tsResponse>

Query Flows for a Site

Returns the flows on a site. If the user is not an administrator, the method returns just the flows that the user has permissions to view.

URI

GET /api/api-version/sites/site-id/flows

GET /api/api-version/sites/site-id/flows?filter=filter-expression

GET /api/api-version/sites/site-id/flows?sort=sort-expression

GET /api/api-version/sites/site-id/flows?pageSize=page-size&pageNumber=page-number

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site that contains the flows.
filter-expression(Optional) An expression that lets you specify a subset of flows to return. You can filter on predefined fields such as name, tags, and createdAt. You can include multiple filter expressions. For more information, seeFiltering and Sorting.
sort-expression(Optional) An expression that lets you specify the order in which flow information is returned. If you do not specify a sort expression, the sort order of the information that's returned is undefined. For more information, seeFiltering and Sorting.
page-size(Optional) The number of items to return in one response. The minimum is 1. The maximum is 1000. The default is 100. For more information, seePaginating Results.
page-number(Optional) The offset for paging. The default is 1. For more information, seePaginating Results.

Note: Thefilter andsort parameters can be combined with each other and with paging parameters using an ampersand (&).

Request Body

None

Permissions

Tableau Server users who are not server administrators or site administrators can get flows that they have Read (view) permissions for (either explicitly or implicitly).

Access Scope

Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).

tableau:flows:read

For more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).

Response Code

200

Response Body

<tsResponse>   <pagination pageNumber="page-number"    pageSize="page-size"    totalAvailable="total-available"/>     <flows>       <flow        name="flow-name"        description="flow-description"        webpageUrl="web-page-url"        fileType="file-type"        createdAt="datetime-created"        updatedAt="datetime-updated">         <project name="project-name"/>         <owner/>  <tags/>  <parameters>           <parameter type="data type" name="parameter name" description="parameter description" value="current value" isRequired="false">      <domain xsi:type="flowParameterListDomainType" domainType="all">      </domain>      </parameter>    <parameters>         </flow>        ... additional flows ...     </flows></tsResponse>

Thedatetime-created anddatetime-updatedattribute values are returned in UTC format (YYYY-MM-DDTHH:MM:SSZ).

Version

Version 3.3 and later. For more information, seeREST API and Resource Versions.

Errors

HTTP statuserror CodeConditionDetails
400400006Invalid page numberThe page number is not an integer, is less than one, or is greater than the final page number for users at the requested page size.
400400007Invalid page sizeThe page size parameter is not an integer, or is less than one.
403403101Read forbiddenA non-administrator user attempted to query flows for the site, but the caller doesn't haveRead permission.
404404000Site not foundThe site ID in the URI doesn't correspond to an existing site.
405405000Invalid request methodRequest type was notGET.

For more information, seeHandling Errors.

Example

curl "http://MY-SERVER/api/3.27/sites/9954070a-581d-40fa-ae73-e815ce8b0562/flows" -X GET -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd"

Example response:

<tsResponse version-and-namespace-settings> <pagination pageNumber="1" pageSize="100" totalAvailable="7"/> <flows> <flow name="SQLServerUserNamePassword Good" description="" webpageUrl="http://tpqawin01/#/flows/3" fileType="tflx" createdAt="2018-11-06T04:57:55Z" updatedAt="2018-11-06T21:31:00Z"> <project name="Default"/> <owner/> <tags/> <parameters/> </flow> <flow name="broken_loom_doc_2" description="" webpageUrl="http://tpqawin01/#/flows/26" fileType="tflx" createdAt="2018-11-06T18:19:54Z" updatedAt="2018-11-06T18:19:54Z"> <project name="Default"/> <owner/> <tags/> <parameters><parameter type="string" name="String Param" description="String parameter test" value="string 2" isRequired="false"> <domain xsi:type="flowParameterListDomainType" domainType="all"></parameter> </parameters> </flow> <flow name="Partner Influence" description="configured by ibeekun" webpageUrl="http://tpqawin01/#/flows/34" fileType="tflx" createdAt="2018-11-06T22:46:57Z" updatedAt="2018-11-06T22:46:57Z"> <project name="Default"/> <owner/> <tags/> <parameters/> </flow> <flow name="Omniture logs" description="configured by testuser" webpageUrl="http://mytestServer/#/flows/35" fileType="tflx" createdAt="2018-11-06T22:47:18Z" updatedAt="2018-11-06T22:47:18Z"> <project name="Default"/> <owner/> <tags> <parameters/> </flow> <flow name="NY Parking Tickets" description="configured by ibeekun" webpageUrl="http://tpqawin01/#/flows/37" fileType="tflx" createdAt="2018-11-07T00:19:48Z" updatedAt="2018-11-07T00:19:48Z"> <project name="Default"/> <owner/> <tags/> <parameters/> </flow> <flow name="Flow1" description="" webpageUrl="http://tpqawin01/#/flows/40" fileType="tfl" createdAt="2018-11-07T00:38:48Z" updatedAt="2018-11-07T00:38:48Z"> <project name="Default"/> <owner/> </flow> <flow name="local-postgres-bad-pw" description="" webpageUrl="http://tpqawin01/#/flows/78" fileType="tflx" createdAt="2018-11-07T22:18:04Z" updatedAt="2018-11-07T22:18:04Z"> <project name="Default"/> <owner/> <tags/> <parameters/> </flow> </flows></tsResponse>

Query Flows for User

Returns the flows that the specified user owns in addition to those that the user has Read (view) permissions for.

Note: After you create a resource, the server updates its search index. If you make a query immediately to see a new resource, the query results might not be up to date.

URI

GET /api/api-version/sites/site-id/users/user-id/flows

GET /api/api-version/sites/site-id/users/user-id/flows?ownedBy=isOwner&pageSize=page-size&pageNumber=page-number

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site that contains the user.
user-idThe ID of the user to get flows for.
isOwner(Optional)trueto return only flows that the specified user owns, orfalseto return all flows that the specified user has at least read access to. The default isfalse.
page-size(Optional) The number of items to return in one response. The minimum is 1. The maximum is 1000. The default is 100. For more information, seePaginating Results.
page-number(Optional) The offset for paging. The default is 1. For more information, seePaginating Results.

Request Body

None

Permissions

All users can call this method, but the results of the call depend on the user's permissions. Server and site administrators see all flows for the specified user. If theisOwnerparameter istrue, users who are not server or site administrators see the flows that they own on the site. IfisOwnerparameter isfalse, users who are not server administrators see the flows that they haveRead(view) permissions for.

Access Scope

Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).

tableau:flows:read

For more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).

Response Code

200

Response Body

<tsResponse>   <pagination pageNumber="page-number"    pageSize="page-size"    totalAvailable="total-available"/>    <flows>      <flow       name="flow-name" description="flow-description"       webpageUrl="URL"       fileType="flow-file-type"       createdAt="Datetime-created"       updatedAt="Datetime-updated">        <project name="project-name"/>        <owner/> <tags/> <parameters>          <parameter type="data type" name="parameter name" description="parameter description" value="current value" isRequired="false">            <domain xsi:type="flowParameterListDomainType" domainType="all">     </domain>   </parameter> <parameters>      </flow>        ... additional flows...    </flows></tsResponse>

Thedatetime-created anddatetime-updatedattribute values are returned in UTC format (YYYY-MM-DDTHH:MM:SSZ).

Version

Version 3.3 and later. For more information, seeREST API and Resource Versions.

Errors

HTTP statuserror CodeConditionDetails
400400006Invalid page numberThe page number parameter is not an integer, is less than one, or is greater than the final page number for flows at the requested page size.
400400007Invalid page sizeThe page size parameter is not an integer, or is less than one.
403403014Page size exceeds upper limitThe page size parameter exceeds the system-wide upper limit of 1000.
403403101Read forbiddenA non-administrator user attempted to query flows for the user, but the caller doesn't haveRead permission.
404404000Site not foundThe site ID in the URI doesn't correspond to an existing site.
404404002User not foundThe user ID in the URI doesn't correspond to an existing user.
405405000Invalid request methodRequest type was notGET.

For more information, seeHandling Errors.

Example

curl "http://MY-SERVER/api/3.27/sites/9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d/users/9f9e9d9c-8b8a-8f8e-7d7c-7b7a6f6d6e6d/flows" -X GET -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd"

Example response:

<tsResponse version-and-namespace-settings>    <pagination pageNumber="1" pageSize="100" totalAvailable="41"/>    <flows>        <flow name="several_excel_input_union2" description="" webpageUrl="http://tpqawin01/#/flows/263" fileType="tflx" createdAt="2018-11-09T20:01:04Z" updatedAt="2018-11-09T20:01:04Z">            <project name="Default"/>            <owner/>        </flow>        <flow name="Superstore_Test_ER" description="testing direct connection" webpageUrl="http://tpqawin01/#/flows/124" fileType="tfl" createdAt="2018-11-08T21:30:44Z" updatedAt="2018-11-08T21:30:44Z">            <project name="Default"/>            <owner/>     <tags/>     <parameters><parameter type="string" name="String Param" description="String parameter test" value="string 2" isRequired="false">  <domain xsi:type="flowParameterListDomainType" domainType="all"></parameter>     </parameters>        </flow>   </flows></tsResponse>

Query Flow Connections

Returns a list of data connections for the specific flow.

URI

GET /api/api-version/sites/site-id/flows/flow-id/connections

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site that contains the flow.
flow-idThe ID of the flow to return connection information about.

Request Body

None

Permissions

Tableau Server users who are not server administrators or site administrators can query a flow only if they haveRead(view) permission for the flow (either explicitly or implicitly).

Access Scope

Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).

tableau:flow_connections:read

For more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).

Response Code

200

Response Body

<tsResponse >    <connections>        <connection           type="connection-type"           serverAddress="server-address"           userName="user-name"           embedPassword="true-or-false"/>        ... additional connections ...    </connections></tsResponse>

Version

Version 3.3 and later. For more information, seeREST API and Resource Versions.

Errors

HTTP statuserror CodeConditionDetails
403403092Read forbiddenA user who is not a server administrator user attempted to query the flow connections, but the caller doesn't haveReadpermission.
404404000Site not foundThe site ID in the URI doesn't correspond to an existing site.
404404027Flow not foundThe flow ID in the URI doesn't correspond to an existing flow.
405405000Invalid request methodRequest type was notGET.

For more information, seeHandling Errors.

Example

curl "http://MY-SERVER/api/3.27/sites/9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d/flows/1a1b1c1d-2e2f-2a2b-3c3d-3e3f4a4b4c4d/connections" -X GET -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd"

Example response:

<tsResponse version-and-namespace-settings>    <connections>        <connection type="sqlserver" serverAddress="mySQLServer" userName="test" embedPassword="true"/>        <connection type="tableau-server-site" serverAddress="http://testserver01" userName="" embedPassword="false"/>       </connections></tsResponse>

List Flow Permissions

Returns a list of permissions for the specific flow.

URI

GET /api/api-version/sites/site-id/flows/flow-id/permissions

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site that contains the flow.
flow-idThe ID of the flow to get permissions for.

Request Body

None

Permissions

This method can only be called by server administrators and site administrators.

Access Scope

Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).

tableau:permissions:read

For more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).

Response Code

200

Response Body

<tsResponse >    <permissions>        <flow name="flow-name">            <owner/>        </flow>        <granteeCapabilities>            <group/>            <capabilities>                <capability name="Read" mode="Allow"/>                <capability name="Write" mode="Allow"/>                ... additional capabilities ...            </capabilities>        </granteeCapabilities>    </permissions></tsResponse>

Note: Theparent element is included in the response only if theworkbook's permissions are determined by project-level default permissions and project permissions are locked.Project permissions can be locked for a new project when you callCreate Project(Link opens in a new window) or for an existing project by callingUpdate Project(Link opens in a new window).For more information, seeLock Content Permissions to the Project(Link opens in a new window).

Version

Version 3.3 and later. For more information, seeREST API and Resource Versions.

Errors

HTTP statuserror CodeConditionDetails
404404000Site not foundThe site ID in the URI doesn't correspond to an existing site.
404404027Flow not foundThe flow ID in the URI doesn't correspond to an existing flow.

For more information, seeHandling Errors.

Example

curl "http://MY-SERVER/api/3.27/sites/9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d/flows/1a1b1c1d-2e2f-2a2b-3c3d-3e3f4a4b4c4d/permissions" -X GET -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd"

Example response:

<tsResponse xmlns= version-and-namespace-settings>    <permissions>        <flow name="SQLServerUserNamePassword Good">            <owner/>        </flow>        <granteeCapabilities>            <group/>            <capabilities>                <capability name="Read" mode="Allow"/>                <capability name="Write" mode="Allow"/>            </capabilities>        </granteeCapabilities>    </permissions></tsResponse>

Run Flow Now

Runs the specified flow.

This method runs the specified flow with all the output steps if none are specified. If you want to run only a subset of output steps, you can specify one or more output steps using the output-ids by using theFlow Methods. The Run Flow Now method is the equivalent of selecting a flow using the Tableau Server UI, and then selectingRun Now from the menu.

A flow task can be initiated by a REST API call, a tabcmd command, or a job calling the task on a schedule. A REST request to start a flow task will often fail if the task has been put in the task queue in any of these ways, or is already in progress. Running the flow for a suspended task using Run Flow Now will resume the task job.

Note:

URI

POST /api/api-version/sites/site-id/flows/flow-id/run

POST /api/api-version/sites/site-id/flows/flow-id/run?flowOutputStepIds=flow-outputstep-id&flowRunMode=flow-run-mode

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site that contains the flow.
flow-idThe ID of the flow to update.

Request Body

<tsRequest>  <flowRunSpec   flowId="flow id"   runMode="run mode">    <flowParameterSpecs>      <flowParameterSpec   parameterId="parameter id"       overrideValue="override value" />    </flowParameterSpecs>    <flowOutputSteps>      <flowOutputStep      api-placeholder">flow output step id" />    </flowOutputSteps>  </flowRunSpec></tsRequest>

A request body with for running a flow with no parameters:

<tsRequest>  <flowRunSpec   flowId="flow id"   runMode="run mode">    <flowOutputSteps>      <flowOutputStep  api-placeholder">flow output step id" />    </flowOutputSteps>  </flowRunSpec></tsRequest>

A request body for running a flow but not specifying output step (effectively running all output steps):

<tsRequest>  <flowRunSpec   flowId="flow id"   runMode="run mode">    <flowParameterSpecs>      <flowParameterSpec   parameterId="parameter id"       overrideValue="override value" />    </flowParameterSpecs>  </flowRunSpec></tsRequest>

Attribute Values

flow-id

The ID of the flow to add to the schedule. This will include all the output steps in the flow and any output steps created in the future.

flow-outputstep-id

The ID of the output steps you want to run. This parameter is optional. If you don't specify the output steps, all the output steps in the flow will be included. You can specify one or more output steps. Use theFlow Methods method to get the list of flow-outputstep-ids.

flow-run-mode

The mode to use for running this flow, either full or incremental. This parameter is optional. If you don't specify an option the run mode will be full. The flow must be configured with incremental options on the input nodes to refresh incrementally.

parameter-id

The ID of the flow parameter. Use theFlow Methods method to get the flow parameter ID. A parameter is a global placeholder value such as a number, text value, or boolean value that can replace a constant value in a flow.

Note: Parameters are optional and only relevant for flows that contain parameters and the parameter setting is enabled.

For more information, seeRun flows with parameters.

overrideValue

The run-time value for the flow parameter. You must specify this if the parameter is required. Use theFlow Methods method to see if the parameter is required and to get a list of allowed values if the parameter is expecting a value from an enumerated list.

Note: Parameters are optional and only relevant for flows that contain parameters and the parameter setting is enabled.

For more information, seeRun flows with parameters.

Note: You must specify theflow-id value in the URI. If you are using a request body to specify the attributes, you must also include theflow-id in the request body in addition to providing it in the URI.

Permissions

In addition to the owner of a flow, Tableau server administrators, site administrators, and project leaders can run flows withintheir scope. Users with a creator or explorer license that have been granted permissions by an administrator, leader or owner for aflow may also run it.

Access Scope

Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).

tableau:flows:run

For more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).

Response Code

200

Response Body

<tsResponse>   <job    mode="Asynchronous"    type="RunFlow"    createdAt="DateTime-CreatedAt">   <runFlowJobType flowRunId="flow-run-id">     <flow name="flow-name"/>   </runFlowJobType>   </job></tsResponse>

Version

Version 3.3 and later. For more information, seeREST API and Resource Versions.

Errors

HTTP statuserror CodeConditionDetails
400400000Bad RequestThe content of the request body is missing or incomplete, or contains malformed XML.
400400132Invalid flow run modeThe specified flow run mode is not valid.
400400148Invalid parameter override valueThe run-time value specified is not valid.
400400149Parameter override value missingThe run-time value for the parameter was not specified and is required.
403403149Flow cannot be runThe flow parameter setting is disabled on the site preventing the flow run.
403403150Flow cannot be run The flow cannot be run because flow parameters contain parameter domain type "any" but theAllow parameters that can accept any input setting is disabled on the site.
404404000Site not foundThe site ID in the URI is unknown.
404404027Flow not foundThe flow ID in the URI doesn't correspond to an existing flow.
404404043Flow parameter not foundThe parameter ID specified in the request body does not match any of the existing parameters for this flow.
405405000Invalid request methodRequest type was notPOST.

For more information, seeHandling Errors.

Example

curl "http://MY-SERVER/api/3.27/sites/1edc53ac-e247-4870-9fd3-6fad0ce5f84d/flows/ d00700fe-28a0-4ece-a7af-5543ddf38a82/run?flowRunMode=incremental" -X POST -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd"

Example response:

<tsResponse version-and-namespace-settings>    <job mode="Asynchronous" type="RunFlow" createdAt="2018-11-12T19:14:08Z">        <runFlowJobType flowRunId="34b9f6d3-222a-2f2f-6a22-dd2f228a6ff2">            <flow name="SQLServerUserNamePassword Good"/>        </runFlowJobType>    </job></tsResponse>

Run Flow Task

Runs the specified flow run task.

Note:
- This method is unavailable if you don't have Data Management. For more information, seeTableau Prep Conductor.
- This method will fail and result in an error if your Server Administrator has disabled theRunNow setting for the site. For more information, seeTableau Server Settings(Link opens in a new window).

This method runs the scheduled task for the flow. You must first schedule the task for the flow. You can do this using theCreate Schedule(Link opens in a new window) method to create the task. The Run Flow task requires you to provide a task id. To get the task-id, use the Get Flow Run Tasks method, which returns the flowRun ID. The value of the flowRun ID is what you use as the task-id.

The method adds the flow run task to the backgrounder queue. Depending upon the backgrounder load, the task might not run immediately. The method returns information about the backgrounder job responsible for running the flow run task, including a job id that can be used with theQuery Job method to query the status of the flow run.

A flow task can be initiated by a REST API call, a tabcmd command, or a job calling the task on a schedule. A REST request to start a flow task will often fail if the task has been put in the task queue in any of these ways, or is already in progress. If your request results in an error code403102, it means that there is already a scheduled task for this within a very close time period (seconds). In this case, if the task is currently in a suspended state, it will resume.

URI

POST /api/api-version/sites/site-id/tasks/runFlow/task-id/runNow

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site that the user is a member of.
task-idThe ID of the flow run task that you want to run.

Request Body

None

Permissions

Tableau Server users who are not server administrators or site administrators can only run the flow run tasks that they own.

Access Scope

Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).

tableau:flow_tasks:run

For more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).

Response Code

200

Response Body

<tsResponse >    <job         mode="Asynchronous"         type="RunFlow"         createdAt="Datetime-CreatedAt">        <runFlowJobType flowRunId="flow-run-id">            <flow name="flow-name"/>        </runFlowJobType>    </job></tsResponse>

Version

Version 3.3 and later. For more information, seeREST API and Resource Versions.

Errors

HTTP statuserror CodeConditionDetails
400400084Flow run task errorThe task specified is not a flow run task.

For more information, seeHandling Errors.

Example

curl "http://MY-SERVER/api/3.27/sites/9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d/tasks/runFlow/9f8e7d6c-5b4a-3f2e-1d0c-9b8a7f6e5d4c/runNow" -X POST -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd"

Example response:

<tsResponse version-and-namespace-settings>    <job mode="Asynchronous" type="RunFlow" createdAt="2018-11-12T19:43:00Z">        <runFlowJobType flowRunId="34b9f6d3-222a-2f2f-6a22-dd2f228a6ff2">            <flow name="allUseCaseTFLX"/>        </runFlowJobType>    </job></tsResponse>

Run Linked Task Now

Runs the specified linked task.

This method runs the specified linked task with all the steps. Depending on the setting that the task was created with, the linked task will stop at a step on failure or continue to the next step. For more information, seeschedule linked tasks.

Version: Available in API 3.15 and later.

License: Data Management required. For more information, seeTableau Prep Conductor.

Permissions: Tableau server administrators, site administrators, and project leaders can run linked tasks withintheir scope. Tableau users can run a linked task if they own the task or have permissions to run all the flows included in the linked task.

Access Scope: tableau:linked_tasks:run

URI

POST /api/api-version/sites/site-id/tasks/linked/linked-task-id/runNow

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site that contains the flow.
linked-task-idThe ID of the linked task to run.

Request Body

none

cURL Example

curl "http://MY-SERVER/api/3.27/sites/1edc53ac-e247-4870-9fd3-6fad0ce5f84d/tasks/linked/d00700fe-28a0-4ece-a7af-5543ddf38a82/runNow -X POST -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd"

Response Code

200

 

Response Body

<tsResponse>   <linkedTaskJob    linkedTaskId="cde24429-6217-48e5-8ff5-f5dcd6a7006b"    status="InProgress"    createdAt="2022-02-15T00:22:22Z"/></tsResponse>.

{    "linkedTaskJob": {"id": "765dfdfc-26ec-47ea-b53b-54419c8f6b61","linkedTaskId": "cde24429-6217-48e5-8ff5-f5dcd6a7006b","status": "InProgress","createdAt": "2022-02-15T00:22:22Z"}}

 

Errors

HTTP statuserror CodeConditionDetails
400400153Generic errorUnable to run the linked task for some reason other than the ones specified below.
403403155Linked task cannot be runThe linked task setting is disabled on the site.
404404045Linked task not foundThe linked task ID in the URI doesn't correspond to an existing linked task.
405405000Invalid request methodRequest type was notPOST.
409409082Run now forbiddenRun now setting has been disabled.

For more information, seeHandling Errors.

Update Flow

Updates the project and/or owner of the specified flow.

To change the flow owner with fewer limitations on who the new owner can be, use theUpdate Flow Owner method instead.

URI

PUT /api/api-version/sites/site-id/flows/flow-id

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site that contains the flow.
flow-idThe ID of the flow to update.

Request Body

<tsRequest> <flow> <project/><owner/> </flow></tsRequest>

Attribute Values

new-project-id(Optional) The ID of a project to add the flow to.
new-owner-id(Optional) The ID of a user to assign the flow to as owner. The new owner must be the user calling this method.

Any combination of the attributes inside the<flow> element is valid. Only the attributes and child elements that are included result in updates to the flow. If no attributes or nested elements are included, no update is made.

If the<project> element is included, theid attribute must be included, and any other attributes of the<project> element are ignored.

If the<owner> element is included, theid attribute must be included, and any other attributes of the owner are ignored.

Permissions

Tableau Server users who are server administrators or site administrators can change the owner for a flow. Users who are not server administrators can move a flow from one project to another if they own the flow or the current (source) project, or are a project leader for the current project, and they haveWrite permission for the destination project.

Access Scope

Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).

tableau:flows:update

For more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).

Response Code

200

Response Body

<tsResponse >    <flow      name="flow-name"      description="flow-description"      webpageUrl="flow-url"      fileType="flow-file-type"      createdAt="Datetime-created"      updatedAt="Datetime-updated">        <project name="project-name"/>        <owner/>    </flow></tsResponse>

Thedatetime-created anddatetime-updatedattribute values are returned in UTC format (YYYY-MM-DDTHH:MM:SSZ).

Version

Version 3.3 and later. For more information, seeREST API and Resource Versions.

Errors

HTTP statuserror CodeConditionDetails
400400000Bad requestThe content of the request body is missing or incomplete, or contains malformed XML.
403403098Owner update forbiddenA non-administrator user tried to change the owner for the flow.
403403030Project update forbiddenA non-administrator user tried to change the project for the flow, but the caller doesn't haveWrite permission for the project. 
404404000Site not foundThe site ID in the URI doesn't correspond to an existing site.
404404002Owner not foundThe owner ID in the request body doesn't correspond to an existing owner. 
404404027Flow not foundThe flow ID in the URI doesn't correspond to an existing flow.
404404005Project not foundThe project ID in the request body doesn't correspond to an existing project. 
409409041Flow name conflictThe flow name in the request already belongs to the specified site. For the purpose of uniqueness checks, flow names are case-insensitive.

For more information, seeHandling Errors.

Example

Example response:

<tsResponse version-and-namespace-settings>    <flow name="flow-name" description="flow-description" webpageUrl="http://my-server01" fileType="tflx" createdAt="2018-11-06T04:57:55Z" updatedAt="2018-11-06T21:31:00Z">        <project name="testproject"/>        <owner/>    </flow></tsResponse>

Update Flow Connection

Updates the server address, port, username, or password for the specified flow connection. The connection can be an input or an output connection.

URI

PUT /api/api-version/sites/site-id/flows/flow-id/connections/connection-id

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site that contains the flow.
flow-idThe ID of the flow to update.
connection-idThe ID of the connection to update. To determine what connections are available for a flow, call Query Flow Connections.

Request Body

<tsRequest>  <connection    serverAddress="server-address" serverPort="port"    userName="connection-username" password="connection-password"    embedPassword="embed-password" /></tsRequest>

Attribute Values

server-addressThe new server for the connection.
portThe new port for the connection.
connection-usernameThe new username for the connection.
connection-passwordThe new password for the connection.
embed-passwordtrueto embed the password; otherwise,false.

Any combination of the attributes inside the<connection> element is valid. You will need to provide at least one attribute. If no attributes are included, this will result in an error.

Permissions

Only Tableau Server users who are server administrators or site administrators can change the connection for a flow. Users who are not server administrators can update a flow only if they haveWrite(save) permission for the flow and if they havewrite permission for the project.

Access Scope

Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).

tableau:flow_connections:update

For more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).

Response Code

200

Response Body

<tsResponse>  <connection    serverAddress="serverAddress" serverPort="port"    userName="connection-user-name" /></tsResponse>

Version

Version 3.3 and later. For more information, seeREST API and Resource Versions.

Errors

HTTP statuserror CodeConditionDetails
400400000Bad requestThe content of the request body is missing or incomplete, or contains malformed XML.
403403103Update forbiddenA non-administrator user tried to update a flow, but the caller doesn't haveWrite permission.
403403098Owner update forbiddenA non-administrator user tried to change connection information for the flow, but the caller doesn't haveWrite permission.
404404000Site not foundThe site ID in the URI doesn't correspond to an existing site.
404404027Flow not foundThe flow ID in the URI doesn't correspond to an existing flow.
405405000Invalid request methodRequest type was notPUT.

For more information, seeHandling Errors.

Update Flow Owner

Updates a flow's owner.

If the same user owns all the flows in a linked task, this method also changes the ownership of the linked task to that user.

This method overlaps in function withUpdate Flow method, but has fewer limitations on who the new owner can be. If you're changing the owner of a flow, Tableau recommends you use this method.

Version: Available in API 3.27 (Tableau Cloud December 2025 / Server 2025.3) and later.

License: Data Management or Tableau+.

Permissions: Server administrators, site administrators, or flow owner

Access Scope:tableau:flows:update

URI

PUT /api/api-version/sites/site-id/flows/flow-id/owner/user-id

URI Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site that contains the flow.
flow-idThe ID of the flow.
user-idThe ID of the user.

Request Body

None

cURL Request Example

curl -X PUT "https://MY-SERVER/api/3.27/sites/9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d/flows/08a7b6b5-b4ba-be3a-4d2d-1e9e59a8a7b6/owner/9f9e9d9c-8b8a-8f8e-7d7c-7b7a6f6d6e6d" -H "Content-Type: application/xml" -H "X-Tableau-Auth: a1B2c3D4e5F6g7H8i9J0kL|a1B2c3D4e5F6g7H8i9J0kL1m2N3o4P5q|12345678-90ab-4cde-8f01-234567890abc"

Response Code

200

Response Body

None

Errors

HTTP statuserror CodeConditionDetails
403403184Ownership changes are disabledOn Tableau Server, a machine administrator can use TSM to to enable or disable content ownership changes. For more information, seewgserver.change_owner.enabled intsm configuration set Options
403403187Permission deniedYou must be a site administrator, a server administrator, or the flow owner to change the ownership of a flow.
404404061Resource not foundThe flow id and/or user id can't be found.

For more information, seeHandling Errors.


Back to top
Thanks for your feedback!Your feedback has been successfully submitted. Thank you!

[8]ページ先頭

©2009-2025 Movatter.jp