# Workflow

## Base definition

```javascript
{
    "kind": "workflow",
    "id": string,
    "qualifiedReference": string,
    "scopedReference": string,
    "referenceId": string,
    "name": string,
    "url": string,
    "uri": string,
    "owner": {
        user.base | organization.base // See user or organization resource definition
    }
}
```

## List definition

In addition to the base definition, any workflow resource returned by a `list` request will contain the following properties:

```javascript
{
    "createdAt": integer, 
    "publicAccessLevel": string("none"|"view"),
    "studyAccessLevel": string("none"|"view") | null,
    "accessLevel": string("view"|"edit"),
    "study": {
        "kind": "study",
        "name": string
    } | null
}
```

## Get definition

In addition to the base and list definition, any workflow resource returned by a `get` request will contain the following properties:

```javascript
{
    "lastActive": integer,
    "tableCount": integer,
    "transformCount": integer,
    "notebookCount": integer,
    "description": string,
}
```

## Documentation

| Fields                                  |                                                                                                                                                                                                                                                        |                                                                                                                                              |             |                                      |
| --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | ------------------------------------ |
| <p></p><p><strong>Base</strong><br></p> |                                                                                                                                                                                                                                                        |                                                                                                                                              |             |                                      |
| kind                                    | <p><strong>string</strong></p><p>The resource type. Will always be "workflow"</p>                                                                                                                                                                      |                                                                                                                                              |             |                                      |
| id                                      | <p><strong>string</strong></p><p>A unique, persistent identifier for the dataset.</p>                                                                                                                                                                  |                                                                                                                                              |             |                                      |
| qualifiedReference                      | <p><strong>string</strong><br>The fully <a href="../referencing-resources">qualified reference</a> for the workflow, of the form <code>username.workflow\_reference</code>.  E.g., <code>imathews.example\_workflow\_climate\_analysis:x7kh</code></p> |                                                                                                                                              |             |                                      |
| scopedReference                         | <p><strong>string</strong><br>The canonical reference for the workflow, e.g., <code>example\_workflow\_climate\_analysis:x7kh</code></p>                                                                                                               |                                                                                                                                              |             |                                      |
| referenceId                             | <p><strong>string</strong><br>A persistent, 4-character identifier for this workflow. Will always be unique across all workflows owned by the user.</p>                                                                                                |                                                                                                                                              |             |                                      |
| name                                    | <p><strong>string</strong></p><p>The name of the workflow</p>                                                                                                                                                                                          |                                                                                                                                              |             |                                      |
| url                                     | <p><strong>string</strong></p><p>The workflow's url resolvable via the web interface.</p>                                                                                                                                                              |                                                                                                                                              |             |                                      |
| uri                                     | <p><strong>string</strong></p><p>The fully qualified URI of the workflow, for use in generating calls to this API. </p><p>For example, <code>/workflows/imathews.example\_workflow\_climate\_analysis:x7kh</code></p>                                  |                                                                                                                                              |             |                                      |
| owner                                   | <p><strong>object</strong></p><p>The owner of the workflow. Will either be an <a href="organization">organization base definition</a> or a <a href="user">user base definition</a>.</p>                                                                |                                                                                                                                              |             |                                      |
| <p></p><p><strong>List</strong><br></p> |                                                                                                                                                                                                                                                        |                                                                                                                                              |             |                                      |
| createdAt                               | <p><strong>integer</strong></p><p>When the dataset was created. Stored as milliseconds since the epoch (1970-01-01).</p>                                                                                                                               |                                                                                                                                              |             |                                      |
| publicAccessLevel                       | <p><strong>string</strong><br>The access level to the workflow for any user / all non-authenticated users. Will be one of "none"                                                                                                                       | "view"<br><br>Users with access to a workflow will still only be able to see data derivatives that they have access to.</p>                  |             |                                      |
| studyAccessLevel                        | <p><strong>string                                                                                                                                                                                                                                      | null</strong><br>The access level to the workflow for any member of the workflow's study. If the workflow has a study, will be one of "none" | "view"      | "edit". Otherwise, will be null.</p> |
| accessLevel                             | <p><strong>string                                                                                                                                                                                                                                      | null</strong><br>Your access level to the workflow. Will be one of "view"                                                                    | "edit".</p> |                                      |
| study                                   | <p><strong>object                                                                                                                                                                                                                                      | null</strong><br>This workflow's study</p>                                                                                                   |             |                                      |
| study.kind                              | <p><strong>string</strong><br>Will always be "study"</p>                                                                                                                                                                                               |                                                                                                                                              |             |                                      |
| study.name                              | <p><strong>string</strong><br>The name of the study</p>                                                                                                                                                                                                |                                                                                                                                              |             |                                      |
| **Get**                                 |                                                                                                                                                                                                                                                        |                                                                                                                                              |             |                                      |
| lastActive                              | <p><strong>integer</strong></p><p>When the workflow was last active, defined as a node in the workflow being run. Stored as milliseconds since the epoch (1970-01-01).</p>                                                                             |                                                                                                                                              |             |                                      |
| description                             | <p><strong>string</strong></p><p>A user-provided description of the dataset. Corresponds to the "abstract" show on the dataset overview.</p>                                                                                                           |                                                                                                                                              |             |                                      |
| tableCount                              | <p><strong>integer</strong></p><p>The number of tables created in the workflow. </p>                                                                                                                                                                   |                                                                                                                                              |             |                                      |
| transformCount                          | <p><strong>integer</strong><br>The number of transforms in the workflow.</p>                                                                                                                                                                           |                                                                                                                                              |             |                                      |
| notebookCount                           | <p><strong>integer</strong><br>The number of notebooks in the workflow</p>                                                                                                                                                                             |                                                                                                                                              |             |                                      |
