From 5b44ab9de8b4e10569c2e4f04c7397c623466530 Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Thu, 27 Aug 2026 21:06:39 +0000 Subject: [PATCH] Regenerate client from commit c7fd93c of spec repo --- .generator/schemas/v2/openapi.yaml | 131 +++++++++++++ .../v2/workflow-automation/CreateWorkflow.py | 10 + .../v2/workflow-automation/UpdateWorkflow.py | 9 + .../v2/model/workflow_data_attributes.py | 25 +++ .../v2/model/workflow_data_relationships.py | 8 + .../model/workflow_data_update_attributes.py | 25 +++ .../v2/model/workflow_list_item_attributes.py | 10 + .../v2/model/workflow_run_as.py | 45 +++++ .../v2/model/workflow_run_as_initiator.py | 44 +++++ .../model/workflow_run_as_initiator_type.py | 35 ++++ .../v2/model/workflow_run_as_owner.py | 44 +++++ .../v2/model/workflow_run_as_owner_type.py | 35 ++++ .../model/workflow_run_as_service_account.py | 51 +++++ .../workflow_run_as_service_account_type.py | 35 ++++ .../v2/model/workflow_run_as_user_mode.py | 41 ++++ src/datadog_api_client/v2/models/__init__.py | 16 ++ ...cessfully-created-a-workflow-response.json | 4 + ...cessfully-updated-a-workflow-response.json | 4 + .../v2/workflow-automation.json | 179 +++++++++++++++--- tests/v2/features/given.json | 2 +- tests/v2/features/workflow_automation.feature | 14 +- 21 files changed, 738 insertions(+), 29 deletions(-) create mode 100644 src/datadog_api_client/v2/model/workflow_run_as.py create mode 100644 src/datadog_api_client/v2/model/workflow_run_as_initiator.py create mode 100644 src/datadog_api_client/v2/model/workflow_run_as_initiator_type.py create mode 100644 src/datadog_api_client/v2/model/workflow_run_as_owner.py create mode 100644 src/datadog_api_client/v2/model/workflow_run_as_owner_type.py create mode 100644 src/datadog_api_client/v2/model/workflow_run_as_service_account.py create mode 100644 src/datadog_api_client/v2/model/workflow_run_as_service_account_type.py create mode 100644 src/datadog_api_client/v2/model/workflow_run_as_user_mode.py diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index bd7d5e603e..7f65431eba 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -26762,6 +26762,9 @@ components: description: "A sample workflow." name: "Example Workflow" published: true + runAs: + id: 00000000-0000-0000-0000-000000000007 + type: service_account spec: annotations: - display: @@ -120857,6 +120860,9 @@ components: description: "A sample workflow." name: "Example Workflow" published: true + runAs: + id: 00000000-0000-0000-0000-000000000007 + type: service_account spec: annotations: - display: @@ -123940,6 +123946,12 @@ components: published: description: Set the workflow to published or unpublished. Workflows in an unpublished state will only be executable via manual runs. Automatic triggers such as Schedule will not execute the workflow until it is published. type: boolean + runAs: + $ref: "#/components/schemas/WorkflowRunAs" + writeOnly: true + runAsUserMode: + $ref: "#/components/schemas/WorkflowRunAsUserMode" + readOnly: true spec: $ref: "#/components/schemas/Spec" tags: @@ -123968,6 +123980,9 @@ components: $ref: "#/components/schemas/WorkflowUserRelationship" owner: $ref: "#/components/schemas/WorkflowUserRelationship" + runAs: + $ref: "#/components/schemas/WorkflowUserRelationship" + description: The service account used to run the workflow. Present when `runAsUserMode` is `service_account`. readOnly: true type: object WorkflowDataType: @@ -124011,6 +124026,12 @@ components: published: description: Set the workflow to published or unpublished. Workflows in an unpublished state will only be executable via manual runs. Automatic triggers such as Schedule will not execute the workflow until it is published. type: boolean + runAs: + $ref: "#/components/schemas/WorkflowRunAs" + writeOnly: true + runAsUserMode: + $ref: "#/components/schemas/WorkflowRunAsUserMode" + readOnly: true spec: $ref: "#/components/schemas/Spec" tags: @@ -124129,6 +124150,9 @@ components: published: description: Whether the workflow is published. Unpublished workflows can only be run manually. Automatic triggers such as Schedule do not fire until the workflow is published. type: boolean + runAsUserMode: + $ref: "#/components/schemas/WorkflowRunAsUserMode" + readOnly: true spec: $ref: "#/components/schemas/Spec" nullable: true @@ -124146,6 +124170,84 @@ components: required: - name type: object + WorkflowRunAs: + description: Identity used to run the workflow. + example: + id: 00000000-0000-0000-0000-000000000007 + type: service_account + oneOf: + - $ref: "#/components/schemas/WorkflowRunAsOwner" + - $ref: "#/components/schemas/WorkflowRunAsServiceAccount" + - $ref: "#/components/schemas/WorkflowRunAsInitiator" + WorkflowRunAsInitiator: + additionalProperties: false + description: Run the workflow as the user who initiates the execution. + properties: + type: + $ref: "#/components/schemas/WorkflowRunAsInitiatorType" + required: + - type + type: object + WorkflowRunAsInitiatorType: + description: The initiator run-as type. + enum: + - initiator + example: initiator + type: string + x-enum-varnames: + - INITIATOR + WorkflowRunAsOwner: + additionalProperties: false + description: Run the workflow as its owner. + properties: + type: + $ref: "#/components/schemas/WorkflowRunAsOwnerType" + required: + - type + type: object + WorkflowRunAsOwnerType: + description: The owner run-as type. + enum: + - owner + example: owner + type: string + x-enum-varnames: + - OWNER + WorkflowRunAsServiceAccount: + additionalProperties: false + description: Run the workflow as a service account. + properties: + id: + description: The service account identifier. + example: 00000000-0000-0000-0000-000000000007 + format: uuid + type: string + type: + $ref: "#/components/schemas/WorkflowRunAsServiceAccountType" + required: + - type + - id + type: object + WorkflowRunAsServiceAccountType: + description: The service account run-as type. + enum: + - service_account + example: service_account + type: string + x-enum-varnames: + - SERVICE_ACCOUNT + WorkflowRunAsUserMode: + description: The effective type of identity used to run the workflow. + enum: + - owner + - service_account + - initiator + example: service_account + type: string + x-enum-varnames: + - OWNER + - SERVICE_ACCOUNT + - INITIATOR WorkflowTriggerWrapper: description: "Schema for a Workflow-based trigger." properties: @@ -220121,6 +220223,7 @@ paths: description: A sample workflow. name: Example Workflow published: true + runAsUserMode: service_account spec: {} tags: - team:infra @@ -220135,6 +220238,10 @@ paths: data: id: 00000000-0000-0000-0000-000000000009 type: users + runAs: + data: + id: 00000000-0000-0000-0000-000000000007 + type: users type: workflows meta: page: @@ -220175,6 +220282,9 @@ paths: description: A sample workflow. name: Example Workflow published: true + runAs: + id: 00000000-0000-0000-0000-000000000007 + type: service_account spec: annotations: - display: @@ -220241,8 +220351,14 @@ paths: data: attributes: name: Example Workflow + runAsUserMode: service_account spec: {} id: 00000000-0000-0000-0000-000000000001 + relationships: + runAs: + data: + id: 00000000-0000-0000-0000-000000000007 + type: users type: workflows schema: $ref: "#/components/schemas/CreateWorkflowResponse" @@ -220324,11 +220440,17 @@ paths: description: A sample workflow. name: Example Workflow published: true + runAsUserMode: service_account spec: {} tags: - team:infra updatedAt: "2024-01-01T00:00:00+00:00" id: 00000000-0000-0000-0000-000000000002 + relationships: + runAs: + data: + id: 00000000-0000-0000-0000-000000000007 + type: users type: workflows schema: $ref: "#/components/schemas/GetWorkflowResponse" @@ -220380,6 +220502,9 @@ paths: description: A sample workflow. name: Example Workflow published: true + runAs: + id: 00000000-0000-0000-0000-000000000007 + type: service_account spec: annotations: - display: @@ -220447,7 +220572,13 @@ paths: data: attributes: name: Example Workflow + runAsUserMode: service_account id: 00000000-0000-0000-0000-000000000003 + relationships: + runAs: + data: + id: 00000000-0000-0000-0000-000000000007 + type: users type: workflows schema: $ref: "#/components/schemas/UpdateWorkflowResponse" diff --git a/examples/v2/workflow-automation/CreateWorkflow.py b/examples/v2/workflow-automation/CreateWorkflow.py index 89cbe3ee8c..754e3ff73e 100644 --- a/examples/v2/workflow-automation/CreateWorkflow.py +++ b/examples/v2/workflow-automation/CreateWorkflow.py @@ -2,6 +2,7 @@ Create a Workflow returns "Successfully created a workflow." response """ +from os import environ from datadog_api_client import ApiClient, Configuration from datadog_api_client.v2.api.workflow_automation_api import WorkflowAutomationApi from datadog_api_client.v2.model.connection import Connection @@ -26,6 +27,11 @@ from datadog_api_client.v2.model.workflow_data import WorkflowData from datadog_api_client.v2.model.workflow_data_attributes import WorkflowDataAttributes from datadog_api_client.v2.model.workflow_data_type import WorkflowDataType +from datadog_api_client.v2.model.workflow_run_as_service_account import WorkflowRunAsServiceAccount +from datadog_api_client.v2.model.workflow_run_as_service_account_type import WorkflowRunAsServiceAccountType + +# there is a valid "service_account_user" in the system +SERVICE_ACCOUNT_USER_DATA_ID = environ["SERVICE_ACCOUNT_USER_DATA_ID"] body = CreateWorkflowRequest( data=WorkflowData( @@ -33,6 +39,10 @@ description="A sample workflow.", name="Example Workflow", published=True, + run_as=WorkflowRunAsServiceAccount( + type=WorkflowRunAsServiceAccountType.SERVICE_ACCOUNT, + id=SERVICE_ACCOUNT_USER_DATA_ID, + ), spec=Spec( connection_envs=[ ConnectionEnv( diff --git a/examples/v2/workflow-automation/UpdateWorkflow.py b/examples/v2/workflow-automation/UpdateWorkflow.py index d994d647f4..266673d4c6 100644 --- a/examples/v2/workflow-automation/UpdateWorkflow.py +++ b/examples/v2/workflow-automation/UpdateWorkflow.py @@ -27,16 +27,25 @@ from datadog_api_client.v2.model.workflow_data_type import WorkflowDataType from datadog_api_client.v2.model.workflow_data_update import WorkflowDataUpdate from datadog_api_client.v2.model.workflow_data_update_attributes import WorkflowDataUpdateAttributes +from datadog_api_client.v2.model.workflow_run_as_service_account import WorkflowRunAsServiceAccount +from datadog_api_client.v2.model.workflow_run_as_service_account_type import WorkflowRunAsServiceAccountType # there is a valid "workflow" in the system WORKFLOW_DATA_ID = environ["WORKFLOW_DATA_ID"] +# there is a valid "service_account_user" in the system +SERVICE_ACCOUNT_USER_DATA_ID = environ["SERVICE_ACCOUNT_USER_DATA_ID"] + body = UpdateWorkflowRequest( data=WorkflowDataUpdate( attributes=WorkflowDataUpdateAttributes( description="A sample workflow.", name="Example Workflow", published=True, + run_as=WorkflowRunAsServiceAccount( + type=WorkflowRunAsServiceAccountType.SERVICE_ACCOUNT, + id=SERVICE_ACCOUNT_USER_DATA_ID, + ), spec=Spec( connection_envs=[ ConnectionEnv( diff --git a/src/datadog_api_client/v2/model/workflow_data_attributes.py b/src/datadog_api_client/v2/model/workflow_data_attributes.py index 55b7b19214..f0dd344cd1 100644 --- a/src/datadog_api_client/v2/model/workflow_data_attributes.py +++ b/src/datadog_api_client/v2/model/workflow_data_attributes.py @@ -15,12 +15,19 @@ if TYPE_CHECKING: + from datadog_api_client.v2.model.workflow_run_as import WorkflowRunAs + from datadog_api_client.v2.model.workflow_run_as_user_mode import WorkflowRunAsUserMode from datadog_api_client.v2.model.spec import Spec + from datadog_api_client.v2.model.workflow_run_as_owner import WorkflowRunAsOwner + from datadog_api_client.v2.model.workflow_run_as_service_account import WorkflowRunAsServiceAccount + from datadog_api_client.v2.model.workflow_run_as_initiator import WorkflowRunAsInitiator class WorkflowDataAttributes(ModelNormal): @cached_property def openapi_types(_): + from datadog_api_client.v2.model.workflow_run_as import WorkflowRunAs + from datadog_api_client.v2.model.workflow_run_as_user_mode import WorkflowRunAsUserMode from datadog_api_client.v2.model.spec import Spec return { @@ -28,6 +35,8 @@ def openapi_types(_): "description": (str,), "name": (str,), "published": (bool,), + "run_as": (WorkflowRunAs,), + "run_as_user_mode": (WorkflowRunAsUserMode,), "spec": (Spec,), "tags": ([str],), "updated_at": (datetime,), @@ -39,6 +48,8 @@ def openapi_types(_): "description": "description", "name": "name", "published": "published", + "run_as": "runAs", + "run_as_user_mode": "runAsUserMode", "spec": "spec", "tags": "tags", "updated_at": "updatedAt", @@ -56,6 +67,10 @@ def __init__( created_at: Union[datetime, UnsetType] = unset, description: Union[str, UnsetType] = unset, published: Union[bool, UnsetType] = unset, + run_as: Union[ + WorkflowRunAs, WorkflowRunAsOwner, WorkflowRunAsServiceAccount, WorkflowRunAsInitiator, UnsetType + ] = unset, + run_as_user_mode: Union[WorkflowRunAsUserMode, UnsetType] = unset, tags: Union[List[str], UnsetType] = unset, updated_at: Union[datetime, UnsetType] = unset, webhook_secret: Union[str, UnsetType] = unset, @@ -76,6 +91,12 @@ def __init__( :param published: Set the workflow to published or unpublished. Workflows in an unpublished state will only be executable via manual runs. Automatic triggers such as Schedule will not execute the workflow until it is published. :type published: bool, optional + :param run_as: Identity used to run the workflow. + :type run_as: WorkflowRunAs, optional + + :param run_as_user_mode: The effective type of identity used to run the workflow. + :type run_as_user_mode: WorkflowRunAsUserMode, optional + :param spec: A complete Workflow Automation definition, including its triggers, steps, and connections. :type spec: Spec @@ -94,6 +115,10 @@ def __init__( kwargs["description"] = description if published is not unset: kwargs["published"] = published + if run_as is not unset: + kwargs["run_as"] = run_as + if run_as_user_mode is not unset: + kwargs["run_as_user_mode"] = run_as_user_mode if tags is not unset: kwargs["tags"] = tags if updated_at is not unset: diff --git a/src/datadog_api_client/v2/model/workflow_data_relationships.py b/src/datadog_api_client/v2/model/workflow_data_relationships.py index 66df274632..a3581c2b0e 100644 --- a/src/datadog_api_client/v2/model/workflow_data_relationships.py +++ b/src/datadog_api_client/v2/model/workflow_data_relationships.py @@ -25,17 +25,20 @@ def openapi_types(_): return { "creator": (WorkflowUserRelationship,), "owner": (WorkflowUserRelationship,), + "run_as": (WorkflowUserRelationship,), } attribute_map = { "creator": "creator", "owner": "owner", + "run_as": "runAs", } def __init__( self_, creator: Union[WorkflowUserRelationship, UnsetType] = unset, owner: Union[WorkflowUserRelationship, UnsetType] = unset, + run_as: Union[WorkflowUserRelationship, UnsetType] = unset, **kwargs, ): """ @@ -46,9 +49,14 @@ def __init__( :param owner: The definition of ``WorkflowUserRelationship`` object. :type owner: WorkflowUserRelationship, optional + + :param run_as: The definition of ``WorkflowUserRelationship`` object. + :type run_as: WorkflowUserRelationship, optional """ if creator is not unset: kwargs["creator"] = creator if owner is not unset: kwargs["owner"] = owner + if run_as is not unset: + kwargs["run_as"] = run_as super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/workflow_data_update_attributes.py b/src/datadog_api_client/v2/model/workflow_data_update_attributes.py index 4b4f5bb68e..90ac677f35 100644 --- a/src/datadog_api_client/v2/model/workflow_data_update_attributes.py +++ b/src/datadog_api_client/v2/model/workflow_data_update_attributes.py @@ -15,12 +15,19 @@ if TYPE_CHECKING: + from datadog_api_client.v2.model.workflow_run_as import WorkflowRunAs + from datadog_api_client.v2.model.workflow_run_as_user_mode import WorkflowRunAsUserMode from datadog_api_client.v2.model.spec import Spec + from datadog_api_client.v2.model.workflow_run_as_owner import WorkflowRunAsOwner + from datadog_api_client.v2.model.workflow_run_as_service_account import WorkflowRunAsServiceAccount + from datadog_api_client.v2.model.workflow_run_as_initiator import WorkflowRunAsInitiator class WorkflowDataUpdateAttributes(ModelNormal): @cached_property def openapi_types(_): + from datadog_api_client.v2.model.workflow_run_as import WorkflowRunAs + from datadog_api_client.v2.model.workflow_run_as_user_mode import WorkflowRunAsUserMode from datadog_api_client.v2.model.spec import Spec return { @@ -28,6 +35,8 @@ def openapi_types(_): "description": (str,), "name": (str,), "published": (bool,), + "run_as": (WorkflowRunAs,), + "run_as_user_mode": (WorkflowRunAsUserMode,), "spec": (Spec,), "tags": ([str],), "updated_at": (datetime,), @@ -39,6 +48,8 @@ def openapi_types(_): "description": "description", "name": "name", "published": "published", + "run_as": "runAs", + "run_as_user_mode": "runAsUserMode", "spec": "spec", "tags": "tags", "updated_at": "updatedAt", @@ -55,6 +66,10 @@ def __init__( description: Union[str, UnsetType] = unset, name: Union[str, UnsetType] = unset, published: Union[bool, UnsetType] = unset, + run_as: Union[ + WorkflowRunAs, WorkflowRunAsOwner, WorkflowRunAsServiceAccount, WorkflowRunAsInitiator, UnsetType + ] = unset, + run_as_user_mode: Union[WorkflowRunAsUserMode, UnsetType] = unset, spec: Union[Spec, UnsetType] = unset, tags: Union[List[str], UnsetType] = unset, updated_at: Union[datetime, UnsetType] = unset, @@ -76,6 +91,12 @@ def __init__( :param published: Set the workflow to published or unpublished. Workflows in an unpublished state will only be executable via manual runs. Automatic triggers such as Schedule will not execute the workflow until it is published. :type published: bool, optional + :param run_as: Identity used to run the workflow. + :type run_as: WorkflowRunAs, optional + + :param run_as_user_mode: The effective type of identity used to run the workflow. + :type run_as_user_mode: WorkflowRunAsUserMode, optional + :param spec: A complete Workflow Automation definition, including its triggers, steps, and connections. :type spec: Spec, optional @@ -96,6 +117,10 @@ def __init__( kwargs["name"] = name if published is not unset: kwargs["published"] = published + if run_as is not unset: + kwargs["run_as"] = run_as + if run_as_user_mode is not unset: + kwargs["run_as_user_mode"] = run_as_user_mode if spec is not unset: kwargs["spec"] = spec if tags is not unset: diff --git a/src/datadog_api_client/v2/model/workflow_list_item_attributes.py b/src/datadog_api_client/v2/model/workflow_list_item_attributes.py index 768f6bf4ee..4e5f66054a 100644 --- a/src/datadog_api_client/v2/model/workflow_list_item_attributes.py +++ b/src/datadog_api_client/v2/model/workflow_list_item_attributes.py @@ -15,12 +15,14 @@ if TYPE_CHECKING: + from datadog_api_client.v2.model.workflow_run_as_user_mode import WorkflowRunAsUserMode from datadog_api_client.v2.model.spec import Spec class WorkflowListItemAttributes(ModelNormal): @cached_property def openapi_types(_): + from datadog_api_client.v2.model.workflow_run_as_user_mode import WorkflowRunAsUserMode from datadog_api_client.v2.model.spec import Spec return { @@ -28,6 +30,7 @@ def openapi_types(_): "description": (str,), "name": (str,), "published": (bool,), + "run_as_user_mode": (WorkflowRunAsUserMode,), "spec": (Spec,), "tags": ([str],), "updated_at": (datetime,), @@ -38,6 +41,7 @@ def openapi_types(_): "description": "description", "name": "name", "published": "published", + "run_as_user_mode": "runAsUserMode", "spec": "spec", "tags": "tags", "updated_at": "updatedAt", @@ -53,6 +57,7 @@ def __init__( created_at: Union[datetime, UnsetType] = unset, description: Union[str, UnsetType] = unset, published: Union[bool, UnsetType] = unset, + run_as_user_mode: Union[WorkflowRunAsUserMode, UnsetType] = unset, spec: Union[Spec, UnsetType] = unset, tags: Union[List[str], UnsetType] = unset, updated_at: Union[datetime, UnsetType] = unset, @@ -73,6 +78,9 @@ def __init__( :param published: Whether the workflow is published. Unpublished workflows can only be run manually. Automatic triggers such as Schedule do not fire until the workflow is published. :type published: bool, optional + :param run_as_user_mode: The effective type of identity used to run the workflow. + :type run_as_user_mode: WorkflowRunAsUserMode, optional + :param spec: A complete Workflow Automation definition, including its triggers, steps, and connections. :type spec: Spec, optional @@ -88,6 +96,8 @@ def __init__( kwargs["description"] = description if published is not unset: kwargs["published"] = published + if run_as_user_mode is not unset: + kwargs["run_as_user_mode"] = run_as_user_mode if spec is not unset: kwargs["spec"] = spec if tags is not unset: diff --git a/src/datadog_api_client/v2/model/workflow_run_as.py b/src/datadog_api_client/v2/model/workflow_run_as.py new file mode 100644 index 0000000000..fcf7924250 --- /dev/null +++ b/src/datadog_api_client/v2/model/workflow_run_as.py @@ -0,0 +1,45 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelComposed, + cached_property, +) + + +class WorkflowRunAs(ModelComposed): + def __init__(self, **kwargs): + """ + Identity used to run the workflow. + + :param type: The owner run-as type. + :type type: WorkflowRunAsOwnerType + + :param id: The service account identifier. + :type id: UUID + """ + super().__init__(kwargs) + + @cached_property + def _composed_schemas(_): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + from datadog_api_client.v2.model.workflow_run_as_owner import WorkflowRunAsOwner + from datadog_api_client.v2.model.workflow_run_as_service_account import WorkflowRunAsServiceAccount + from datadog_api_client.v2.model.workflow_run_as_initiator import WorkflowRunAsInitiator + + return { + "oneOf": [ + WorkflowRunAsOwner, + WorkflowRunAsServiceAccount, + WorkflowRunAsInitiator, + ], + } diff --git a/src/datadog_api_client/v2/model/workflow_run_as_initiator.py b/src/datadog_api_client/v2/model/workflow_run_as_initiator.py new file mode 100644 index 0000000000..d8b1339e8b --- /dev/null +++ b/src/datadog_api_client/v2/model/workflow_run_as_initiator.py @@ -0,0 +1,44 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.workflow_run_as_initiator_type import WorkflowRunAsInitiatorType + + +class WorkflowRunAsInitiator(ModelNormal): + @cached_property + def additional_properties_type(_): + return None + + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.workflow_run_as_initiator_type import WorkflowRunAsInitiatorType + + return { + "type": (WorkflowRunAsInitiatorType,), + } + + attribute_map = { + "type": "type", + } + + def __init__(self_, type: WorkflowRunAsInitiatorType, **kwargs): + """ + Run the workflow as the user who initiates the execution. + + :param type: The initiator run-as type. + :type type: WorkflowRunAsInitiatorType + """ + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/workflow_run_as_initiator_type.py b/src/datadog_api_client/v2/model/workflow_run_as_initiator_type.py new file mode 100644 index 0000000000..892f7d5479 --- /dev/null +++ b/src/datadog_api_client/v2/model/workflow_run_as_initiator_type.py @@ -0,0 +1,35 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class WorkflowRunAsInitiatorType(ModelSimple): + """ + The initiator run-as type. + + :param value: If omitted defaults to "initiator". Must be one of ["initiator"]. + :type value: str + """ + + allowed_values = { + "initiator", + } + INITIATOR: ClassVar["WorkflowRunAsInitiatorType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +WorkflowRunAsInitiatorType.INITIATOR = WorkflowRunAsInitiatorType("initiator") diff --git a/src/datadog_api_client/v2/model/workflow_run_as_owner.py b/src/datadog_api_client/v2/model/workflow_run_as_owner.py new file mode 100644 index 0000000000..798ab6e080 --- /dev/null +++ b/src/datadog_api_client/v2/model/workflow_run_as_owner.py @@ -0,0 +1,44 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.workflow_run_as_owner_type import WorkflowRunAsOwnerType + + +class WorkflowRunAsOwner(ModelNormal): + @cached_property + def additional_properties_type(_): + return None + + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.workflow_run_as_owner_type import WorkflowRunAsOwnerType + + return { + "type": (WorkflowRunAsOwnerType,), + } + + attribute_map = { + "type": "type", + } + + def __init__(self_, type: WorkflowRunAsOwnerType, **kwargs): + """ + Run the workflow as its owner. + + :param type: The owner run-as type. + :type type: WorkflowRunAsOwnerType + """ + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/workflow_run_as_owner_type.py b/src/datadog_api_client/v2/model/workflow_run_as_owner_type.py new file mode 100644 index 0000000000..e710dcf2c3 --- /dev/null +++ b/src/datadog_api_client/v2/model/workflow_run_as_owner_type.py @@ -0,0 +1,35 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class WorkflowRunAsOwnerType(ModelSimple): + """ + The owner run-as type. + + :param value: If omitted defaults to "owner". Must be one of ["owner"]. + :type value: str + """ + + allowed_values = { + "owner", + } + OWNER: ClassVar["WorkflowRunAsOwnerType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +WorkflowRunAsOwnerType.OWNER = WorkflowRunAsOwnerType("owner") diff --git a/src/datadog_api_client/v2/model/workflow_run_as_service_account.py b/src/datadog_api_client/v2/model/workflow_run_as_service_account.py new file mode 100644 index 0000000000..312d240de6 --- /dev/null +++ b/src/datadog_api_client/v2/model/workflow_run_as_service_account.py @@ -0,0 +1,51 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.workflow_run_as_service_account_type import WorkflowRunAsServiceAccountType + + +class WorkflowRunAsServiceAccount(ModelNormal): + @cached_property + def additional_properties_type(_): + return None + + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.workflow_run_as_service_account_type import WorkflowRunAsServiceAccountType + + return { + "id": (UUID,), + "type": (WorkflowRunAsServiceAccountType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: UUID, type: WorkflowRunAsServiceAccountType, **kwargs): + """ + Run the workflow as a service account. + + :param id: The service account identifier. + :type id: UUID + + :param type: The service account run-as type. + :type type: WorkflowRunAsServiceAccountType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/workflow_run_as_service_account_type.py b/src/datadog_api_client/v2/model/workflow_run_as_service_account_type.py new file mode 100644 index 0000000000..783d2b6111 --- /dev/null +++ b/src/datadog_api_client/v2/model/workflow_run_as_service_account_type.py @@ -0,0 +1,35 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class WorkflowRunAsServiceAccountType(ModelSimple): + """ + The service account run-as type. + + :param value: If omitted defaults to "service_account". Must be one of ["service_account"]. + :type value: str + """ + + allowed_values = { + "service_account", + } + SERVICE_ACCOUNT: ClassVar["WorkflowRunAsServiceAccountType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +WorkflowRunAsServiceAccountType.SERVICE_ACCOUNT = WorkflowRunAsServiceAccountType("service_account") diff --git a/src/datadog_api_client/v2/model/workflow_run_as_user_mode.py b/src/datadog_api_client/v2/model/workflow_run_as_user_mode.py new file mode 100644 index 0000000000..6eee13cee7 --- /dev/null +++ b/src/datadog_api_client/v2/model/workflow_run_as_user_mode.py @@ -0,0 +1,41 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class WorkflowRunAsUserMode(ModelSimple): + """ + The effective type of identity used to run the workflow. + + :param value: Must be one of ["owner", "service_account", "initiator"]. + :type value: str + """ + + allowed_values = { + "owner", + "service_account", + "initiator", + } + OWNER: ClassVar["WorkflowRunAsUserMode"] + SERVICE_ACCOUNT: ClassVar["WorkflowRunAsUserMode"] + INITIATOR: ClassVar["WorkflowRunAsUserMode"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +WorkflowRunAsUserMode.OWNER = WorkflowRunAsUserMode("owner") +WorkflowRunAsUserMode.SERVICE_ACCOUNT = WorkflowRunAsUserMode("service_account") +WorkflowRunAsUserMode.INITIATOR = WorkflowRunAsUserMode("initiator") diff --git a/src/datadog_api_client/v2/models/__init__.py b/src/datadog_api_client/v2/models/__init__.py index f88afdca91..bf4808aacd 100644 --- a/src/datadog_api_client/v2/models/__init__.py +++ b/src/datadog_api_client/v2/models/__init__.py @@ -11205,6 +11205,14 @@ from datadog_api_client.v2.model.workflow_list_instances_response_meta_page import WorkflowListInstancesResponseMetaPage from datadog_api_client.v2.model.workflow_list_item import WorkflowListItem from datadog_api_client.v2.model.workflow_list_item_attributes import WorkflowListItemAttributes +from datadog_api_client.v2.model.workflow_run_as import WorkflowRunAs +from datadog_api_client.v2.model.workflow_run_as_initiator import WorkflowRunAsInitiator +from datadog_api_client.v2.model.workflow_run_as_initiator_type import WorkflowRunAsInitiatorType +from datadog_api_client.v2.model.workflow_run_as_owner import WorkflowRunAsOwner +from datadog_api_client.v2.model.workflow_run_as_owner_type import WorkflowRunAsOwnerType +from datadog_api_client.v2.model.workflow_run_as_service_account import WorkflowRunAsServiceAccount +from datadog_api_client.v2.model.workflow_run_as_service_account_type import WorkflowRunAsServiceAccountType +from datadog_api_client.v2.model.workflow_run_as_user_mode import WorkflowRunAsUserMode from datadog_api_client.v2.model.workflow_trigger_wrapper import WorkflowTriggerWrapper from datadog_api_client.v2.model.workflow_user_relationship import WorkflowUserRelationship from datadog_api_client.v2.model.workflow_user_relationship_data import WorkflowUserRelationshipData @@ -18914,6 +18922,14 @@ "WorkflowListInstancesResponseMetaPage", "WorkflowListItem", "WorkflowListItemAttributes", + "WorkflowRunAs", + "WorkflowRunAsInitiator", + "WorkflowRunAsInitiatorType", + "WorkflowRunAsOwner", + "WorkflowRunAsOwnerType", + "WorkflowRunAsServiceAccount", + "WorkflowRunAsServiceAccountType", + "WorkflowRunAsUserMode", "WorkflowTriggerWrapper", "WorkflowUserRelationship", "WorkflowUserRelationshipData", diff --git a/tests/generated-test/test-runner-data/v2/workflow-automation/create-a-workflow-returns-successfully-created-a-workflow-response.json b/tests/generated-test/test-runner-data/v2/workflow-automation/create-a-workflow-returns-successfully-created-a-workflow-response.json index e97bb7ba80..fe964ac68e 100644 --- a/tests/generated-test/test-runner-data/v2/workflow-automation/create-a-workflow-returns-successfully-created-a-workflow-response.json +++ b/tests/generated-test/test-runner-data/v2/workflow-automation/create-a-workflow-returns-successfully-created-a-workflow-response.json @@ -18,6 +18,10 @@ "description": "A sample workflow.", "name": "Example Workflow", "published": true, + "runAs": { + "id": "{{ service_account_user.data.id }}", + "type": "service_account" + }, "spec": { "connectionEnvs": [ { diff --git a/tests/generated-test/test-runner-data/v2/workflow-automation/update-an-existing-workflow-returns-successfully-updated-a-workflow-response.json b/tests/generated-test/test-runner-data/v2/workflow-automation/update-an-existing-workflow-returns-successfully-updated-a-workflow-response.json index b568c553de..fcbbeee6ff 100644 --- a/tests/generated-test/test-runner-data/v2/workflow-automation/update-an-existing-workflow-returns-successfully-updated-a-workflow-response.json +++ b/tests/generated-test/test-runner-data/v2/workflow-automation/update-an-existing-workflow-returns-successfully-updated-a-workflow-response.json @@ -18,6 +18,10 @@ "description": "A sample workflow.", "name": "Example Workflow", "published": true, + "runAs": { + "id": "{{ service_account_user.data.id }}", + "type": "service_account" + }, "spec": { "connectionEnvs": [ { diff --git a/tests/generated-test/test-server-data/v2/workflow-automation.json b/tests/generated-test/test-server-data/v2/workflow-automation.json index 15a2f0af4e..959b609a04 100644 --- a/tests/generated-test/test-server-data/v2/workflow-automation.json +++ b/tests/generated-test/test-server-data/v2/workflow-automation.json @@ -316,8 +316,40 @@ }, { "feature": "Workflow Automation", - "frozen_at": "2025-05-26T17:23:43.084Z", + "frozen_at": "2026-08-27T16:42:30.727Z", "interactions": [ + { + "request": { + "body": { + "type": "json", + "value": { + "data": { + "attributes": { + "email": "Test-Create_a_Workflow_returns_Successfully_created_a_workflow_response-1787848950@datadoghq.com", + "service_account": true, + "title": "user title" + }, + "type": "users" + } + } + }, + "content_type": "application/json", + "method": "POST", + "path": "/api/v2/service_accounts", + "query": [] + }, + "response": { + "body": { + "encoding": "text", + "value": "{\"data\":{\"type\":\"users\",\"id\":\"4ceb2438-a236-11f1-a18c-de57c2411af2\",\"attributes\":{\"uuid\":\"4ceb2438-a236-11f1-a18c-de57c2411af2\",\"name\":null,\"handle\":\"4ceb2438-a236-11f1-a18c-de57c2411af2\",\"created_at\":\"2026-08-27T16:42:32.760882+00:00\",\"modified_at\":\"2026-08-27T16:42:32.760882+00:00\",\"email\":\"test-create_a_workflow_returns_successfully_created_a_workflow_response-1787848950@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/a0427903ef6d5520c0478c3da84ec450?s=48&d=retro\",\"title\":\"user title\",\"verified\":true,\"service_account\":true,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Active\",\"last_login_time\":null},\"relationships\":{\"roles\":{\"data\":[]},\"org\":{\"data\":{\"type\":\"orgs\",\"id\":\"4dee724d-00cc-11ea-a77b-570c9d03c6c5\"}}}}}\n" + }, + "headers": { + "content-type": "application/json" + }, + "reason": "Created", + "status": 201 + } + }, { "request": { "body": { @@ -328,6 +360,10 @@ "description": "A sample workflow.", "name": "Example Workflow", "published": true, + "runAs": { + "id": "4ceb2438-a236-11f1-a18c-de57c2411af2", + "type": "service_account" + }, "spec": { "connectionEnvs": [ { @@ -419,7 +455,7 @@ "response": { "body": { "encoding": "text", - "value": "{\"data\":{\"id\":\"c850935f-15fc-4e5b-8903-d68066c5343a\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-26T17:23:43.255617Z\",\"description\":\"A sample workflow.\",\"name\":\"Example Workflow\",\"published\":true,\"spec\":{\"triggers\":[{\"startStepNames\":[\"Step1\"],\"monitorTrigger\":{\"rateLimit\":{\"count\":1,\"interval\":\"3600s\"}}},{\"startStepNames\":[\"Step1\"],\"githubWebhookTrigger\":{}}],\"steps\":[{\"name\":\"Step1\",\"actionId\":\"com.datadoghq.dd.monitor.listMonitors\",\"connectionLabel\":\"INTEGRATION_DATADOG\",\"parameters\":[{\"name\":\"tags\",\"value\":\"service:monitoring\"}],\"outboundEdges\":[{\"nextStepName\":\"Step2\",\"branchName\":\"main\"}]},{\"name\":\"Step2\",\"actionId\":\"com.datadoghq.core.noop\"}],\"connectionEnvs\":[{\"env\":\"default\",\"connections\":[{\"connectionId\":\"e1e64943-c7c5-4487-aece-25aaec7d3aad\",\"label\":\"INTEGRATION_DATADOG\"}]}],\"inputSchema\":{\"parameters\":[{\"name\":\"input\",\"type\":\"STRING\",\"defaultValue\":\"default\"}]},\"outputSchema\":{\"parameters\":[{\"name\":\"output\",\"type\":\"ARRAY_OBJECT\",\"value\":\"outputValue\"}]}},\"tags\":[\"foo:bar\",\"service:monitoring\",\"team:infra\"],\"updatedAt\":\"2025-05-26T17:23:43.255617Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}}}}}" + "value": "{\"data\":{\"id\":\"6290a953-7690-41ae-932b-c1bbe0f6de6a\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2026-08-27T16:42:33.029475Z\",\"description\":\"A sample workflow.\",\"name\":\"Example Workflow\",\"published\":true,\"runAsUserMode\":\"service_account\",\"spec\":{\"triggers\":[{\"startStepNames\":[\"Step1\"],\"monitorTrigger\":{\"rateLimit\":{\"count\":1,\"interval\":\"3600s\"}}},{\"startStepNames\":[\"Step1\"],\"githubWebhookTrigger\":{}}],\"steps\":[{\"name\":\"Step1\",\"actionId\":\"com.datadoghq.dd.monitor.listMonitors\",\"connectionLabel\":\"INTEGRATION_DATADOG\",\"parameters\":[{\"name\":\"tags\",\"value\":\"service:monitoring\"}],\"outboundEdges\":[{\"nextStepName\":\"Step2\",\"branchName\":\"main\"}]},{\"name\":\"Step2\",\"actionId\":\"com.datadoghq.core.noop\"}],\"connectionEnvs\":[{\"env\":\"default\",\"connections\":[{\"connectionId\":\"e1e64943-c7c5-4487-aece-25aaec7d3aad\",\"label\":\"INTEGRATION_DATADOG\"}]}],\"inputSchema\":{\"parameters\":[{\"name\":\"input\",\"type\":\"STRING\",\"defaultValue\":\"default\"}]},\"outputSchema\":{\"parameters\":[{\"name\":\"output\",\"type\":\"ARRAY_OBJECT\",\"value\":\"outputValue\"}]}},\"tags\":[\"foo:bar\",\"service:monitoring\",\"team:infra\"],\"updatedAt\":\"2026-08-27T16:42:33.029475Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"runAs\":{\"data\":{\"id\":\"4ceb2438-a236-11f1-a18c-de57c2411af2\",\"type\":\"users\"}}}}}" }, "headers": { "content-type": "application/vnd.api+json" @@ -436,7 +472,28 @@ }, "content_type": "", "method": "DELETE", - "path": "/api/v2/workflows/c850935f-15fc-4e5b-8903-d68066c5343a", + "path": "/api/v2/workflows/6290a953-7690-41ae-932b-c1bbe0f6de6a", + "query": [] + }, + "response": { + "body": { + "encoding": "text", + "value": "" + }, + "headers": {}, + "reason": "No Content", + "status": 204 + } + }, + { + "request": { + "body": { + "type": "empty", + "value": null + }, + "content_type": "", + "method": "DELETE", + "path": "/api/v2/users/4ceb2438-a236-11f1-a18c-de57c2411af2", "query": [] }, "response": { @@ -486,7 +543,7 @@ }, { "feature": "Workflow Automation", - "frozen_at": "2025-05-26T17:23:43.503Z", + "frozen_at": "2026-08-26T18:39:37.047Z", "interactions": [ { "request": { @@ -496,6 +553,9 @@ "data": { "attributes": { "name": "Cassette Workflow x-given", + "runAs": { + "type": "owner" + }, "spec": { "steps": [ { @@ -525,7 +585,7 @@ "response": { "body": { "encoding": "text", - "value": "{\"data\":{\"id\":\"8b9af60d-3521-4ed0-85b2-8e2ab2131e58\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-26T17:23:43.642375Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":{\"triggers\":[{\"startStepNames\":[\"No_op\"],\"workflowTrigger\":{}}],\"steps\":[{\"name\":\"No_op\",\"actionId\":\"com.datadoghq.core.noop\"}]},\"tags\":[],\"updatedAt\":\"2025-05-26T17:23:43.642375Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}}}}}" + "value": "{\"data\":{\"id\":\"d589ed0f-4b0e-4916-b3c9-7ece9c91b584\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2026-08-26T18:39:37.152887Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":{\"triggers\":[{\"startStepNames\":[\"No_op\"],\"workflowTrigger\":{}}],\"steps\":[{\"name\":\"No_op\",\"actionId\":\"com.datadoghq.core.noop\"}]},\"tags\":[],\"updatedAt\":\"2026-08-26T18:39:37.152887Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}}}" }, "headers": { "content-type": "application/vnd.api+json" @@ -542,7 +602,7 @@ }, "content_type": "", "method": "DELETE", - "path": "/api/v2/workflows/8b9af60d-3521-4ed0-85b2-8e2ab2131e58", + "path": "/api/v2/workflows/d589ed0f-4b0e-4916-b3c9-7ece9c91b584", "query": [] }, "response": { @@ -563,7 +623,7 @@ }, "content_type": "", "method": "DELETE", - "path": "/api/v2/workflows/8b9af60d-3521-4ed0-85b2-8e2ab2131e58", + "path": "/api/v2/workflows/d589ed0f-4b0e-4916-b3c9-7ece9c91b584", "query": [] }, "response": { @@ -813,7 +873,7 @@ }, { "feature": "Workflow Automation", - "frozen_at": "2025-05-26T17:23:44.094Z", + "frozen_at": "2026-08-26T18:39:37.347Z", "interactions": [ { "request": { @@ -823,6 +883,9 @@ "data": { "attributes": { "name": "Cassette Workflow x-given", + "runAs": { + "type": "owner" + }, "spec": { "steps": [ { @@ -852,7 +915,7 @@ "response": { "body": { "encoding": "text", - "value": "{\"data\":{\"id\":\"dec8dfd0-2031-480a-90ce-4e9179b22793\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-26T17:23:44.222906Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":{\"triggers\":[{\"startStepNames\":[\"No_op\"],\"workflowTrigger\":{}}],\"steps\":[{\"name\":\"No_op\",\"actionId\":\"com.datadoghq.core.noop\"}]},\"tags\":[],\"updatedAt\":\"2025-05-26T17:23:44.222906Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}}}}}" + "value": "{\"data\":{\"id\":\"5d3b0956-5160-415d-b637-bab2b81ebb49\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2026-08-26T18:39:37.456088Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":{\"triggers\":[{\"startStepNames\":[\"No_op\"],\"workflowTrigger\":{}}],\"steps\":[{\"name\":\"No_op\",\"actionId\":\"com.datadoghq.core.noop\"}]},\"tags\":[],\"updatedAt\":\"2026-08-26T18:39:37.456088Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}}}" }, "headers": { "content-type": "application/vnd.api+json" @@ -869,13 +932,13 @@ }, "content_type": "", "method": "GET", - "path": "/api/v2/workflows/dec8dfd0-2031-480a-90ce-4e9179b22793", + "path": "/api/v2/workflows/5d3b0956-5160-415d-b637-bab2b81ebb49", "query": [] }, "response": { "body": { "encoding": "text", - "value": "{\"data\":{\"id\":\"dec8dfd0-2031-480a-90ce-4e9179b22793\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-26T17:23:44.222906Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":{\"triggers\":[{\"startStepNames\":[\"No_op\"],\"workflowTrigger\":{}}],\"steps\":[{\"name\":\"No_op\",\"actionId\":\"com.datadoghq.core.noop\"}]},\"tags\":[],\"updatedAt\":\"2025-05-26T17:23:44.222906Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}}}}}" + "value": "{\"data\":{\"id\":\"5d3b0956-5160-415d-b637-bab2b81ebb49\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2026-08-26T18:39:37.456088Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":{\"triggers\":[{\"startStepNames\":[\"No_op\"],\"workflowTrigger\":{}}],\"steps\":[{\"name\":\"No_op\",\"actionId\":\"com.datadoghq.core.noop\"}]},\"tags\":[],\"updatedAt\":\"2026-08-26T18:39:37.456088Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}}}" }, "headers": { "content-type": "application/vnd.api+json" @@ -892,7 +955,7 @@ }, "content_type": "", "method": "DELETE", - "path": "/api/v2/workflows/dec8dfd0-2031-480a-90ce-4e9179b22793", + "path": "/api/v2/workflows/5d3b0956-5160-415d-b637-bab2b81ebb49", "query": [] }, "response": { @@ -973,7 +1036,7 @@ }, { "feature": "Workflow Automation", - "frozen_at": "2026-06-01T20:36:33.245Z", + "frozen_at": "2026-08-26T18:39:37.706Z", "interactions": [ { "request": { @@ -983,6 +1046,9 @@ "data": { "attributes": { "name": "Cassette Workflow x-given", + "runAs": { + "type": "owner" + }, "spec": { "steps": [ { @@ -1012,7 +1078,7 @@ "response": { "body": { "encoding": "text", - "value": "{\"data\":{\"id\":\"72ea47e5-3bf2-41a2-bf7b-1857908234b6\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2026-06-01T20:36:33.514948Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":{\"triggers\":[{\"startStepNames\":[\"No_op\"],\"workflowTrigger\":{}}],\"steps\":[{\"name\":\"No_op\",\"actionId\":\"com.datadoghq.core.noop\"}]},\"tags\":[],\"updatedAt\":\"2026-06-01T20:36:33.514948Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}}}}}" + "value": "{\"data\":{\"id\":\"0aec83c6-125f-4709-a8f7-7285fe080a2b\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2026-08-26T18:39:37.800493Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":{\"triggers\":[{\"startStepNames\":[\"No_op\"],\"workflowTrigger\":{}}],\"steps\":[{\"name\":\"No_op\",\"actionId\":\"com.datadoghq.core.noop\"}]},\"tags\":[],\"updatedAt\":\"2026-08-26T18:39:37.800493Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}}}" }, "headers": { "content-type": "application/vnd.api+json" @@ -1035,7 +1101,7 @@ "response": { "body": { "encoding": "text", - "value": "{\"data\":[{\"id\":\"72cfa149-f153-45bc-aad6-2f601b7bfd9b\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-25T11:21:13.41766Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-25T11:21:13.41766Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"fe8c24c3-6574-4cf9-a3ee-4d84dd9b4354\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-25T11:21:14.456399Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-25T11:21:14.456399Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"7049520d-e564-4f35-8955-1750577b508e\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-25T11:21:14.872733Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-25T11:21:14.872733Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"c0e61b1b-486a-498d-a6ef-5b18d713a022\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-07-28T11:14:25.070776Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-07-28T11:14:25.070776Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"ceaea4db-f9b7-4133-8049-734c20e08170\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-25T11:21:15.742156Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-25T11:21:15.742156Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"d5f402b6-c5b1-4d8f-ab32-b7102fb3ef5e\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-20T11:20:34.434583Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-20T11:20:34.434583Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"59006312-23ea-4467-9921-310d1a17c2d9\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-20T11:20:35.557523Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-20T11:20:35.557523Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"8e9f8221-5788-4f1a-a341-afe4a73e8d2d\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-20T11:20:35.915972Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-20T11:20:35.915972Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"73c21683-cf0b-4140-92b3-d3f1be896160\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-20T11:20:36.779377Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-20T11:20:36.779377Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"8cf1582b-d398-4d35-bbba-a4b957c3db30\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-21T11:16:44.847574Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-21T11:16:44.847574Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"58031916-ffdb-4021-8670-d78298875765\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-21T11:16:45.55826Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-21T11:16:45.55826Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"3b7de88e-731c-4d2f-80d9-32ed547dff86\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-21T11:16:45.777562Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-21T11:16:45.777562Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"a187147a-094a-443a-a811-7b106914ec96\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-21T11:16:46.261047Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-21T11:16:46.261047Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"b7c893dc-f694-41a7-aa2b-633ceca08c2f\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-07-02T11:22:01.701809Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-07-02T11:22:01.701809Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"1d598ddd-5b9b-4ab7-9f7a-5e2574404ec7\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-07-02T11:22:02.789201Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-07-02T11:22:02.789201Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"e8508f29-ced6-4f95-a348-2ac062177472\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-07-02T11:22:03.20927Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-07-02T11:22:03.20927Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"f6d3e46b-eeaf-4017-a865-e1f045deae3f\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-07-02T11:22:04.030122Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-07-02T11:22:04.030122Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"e5fe54aa-9e17-4200-a710-cd916bfd39db\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-24T11:13:41.595876Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-24T11:13:41.595876Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"615d90f0-3478-4748-b489-177a4e3e2b74\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-24T11:13:41.828316Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-24T11:13:41.828316Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"a7a049f3-4c58-4e30-8157-a3a9b3132843\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-24T11:13:41.921301Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-24T11:13:41.921301Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"a8a64e61-7a8e-46fb-83ae-4220c7aa33ca\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-24T11:13:42.204916Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-24T11:13:42.204916Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"a50f8797-df93-4227-968b-4a653602d405\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-03T11:15:35.801277Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-03T11:15:35.801277Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"5567b478-806b-4768-9a3f-2b4ac9ad04e4\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-03T11:15:36.152307Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-03T11:15:36.152307Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"7f306d13-6e65-4962-b89d-5acfe0ada98a\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-03T11:15:35.623566Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-03T11:15:35.623566Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"8e9be134-5307-451f-8e40-0cc2546b6ed2\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-03T11:15:35.127727Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-03T11:15:35.127727Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"98144b6c-fc26-4e13-9fd9-943619e791d8\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-09-23T11:13:25.508416Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-09-23T11:13:25.508416Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"f422939b-e916-46fc-ba26-d25e1dcd2c66\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-09-23T11:13:25.765614Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-09-23T11:13:25.765614Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"5480f5c0-6128-4a56-9801-37e2e44496db\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-20T11:16:34.563405Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-20T11:16:34.563405Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"f00c51f1-6b32-401a-8bd4-08e360f94278\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-20T11:16:33.073415Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-20T11:16:33.073415Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"27fae62b-27e0-4802-94f4-5fc2fdef43f7\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-20T11:16:33.978668Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-20T11:16:33.978668Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"c0ccd673-e34a-49dd-a16f-bac77817fa62\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-20T11:16:33.744349Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-20T11:16:33.744349Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"f7380a3f-dd8f-4811-ac33-3245e6ad7dec\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-28T11:13:45.369167Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-28T11:13:45.369167Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"03bda67d-2cee-4828-a152-b263085b59cd\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-22T11:13:37.2763Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-22T11:13:37.2763Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"06c78ee4-a4aa-402e-8940-63ef512490d8\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-22T11:13:36.897095Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-22T11:13:36.897095Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"7aa75a8b-17b9-4c7e-b5fa-194dcd5f54c9\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-22T11:13:36.579513Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-22T11:13:36.579513Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"81112f53-d69b-4139-8790-f2adf2d80260\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-22T11:13:36.994612Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-22T11:13:36.994612Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"ba03c9fa-aa23-436c-ac69-e20bde5fb108\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-28T11:13:45.553954Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-28T11:13:45.553954Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"cbe3cd7d-4902-4863-9aba-ac4cb9038995\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-28T11:13:45.659208Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-28T11:13:45.659208Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"4c1cc171-9757-4e67-874e-64c962ed5352\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-28T11:13:45.894752Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-28T11:13:45.894752Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"52bfc481-46b4-44c1-8392-a32f405c21be\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-07-03T11:21:31.639998Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-07-03T11:21:31.639998Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"a12f3d3d-2dfb-449f-b1da-9d73dcc1284f\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-26T11:16:57.708411Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-26T11:16:57.708411Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"5a3ee825-3f39-4842-978c-afb8c997ba76\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-30T11:19:54.84087Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-30T11:19:54.84087Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"5b6dc390-841e-46e2-ad18-29aa33cd0aa1\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-30T11:19:52.696163Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-30T11:19:52.696163Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"80d42530-2ef1-40bb-ba31-7c44a0159a92\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-27T11:17:22.645064Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-27T11:17:22.645064Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"a2d791d3-407a-468b-b1eb-f38676b238d9\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-26T11:16:56.170659Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-26T11:16:56.170659Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"08620ae9-44ed-43c3-9941-e3936f3fd68b\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-26T11:16:56.942366Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-26T11:16:56.942366Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"d3bba643-1ce2-44c3-8ccb-3ad7647ec64d\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-26T11:16:57.184285Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-26T11:16:57.184285Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"a7ba3c17-c21b-4e50-8109-ae258395fcf0\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-27T11:17:22.915147Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-27T11:17:22.915147Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"8222b63d-8c1d-49fd-b31a-f18c870785e8\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-27T11:17:23.444244Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-27T11:17:23.444244Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"cb5040a1-b989-41bf-9a4f-59c75c0523e0\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-27T11:17:21.869589Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-27T11:17:21.869589Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}}],\"meta\":{\"page\":{\"totalCount\":548,\"totalFilteredCount\":548}}}" + "value": "{\"data\":[{\"id\":\"72cfa149-f153-45bc-aad6-2f601b7bfd9b\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-25T11:21:13.41766Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-25T11:21:13.41766Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"fe8c24c3-6574-4cf9-a3ee-4d84dd9b4354\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-25T11:21:14.456399Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-25T11:21:14.456399Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"7049520d-e564-4f35-8955-1750577b508e\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-25T11:21:14.872733Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-25T11:21:14.872733Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"c0e61b1b-486a-498d-a6ef-5b18d713a022\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-07-28T11:14:25.070776Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-07-28T11:14:25.070776Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"ceaea4db-f9b7-4133-8049-734c20e08170\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-25T11:21:15.742156Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-25T11:21:15.742156Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"d5f402b6-c5b1-4d8f-ab32-b7102fb3ef5e\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-20T11:20:34.434583Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-20T11:20:34.434583Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"59006312-23ea-4467-9921-310d1a17c2d9\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-20T11:20:35.557523Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-20T11:20:35.557523Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"8e9f8221-5788-4f1a-a341-afe4a73e8d2d\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-20T11:20:35.915972Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-20T11:20:35.915972Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"73c21683-cf0b-4140-92b3-d3f1be896160\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-20T11:20:36.779377Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-20T11:20:36.779377Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"8cf1582b-d398-4d35-bbba-a4b957c3db30\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-21T11:16:44.847574Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-21T11:16:44.847574Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"58031916-ffdb-4021-8670-d78298875765\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-21T11:16:45.55826Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-21T11:16:45.55826Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"3b7de88e-731c-4d2f-80d9-32ed547dff86\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-21T11:16:45.777562Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-21T11:16:45.777562Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"a187147a-094a-443a-a811-7b106914ec96\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-21T11:16:46.261047Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-21T11:16:46.261047Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"b7c893dc-f694-41a7-aa2b-633ceca08c2f\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-07-02T11:22:01.701809Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-07-02T11:22:01.701809Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"1d598ddd-5b9b-4ab7-9f7a-5e2574404ec7\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-07-02T11:22:02.789201Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-07-02T11:22:02.789201Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"e8508f29-ced6-4f95-a348-2ac062177472\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-07-02T11:22:03.20927Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-07-02T11:22:03.20927Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"f6d3e46b-eeaf-4017-a865-e1f045deae3f\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-07-02T11:22:04.030122Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-07-02T11:22:04.030122Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"e5fe54aa-9e17-4200-a710-cd916bfd39db\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-24T11:13:41.595876Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-24T11:13:41.595876Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"615d90f0-3478-4748-b489-177a4e3e2b74\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-24T11:13:41.828316Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-24T11:13:41.828316Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"a7a049f3-4c58-4e30-8157-a3a9b3132843\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-24T11:13:41.921301Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-24T11:13:41.921301Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"a8a64e61-7a8e-46fb-83ae-4220c7aa33ca\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-24T11:13:42.204916Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-24T11:13:42.204916Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"a50f8797-df93-4227-968b-4a653602d405\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-03T11:15:35.801277Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-03T11:15:35.801277Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"5567b478-806b-4768-9a3f-2b4ac9ad04e4\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-03T11:15:36.152307Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-03T11:15:36.152307Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"7f306d13-6e65-4962-b89d-5acfe0ada98a\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-03T11:15:35.623566Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-03T11:15:35.623566Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"8e9be134-5307-451f-8e40-0cc2546b6ed2\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-06-03T11:15:35.127727Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-06-03T11:15:35.127727Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"98144b6c-fc26-4e13-9fd9-943619e791d8\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-09-23T11:13:25.508416Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-09-23T11:13:25.508416Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"f422939b-e916-46fc-ba26-d25e1dcd2c66\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-09-23T11:13:25.765614Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-09-23T11:13:25.765614Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"5480f5c0-6128-4a56-9801-37e2e44496db\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-20T11:16:34.563405Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-20T11:16:34.563405Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"f00c51f1-6b32-401a-8bd4-08e360f94278\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-20T11:16:33.073415Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-20T11:16:33.073415Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"27fae62b-27e0-4802-94f4-5fc2fdef43f7\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-20T11:16:33.978668Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-20T11:16:33.978668Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"c0ccd673-e34a-49dd-a16f-bac77817fa62\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-20T11:16:33.744349Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-20T11:16:33.744349Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"f7380a3f-dd8f-4811-ac33-3245e6ad7dec\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-28T11:13:45.369167Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-28T11:13:45.369167Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"03bda67d-2cee-4828-a152-b263085b59cd\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-22T11:13:37.2763Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-22T11:13:37.2763Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"06c78ee4-a4aa-402e-8940-63ef512490d8\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-22T11:13:36.897095Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-22T11:13:36.897095Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"7aa75a8b-17b9-4c7e-b5fa-194dcd5f54c9\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-22T11:13:36.579513Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-22T11:13:36.579513Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"81112f53-d69b-4139-8790-f2adf2d80260\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-22T11:13:36.994612Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-22T11:13:36.994612Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"ba03c9fa-aa23-436c-ac69-e20bde5fb108\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-28T11:13:45.553954Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-28T11:13:45.553954Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"cbe3cd7d-4902-4863-9aba-ac4cb9038995\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-28T11:13:45.659208Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-28T11:13:45.659208Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"4c1cc171-9757-4e67-874e-64c962ed5352\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-28T11:13:45.894752Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-28T11:13:45.894752Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"52bfc481-46b4-44c1-8392-a32f405c21be\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-07-03T11:21:31.639998Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-07-03T11:21:31.639998Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"a12f3d3d-2dfb-449f-b1da-9d73dcc1284f\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-26T11:16:57.708411Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-26T11:16:57.708411Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"5a3ee825-3f39-4842-978c-afb8c997ba76\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-30T11:19:54.84087Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-30T11:19:54.84087Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"5b6dc390-841e-46e2-ad18-29aa33cd0aa1\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-30T11:19:52.696163Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-30T11:19:52.696163Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"80d42530-2ef1-40bb-ba31-7c44a0159a92\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-27T11:17:22.645064Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-27T11:17:22.645064Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"a2d791d3-407a-468b-b1eb-f38676b238d9\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-26T11:16:56.170659Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-26T11:16:56.170659Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"08620ae9-44ed-43c3-9941-e3936f3fd68b\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-26T11:16:56.942366Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-26T11:16:56.942366Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"d3bba643-1ce2-44c3-8ccb-3ad7647ec64d\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-26T11:16:57.184285Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-26T11:16:57.184285Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"a7ba3c17-c21b-4e50-8109-ae258395fcf0\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-27T11:17:22.915147Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-27T11:17:22.915147Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"8222b63d-8c1d-49fd-b31a-f18c870785e8\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-27T11:17:23.444244Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-27T11:17:23.444244Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}},{\"id\":\"cb5040a1-b989-41bf-9a4f-59c75c0523e0\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-27T11:17:21.869589Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":null,\"tags\":[],\"updatedAt\":\"2025-05-27T11:17:21.869589Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}}],\"meta\":{\"page\":{\"totalCount\":851,\"totalFilteredCount\":851}}}" }, "headers": { "content-type": "application/vnd.api+json" @@ -1052,7 +1118,7 @@ }, "content_type": "", "method": "DELETE", - "path": "/api/v2/workflows/72ea47e5-3bf2-41a2-bf7b-1857908234b6", + "path": "/api/v2/workflows/0aec83c6-125f-4709-a8f7-7285fe080a2b", "query": [] }, "response": { @@ -1115,7 +1181,7 @@ }, { "feature": "Workflow Automation", - "frozen_at": "2025-05-26T17:23:44.483Z", + "frozen_at": "2026-08-26T18:39:38.056Z", "interactions": [ { "request": { @@ -1125,6 +1191,9 @@ "data": { "attributes": { "name": "Cassette Workflow x-given", + "runAs": { + "type": "owner" + }, "spec": { "steps": [ { @@ -1154,7 +1223,7 @@ "response": { "body": { "encoding": "text", - "value": "{\"data\":{\"id\":\"b40d1eb8-5741-474c-a137-897f73527a77\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-26T17:23:44.603489Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":{\"triggers\":[{\"startStepNames\":[\"No_op\"],\"workflowTrigger\":{}}],\"steps\":[{\"name\":\"No_op\",\"actionId\":\"com.datadoghq.core.noop\"}]},\"tags\":[],\"updatedAt\":\"2025-05-26T17:23:44.603489Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}}}}}" + "value": "{\"data\":{\"id\":\"33a9e7bf-4e65-4713-97cb-fff66d5eb2f1\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2026-08-26T18:39:38.1899Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":{\"triggers\":[{\"startStepNames\":[\"No_op\"],\"workflowTrigger\":{}}],\"steps\":[{\"name\":\"No_op\",\"actionId\":\"com.datadoghq.core.noop\"}]},\"tags\":[],\"updatedAt\":\"2026-08-26T18:39:38.1899Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}}}" }, "headers": { "content-type": "application/vnd.api+json" @@ -1181,7 +1250,7 @@ }, "content_type": "application/json", "method": "PATCH", - "path": "/api/v2/workflows/b40d1eb8-5741-474c-a137-897f73527a77", + "path": "/api/v2/workflows/33a9e7bf-4e65-4713-97cb-fff66d5eb2f1", "query": [] }, "response": { @@ -1204,7 +1273,7 @@ }, "content_type": "", "method": "DELETE", - "path": "/api/v2/workflows/b40d1eb8-5741-474c-a137-897f73527a77", + "path": "/api/v2/workflows/33a9e7bf-4e65-4713-97cb-fff66d5eb2f1", "query": [] }, "response": { @@ -1342,7 +1411,7 @@ }, { "feature": "Workflow Automation", - "frozen_at": "2025-05-26T17:23:44.981Z", + "frozen_at": "2026-08-27T16:42:33.871Z", "interactions": [ { "request": { @@ -1352,6 +1421,9 @@ "data": { "attributes": { "name": "Cassette Workflow x-given", + "runAs": { + "type": "owner" + }, "spec": { "steps": [ { @@ -1381,7 +1453,7 @@ "response": { "body": { "encoding": "text", - "value": "{\"data\":{\"id\":\"a08f59a2-97d7-484e-8dda-b5abbb003869\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-26T17:23:45.112536Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"spec\":{\"triggers\":[{\"startStepNames\":[\"No_op\"],\"workflowTrigger\":{}}],\"steps\":[{\"name\":\"No_op\",\"actionId\":\"com.datadoghq.core.noop\"}]},\"tags\":[],\"updatedAt\":\"2025-05-26T17:23:45.112536Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}}}}}" + "value": "{\"data\":{\"id\":\"c859b907-b06d-47ec-afa8-ed59c7fa2bc3\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2026-08-27T16:42:33.993044Z\",\"description\":\"\",\"name\":\"Cassette Workflow x-given\",\"published\":true,\"runAsUserMode\":\"owner\",\"spec\":{\"triggers\":[{\"startStepNames\":[\"No_op\"],\"workflowTrigger\":{}}],\"steps\":[{\"name\":\"No_op\",\"actionId\":\"com.datadoghq.core.noop\"}]},\"tags\":[],\"updatedAt\":\"2026-08-27T16:42:33.993044Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}}}" }, "headers": { "content-type": "application/vnd.api+json" @@ -1390,6 +1462,38 @@ "status": 201 } }, + { + "request": { + "body": { + "type": "json", + "value": { + "data": { + "attributes": { + "email": "Test-Update_an_existing_Workflow_returns_Successfully_updated_a_workflow_response-1787848953@datadoghq.com", + "service_account": true, + "title": "user title" + }, + "type": "users" + } + } + }, + "content_type": "application/json", + "method": "POST", + "path": "/api/v2/service_accounts", + "query": [] + }, + "response": { + "body": { + "encoding": "text", + "value": "{\"data\":{\"type\":\"users\",\"id\":\"4db7d6b2-a236-11f1-827c-6ed2b77dace7\",\"attributes\":{\"uuid\":\"4db7d6b2-a236-11f1-827c-6ed2b77dace7\",\"name\":null,\"handle\":\"4db7d6b2-a236-11f1-827c-6ed2b77dace7\",\"created_at\":\"2026-08-27T16:42:34.102380+00:00\",\"modified_at\":\"2026-08-27T16:42:34.102380+00:00\",\"email\":\"test-update_an_existing_workflow_returns_successfully_updated_a_workflow_response-1787848953@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/4f2e1957a5396a11298a47b5cd374c13?s=48&d=retro\",\"title\":\"user title\",\"verified\":true,\"service_account\":true,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Active\",\"last_login_time\":null},\"relationships\":{\"roles\":{\"data\":[]},\"org\":{\"data\":{\"type\":\"orgs\",\"id\":\"4dee724d-00cc-11ea-a77b-570c9d03c6c5\"}}}}}\n" + }, + "headers": { + "content-type": "application/json" + }, + "reason": "Created", + "status": 201 + } + }, { "request": { "body": { @@ -1400,6 +1504,10 @@ "description": "A sample workflow.", "name": "Example Workflow", "published": true, + "runAs": { + "id": "4db7d6b2-a236-11f1-827c-6ed2b77dace7", + "type": "service_account" + }, "spec": { "connectionEnvs": [ { @@ -1486,13 +1594,13 @@ }, "content_type": "application/json", "method": "PATCH", - "path": "/api/v2/workflows/a08f59a2-97d7-484e-8dda-b5abbb003869", + "path": "/api/v2/workflows/c859b907-b06d-47ec-afa8-ed59c7fa2bc3", "query": [] }, "response": { "body": { "encoding": "text", - "value": "{\"data\":{\"id\":\"a08f59a2-97d7-484e-8dda-b5abbb003869\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2025-05-26T17:23:45.112536Z\",\"description\":\"A sample workflow.\",\"name\":\"Example Workflow\",\"published\":true,\"spec\":{\"triggers\":[{\"startStepNames\":[\"Step1\"],\"monitorTrigger\":{\"rateLimit\":{\"count\":1,\"interval\":\"3600s\"}}},{\"startStepNames\":[\"Step1\"],\"githubWebhookTrigger\":{}}],\"steps\":[{\"name\":\"Step1\",\"actionId\":\"com.datadoghq.dd.monitor.listMonitors\",\"connectionLabel\":\"INTEGRATION_DATADOG\",\"parameters\":[{\"name\":\"tags\",\"value\":\"service:monitoring\"}],\"outboundEdges\":[{\"nextStepName\":\"Step2\",\"branchName\":\"main\"}]},{\"name\":\"Step2\",\"actionId\":\"com.datadoghq.core.noop\"}],\"connectionEnvs\":[{\"env\":\"default\",\"connections\":[{\"connectionId\":\"e1e64943-c7c5-4487-aece-25aaec7d3aad\",\"label\":\"INTEGRATION_DATADOG\"}]}],\"inputSchema\":{\"parameters\":[{\"name\":\"input\",\"type\":\"STRING\",\"defaultValue\":\"default\"}]},\"outputSchema\":{\"parameters\":[{\"name\":\"output\",\"type\":\"ARRAY_OBJECT\",\"value\":\"outputValue\"}]}},\"tags\":[\"foo:bar\",\"service:monitoring\",\"team:infra\"],\"updatedAt\":\"2025-05-26T17:23:45.365681Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"users\"}}}}}" + "value": "{\"data\":{\"id\":\"c859b907-b06d-47ec-afa8-ed59c7fa2bc3\",\"type\":\"workflows\",\"attributes\":{\"createdAt\":\"2026-08-27T16:42:33.993044Z\",\"description\":\"A sample workflow.\",\"name\":\"Example Workflow\",\"published\":true,\"runAsUserMode\":\"service_account\",\"spec\":{\"triggers\":[{\"startStepNames\":[\"Step1\"],\"monitorTrigger\":{\"rateLimit\":{\"count\":1,\"interval\":\"3600s\"}}},{\"startStepNames\":[\"Step1\"],\"githubWebhookTrigger\":{}}],\"steps\":[{\"name\":\"Step1\",\"actionId\":\"com.datadoghq.dd.monitor.listMonitors\",\"connectionLabel\":\"INTEGRATION_DATADOG\",\"parameters\":[{\"name\":\"tags\",\"value\":\"service:monitoring\"}],\"outboundEdges\":[{\"nextStepName\":\"Step2\",\"branchName\":\"main\"}]},{\"name\":\"Step2\",\"actionId\":\"com.datadoghq.core.noop\"}],\"connectionEnvs\":[{\"env\":\"default\",\"connections\":[{\"connectionId\":\"e1e64943-c7c5-4487-aece-25aaec7d3aad\",\"label\":\"INTEGRATION_DATADOG\"}]}],\"inputSchema\":{\"parameters\":[{\"name\":\"input\",\"type\":\"STRING\",\"defaultValue\":\"default\"}]},\"outputSchema\":{\"parameters\":[{\"name\":\"output\",\"type\":\"ARRAY_OBJECT\",\"value\":\"outputValue\"}]}},\"tags\":[\"foo:bar\",\"service:monitoring\",\"team:infra\"],\"updatedAt\":\"2026-08-27T16:42:34.396839Z\"},\"relationships\":{\"creator\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"owner\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"runAs\":{\"data\":{\"id\":\"4db7d6b2-a236-11f1-827c-6ed2b77dace7\",\"type\":\"users\"}}}}}" }, "headers": { "content-type": "application/vnd.api+json" @@ -1509,7 +1617,28 @@ }, "content_type": "", "method": "DELETE", - "path": "/api/v2/workflows/a08f59a2-97d7-484e-8dda-b5abbb003869", + "path": "/api/v2/users/4db7d6b2-a236-11f1-827c-6ed2b77dace7", + "query": [] + }, + "response": { + "body": { + "encoding": "text", + "value": "" + }, + "headers": {}, + "reason": "No Content", + "status": 204 + } + }, + { + "request": { + "body": { + "type": "empty", + "value": null + }, + "content_type": "", + "method": "DELETE", + "path": "/api/v2/workflows/c859b907-b06d-47ec-afa8-ed59c7fa2bc3", "query": [] }, "response": { diff --git a/tests/v2/features/given.json b/tests/v2/features/given.json index bbc7f46273..89abdd8c36 100644 --- a/tests/v2/features/given.json +++ b/tests/v2/features/given.json @@ -1846,7 +1846,7 @@ "parameters": [ { "name": "body", - "value": "{\n \"data\": {\n \"type\": \"workflows\",\n \"attributes\": {\n \"name\": \"Cassette Workflow x-given\",\n \"spec\": {\n \"triggers\": [\n {\n \"startStepNames\": [\"No_op\"],\n \"workflowTrigger\": {}\n }\n ],\n \"steps\": [\n {\n \"name\": \"No_op\",\n \"actionId\": \"com.datadoghq.core.noop\"\n }\n ]\n }\n }\n }\n}" + "value": "{\n \"data\": {\n \"type\": \"workflows\",\n \"attributes\": {\n \"name\": \"Cassette Workflow x-given\",\n \"runAs\": {\"type\": \"owner\"},\n \"spec\": {\n \"triggers\": [\n {\n \"startStepNames\": [\"No_op\"],\n \"workflowTrigger\": {}\n }\n ],\n \"steps\": [\n {\n \"name\": \"No_op\",\n \"actionId\": \"com.datadoghq.core.noop\"\n }\n ]\n }\n }\n }\n}" } ], "step": "there is a valid \"workflow\" in the system", diff --git a/tests/v2/features/workflow_automation.feature b/tests/v2/features/workflow_automation.feature index a3df6e14b0..bf9338cf4f 100644 --- a/tests/v2/features/workflow_automation.feature +++ b/tests/v2/features/workflow_automation.feature @@ -46,10 +46,13 @@ Feature: Workflow Automation @team:DataDog/workflow-automation-dev Scenario: Create a Workflow returns "Successfully created a workflow." response - Given new "CreateWorkflow" request - And body with value {"data": {"attributes": {"description": "A sample workflow.", "name": "Example Workflow", "published": true, "spec": {"connectionEnvs": [{"connections": [{"connectionId": "e1e64943-c7c5-4487-aece-25aaec7d3aad", "label": "INTEGRATION_DATADOG"}], "env": "default"}], "inputSchema": {"parameters": [{"defaultValue": "default", "name": "input", "type": "STRING"}]}, "outputSchema": {"parameters": [{"name": "output", "type": "ARRAY_OBJECT", "value": "outputValue"}]}, "steps": [{"actionId": "com.datadoghq.dd.monitor.listMonitors", "connectionLabel": "INTEGRATION_DATADOG", "name": "Step1", "outboundEdges": [{"branchName": "main", "nextStepName": "Step2"}], "parameters": [{"name": "tags", "value": "service:monitoring"}]}, {"actionId": "com.datadoghq.core.noop", "name": "Step2"}], "triggers": [{"monitorTrigger": {"rateLimit": {"count": 1, "interval": "3600s"}}, "startStepNames": ["Step1"]}, {"startStepNames": ["Step1"], "githubWebhookTrigger": {}}]}, "tags": ["team:infra", "service:monitoring", "foo:bar"]}, "type": "workflows"}} + Given there is a valid "service_account_user" in the system + And new "CreateWorkflow" request + And body with value {"data": {"attributes": {"description": "A sample workflow.", "name": "Example Workflow", "published": true, "runAs": {"type": "service_account", "id": "{{ service_account_user.data.id }}"}, "spec": {"connectionEnvs": [{"connections": [{"connectionId": "e1e64943-c7c5-4487-aece-25aaec7d3aad", "label": "INTEGRATION_DATADOG"}], "env": "default"}], "inputSchema": {"parameters": [{"defaultValue": "default", "name": "input", "type": "STRING"}]}, "outputSchema": {"parameters": [{"name": "output", "type": "ARRAY_OBJECT", "value": "outputValue"}]}, "steps": [{"actionId": "com.datadoghq.dd.monitor.listMonitors", "connectionLabel": "INTEGRATION_DATADOG", "name": "Step1", "outboundEdges": [{"branchName": "main", "nextStepName": "Step2"}], "parameters": [{"name": "tags", "value": "service:monitoring"}]}, {"actionId": "com.datadoghq.core.noop", "name": "Step2"}], "triggers": [{"monitorTrigger": {"rateLimit": {"count": 1, "interval": "3600s"}}, "startStepNames": ["Step1"]}, {"startStepNames": ["Step1"], "githubWebhookTrigger": {}}]}, "tags": ["team:infra", "service:monitoring", "foo:bar"]}, "type": "workflows"}} When the request is sent Then the response status is 201 Successfully created a workflow. + And the response "data.attributes.runAsUserMode" is equal to "service_account" + And the response "data.relationships.runAs.data.id" has the same value as "service_account_user.data.id" @team:DataDog/workflow-automation-dev Scenario: Delete an existing Workflow returns "Not found" response @@ -127,6 +130,7 @@ Feature: Workflow Automation And request contains "workflow_id" parameter from "workflow.data.id" When the request is sent Then the response status is 200 Successfully got a workflow. + And the response "data.attributes.runAsUserMode" is equal to "owner" @replay-only @team:DataDog/workflow-automation-dev Scenario: List workflow instances returns "Bad Request" response @@ -154,6 +158,7 @@ Feature: Workflow Automation And new "ListWorkflows" request When the request is sent Then the response status is 200 OK + And the response "data" has item with field "attributes.runAsUserMode" with value "owner" @replay-only @skip-validation @team:DataDog/workflow-automation-dev @with-pagination Scenario: List workflows returns "OK" response with pagination @@ -184,8 +189,11 @@ Feature: Workflow Automation @team:DataDog/workflow-automation-dev Scenario: Update an existing Workflow returns "Successfully updated a workflow." response Given there is a valid "workflow" in the system + And there is a valid "service_account_user" in the system And new "UpdateWorkflow" request And request contains "workflow_id" parameter from "workflow.data.id" - And body with value {"data": {"attributes": {"description": "A sample workflow.", "name": "Example Workflow", "published": true, "spec": {"connectionEnvs": [{"connections": [{"connectionId": "e1e64943-c7c5-4487-aece-25aaec7d3aad", "label": "INTEGRATION_DATADOG"}], "env": "default"}], "inputSchema": {"parameters": [{"defaultValue": "default", "name": "input", "type": "STRING"}]}, "outputSchema": {"parameters": [{"name": "output", "type": "ARRAY_OBJECT", "value": "outputValue"}]}, "steps": [{"actionId": "com.datadoghq.dd.monitor.listMonitors", "connectionLabel": "INTEGRATION_DATADOG", "name": "Step1", "outboundEdges": [{"branchName": "main", "nextStepName": "Step2"}], "parameters": [{"name": "tags", "value": "service:monitoring"}]}, {"actionId": "com.datadoghq.core.noop", "name": "Step2"}], "triggers": [{"monitorTrigger": {"rateLimit": {"count": 1, "interval": "3600s"}}, "startStepNames": ["Step1"]}, {"startStepNames": ["Step1"], "githubWebhookTrigger": {}}]}, "tags": ["team:infra", "service:monitoring", "foo:bar"]}, "id": "22222222-2222-2222-2222-222222222222", "type": "workflows"}} + And body with value {"data": {"attributes": {"description": "A sample workflow.", "name": "Example Workflow", "published": true, "runAs": {"type": "service_account", "id": "{{ service_account_user.data.id }}"}, "spec": {"connectionEnvs": [{"connections": [{"connectionId": "e1e64943-c7c5-4487-aece-25aaec7d3aad", "label": "INTEGRATION_DATADOG"}], "env": "default"}], "inputSchema": {"parameters": [{"defaultValue": "default", "name": "input", "type": "STRING"}]}, "outputSchema": {"parameters": [{"name": "output", "type": "ARRAY_OBJECT", "value": "outputValue"}]}, "steps": [{"actionId": "com.datadoghq.dd.monitor.listMonitors", "connectionLabel": "INTEGRATION_DATADOG", "name": "Step1", "outboundEdges": [{"branchName": "main", "nextStepName": "Step2"}], "parameters": [{"name": "tags", "value": "service:monitoring"}]}, {"actionId": "com.datadoghq.core.noop", "name": "Step2"}], "triggers": [{"monitorTrigger": {"rateLimit": {"count": 1, "interval": "3600s"}}, "startStepNames": ["Step1"]}, {"startStepNames": ["Step1"], "githubWebhookTrigger": {}}]}, "tags": ["team:infra", "service:monitoring", "foo:bar"]}, "id": "22222222-2222-2222-2222-222222222222", "type": "workflows"}} When the request is sent Then the response status is 200 Successfully updated a workflow. + And the response "data.attributes.runAsUserMode" is equal to "service_account" + And the response "data.relationships.runAs.data.id" has the same value as "service_account_user.data.id"