Opal Workflows API
## Workflows OverviewIn Opal, a workflow is an arrangement of tasks and approvals required to progress through the lifecycle of a StoryFirst resource. **Historical Note:***The v2 Workflows API will supersede the v2 [Phase Items](#tag/Phase-Items) API, although initial rollout will only include support forWorkflow on Moments which means there will be a period of time during which the Phase Items API remains the APIfor Content Workflows.*### Workflow / Phase Items TranslationsThe following resources described below for the v2 Workflows API have fairly direct translations to the older Phase Items API.- A _workflow_ was known as a _phase group_.- A _stage_ was known as a _phase_.- An _assignment_ was known as a _phase item_.### ContextWorkflows from the v2 Workflow API have an optional `context` relationship. These contexts tie workflows to the resources againstwhich the workflow is being performed. Currently only the **Moment** context is supported.A workflow without a `context` is a reasonable thing to think about: Such a workflow might have common stages that apply broadlyin more than one context. Although a workflow can conceptually be created without a context, it must be given a context before it canbe started.Currently, the capabilities supported by contextless workflows are not built out in the Opal Platform. API requests should be made tocreate contexts for all workflows before building them out or starting them.**Important:** Contexts tie workflows to resources from neighboring services; although Opal has one coherent v2 API, a client mustrequest StoryFirst resources (like `moment`s) from other services rather than `including` them on Workflow requests. For example,a Workflow might have a `context` with a `moment_id` of `'3432'`; the client would make a request to `moments/v2/3432` to retrievedetails for that Moment.See the documentation on [`POST` **Create a Context**](#tag/Workflows/operation/CreateContextV2) for more information.### ResourcesA `workflow` is arranged into `stage`s, each of which is a `circuit_breaker`, an `approval` stage, or a `task` stage.All stages can optionally specify a `due_date`, but if `null` then the due date is left up to interpretation of the userof the workflow -- For a Moment Workflow, perhaps the due date is the `scheduled_date` of the Moment, or perhapsthe exact date is not important.Assignments are completed by `POST`ing `response`s. Circuit breakers and tasks can be completed and approvals can beapproved or declined. An approved response can be superseded by a following declined response on the same assignment.Similarly, tasks can be "undone" after being marked complete by sending a follow-up response. Responses are a ledger withthe most recent response representing the current state of the assignment.#### Circuit BreakerCircuit breakers generally just contain one assignment. When the assignment is completed, the circuit breaker is completedand the following stage becomes active. Circuit breakers allow workflows to pause between any two stages and they are usedto create the initial pause before a workflow is started (giving users time to build a workflow out before beginning workagainst it).#### ApprovalApproval stages can contain any number of approval `assignment`s. They can be configured such that all of those approvalsmust be given for the workflow to progress (`metadata.completion_rules.all`) or they can be configured such that the workflowprogresses after any one of the approvals is given (`metadata.completion_rules.one`).##### Approval ResponseEach approval `response` can be either `approved` or `declined` and it can optionally contain a message from the approver.As noted above, any number of responses can be given on a single assignment; the most recent response represents the stateof the approval: approved, declined, or in the absence of a response, simply incomplete.#### TaskTask stages can contain any number of task `assignment`s. A task stage is complete after all assignments within it have beencompleted.##### Task ResponseEach task `response` can be either _complete_ (`complete: true`) or _incomplete_ (`complete: false`).As noted above, any number of responses can be given on a single task; the most recent response represents the state of thetask: complete or incomplete.### TemplatesCreation of a new workflow often involves creating a handful of the same resources every time. For this reason, there are templatesthe allow you to create one of two types of workflows more easily. You always get a `circuit_breaker` with one assignment at the startand then you get either an `approval` or a `task` `stage` next, again with one assignment. All assignments start out unassigned.See the documentation on [`POST` **Create a Workflow**](#tag/Workflows/operation/CreateWorkflowsV2) for more information.### RewindingWorkflows can be "rewound" to undo some portion of them. **The big caveat being:** You are not allowed to rewind back to the start of (or before) a completed final approvel stage. Final approvalstages (i.e. the last approval stage in a workflow) are special because they can have side effects that cannot be taken back --if workflow completion resulted in publishing to a third party platform, for example, then rewinding back to an unapproved state for theworkflow would leave the workflow unrepresentative of the fact that something had already been published.See the documentation on [`PATCH` **Rewind a Workflow**](#tag/Workflows/operation/RewindWorkflowV2) for more information.
Opal Workflows API is one of 79 APIs that Opal publishes on the APIs.io network, described by a machine-readable OpenAPI specification.
Tagged areas include Workflows. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an API reference.
This API exposes 21 operations across 14 paths. It is described by OpenAPI 3.2.0, at version 1.0.
Requests are made against a single base URL, https://login.ouropal.com.
Metadata
The identity and technical contract details declared by the specification.
Authentication & Security 4
Opal Workflows API declares
4 security schemes
for authenticating requests.
It supports OAuth 2.0 (oauth2) using the authorizationCode flow, exposing 1 scope.
An API key is passed in the header as Session-Token (api_key).
It supports OAuth 2.0 (anonymous_oauth) using the clientCredentials flow, exposing 1 scope.
An API key is passed in the cookie as share_token (presentation_share_cookie).
oauth2— This API uses OAuth 2.0 with the authorization code grant flow. You can find more detailed authentication instructions in the [Authentication Strategies](/api/…api_key— (Deprecated) This API also supports authentication via an API or session token set in the request headers.anonymous_oauth— The OAuth 2.0 client credentials flow is used for secure server-server requests when Opal does not need to associate a request with a particular Opal user. The…presentation_share_cookie— A cookie set and read by the Monolith service that authorizes a non-opal user to view a presentation and the resources within it. Other services can rely on th…
Paths & Operations 21
Across 14 paths, the API surfaces 21 operations — 2 DELETE, 8 GET, 3 PATCH, 8 POST. Each is listed below with its method, path, parameters, and response codes.
Workflows Overview In Opal, a workflow is an arrangement of tasks and approvals required to progress through the lifecycle of a StoryFirst resource. Historical Note: The v2 Workfl…
Specification
The full machine-readable OpenAPI contract behind this narrative.
Source
More from Opal 12
Other APIs Opal publishes across the network.
This is an independent, third-party profile of Opal Workflows API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.
The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.
Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.
info@apievangelist.com
·
Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and
you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.