This page provides an overview of APIs related to data flows.

Object Overview

Data flows are an ordered sequence of steps specifying the trigger that invokes the collection of steps, the entry step, and which steps to run based on the return condition of success, failure, or exception of each step.

Endpoint, URL, and Supported Methods

Objects are managed via the View Orchestrator server API at [http|https]://[hostname]:[port]/v1.0/tenants/[tenant-guid]/dataflows

By default, View Orchestrator server is accessible on port 8501.

Supported methods include: GET HEAD PUT DELETE

Structure

Objects have the following structure:

{
    "GUID": "processor",
    "TenantGUID": "default",
    "TriggerGUID": "processor",
    "StepGUID": "processor",
    "Name": "My processing pipeline data flow",
    "LogRetentionDays": 28,
    "CreatedUtc": "2024-07-10T05:10:14.000000Z",
    "Map": null
}

Properties:

  • GUID string globally unique identifier for the object
  • TenantGUID string globally unique identifier for the tenant
  • TriggerGUID string globally unique identifier for the trigger
  • StepGUID string globally unique identifier for the entry step
  • Name string name of the object
  • LogRetentionDays int the number of days data flow log files should be retained
  • CreatedUtc datetime timestamp from creation, in UTC time
  • Map obj object containing a decision tree outlining the order of steps based on success, failure, or exception criteria

Create

To create, call PUT /v1.0/tenants/[tenant-guid]/dataflows with a populated object using the Orchestrator server.

curl -X PUT http://localhost:8601/v1.0/tenants/[tenant-guid]/steps \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer [accesskey]" \
     -d '
{
    "TriggerGUID": "default",
    "StepGUID": "default",
    "Name": "Another data flow",
    "Notes": "My notes",
    "LogRetentionDays": 7,
    "Map": {
        "StepGUID": "step1",
        "Success": {
            "StepGUID": "step2",
            "Success": null,
            "Failure": null,
            "Exception": null
        },
        "Failure": null,
        "Exception": null
    }
}'

Read

To read all objects, call GET /v1.0/tenants/[tenant-guid]/dataflows, which will return an array of objects. To read an individual object by GUID, call GET /v1.0/tenants/[tenant-guid]/dataflows/[dataflow-guid]. If the object exists, it will be returned as a JSON object in the response body. If it does not exist, a 404 will be returned with a NotFound error response. If you wish to include the Map property, include ?inclsub&incldata in the query.

{
    "GUID": "processor",
    "TenantGUID": "default",
    "TriggerGUID": "default",
    "StepGUID": "default",
    "Name": "Another data flow",
    "Notes": "My notes",
    "LogRetentionDays": 7,
    "CreatedUtc": "2024-07-10T05:10:14.000000Z",
    "Map": {
        "StepGUID": "step1",
        "Success": {
            "StepGUID": "step2",
            "Success": null,
            "Failure": null,
            "Exception": null
        },
        "Failure": null,
        "Exception": null
    }
}

Note: the HEAD method can be used as an alternative to get to simply check the existence of the object. HEAD requests return either a 200/OK in the event the object exists, or a 404/Not Found if not. No response body is returned with a HEAD request.

Update

Data flows are immutable and cannot be updated.

Delete

To delete an object by GUID, call DELETE /v1.0/tenants/[tenant-guid]/dataflows/[dataflow-guid].