diff --git a/pyproject.toml b/pyproject.toml
index c442608..74906be 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -3,7 +3,7 @@ name = "pipedream"
[tool.poetry]
name = "pipedream"
-version = "1.0.1"
+version = "1.0.2"
description = ""
readme = "README.md"
authors = []
diff --git a/reference.md b/reference.md
index 6d7b302..f77e860 100644
--- a/reference.md
+++ b/reference.md
@@ -38,7 +38,7 @@ client.app_categories.list()
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -89,7 +89,7 @@ client.app_categories.retrieve(
**id:** `str` — The ID of the app category to retrieve
-
+
@@ -97,7 +97,7 @@ client.app_categories.retrieve(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -152,7 +152,7 @@ for page in response.iter_pages():
**after:** `typing.Optional[str]` — The cursor to start from for pagination
-
+
@@ -160,7 +160,7 @@ for page in response.iter_pages():
**before:** `typing.Optional[str]` — The cursor to end before for pagination
-
+
@@ -168,7 +168,7 @@ for page in response.iter_pages():
**limit:** `typing.Optional[int]` — The maximum number of results to return
-
+
@@ -176,7 +176,7 @@ for page in response.iter_pages():
**q:** `typing.Optional[str]` — A search query to filter the apps
-
+
@@ -184,7 +184,7 @@ for page in response.iter_pages():
**sort_key:** `typing.Optional[AppsListRequestSortKey]` — The key to sort the apps by
-
+
@@ -192,7 +192,7 @@ for page in response.iter_pages():
**sort_direction:** `typing.Optional[AppsListRequestSortDirection]` — The direction to sort the apps
-
+
@@ -200,7 +200,7 @@ for page in response.iter_pages():
**category_ids:** `typing.Optional[typing.Union[str, typing.Sequence[str]]]` — Only return apps in these categories
-
+
@@ -208,7 +208,7 @@ for page in response.iter_pages():
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -259,7 +259,7 @@ client.apps.retrieve(
**app_id:** `str` — The name slug or ID of the app (e.g., 'slack', 'github')
-
+
@@ -267,7 +267,7 @@ client.apps.retrieve(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -322,15 +322,15 @@ for page in response.iter_pages():
**app_id:** `typing.Optional[str]` — The app slug or ID to filter accounts by.
-
+
-
-**external_user_id:** `typing.Optional[str]`
-
+**external_user_id:** `typing.Optional[str]`
+
@@ -338,7 +338,7 @@ for page in response.iter_pages():
**oauth_app_id:** `typing.Optional[str]` — The OAuth app ID to filter by, if applicable
-
+
@@ -346,7 +346,7 @@ for page in response.iter_pages():
**after:** `typing.Optional[str]` — The cursor to start from for pagination
-
+
@@ -354,7 +354,7 @@ for page in response.iter_pages():
**before:** `typing.Optional[str]` — The cursor to end before for pagination
-
+
@@ -362,7 +362,7 @@ for page in response.iter_pages():
**limit:** `typing.Optional[int]` — The maximum number of results to return
-
+
@@ -370,7 +370,7 @@ for page in response.iter_pages():
**include_credentials:** `typing.Optional[bool]` — Whether to retrieve the account's credentials or not
-
+
@@ -378,7 +378,7 @@ for page in response.iter_pages():
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -431,7 +431,7 @@ client.accounts.create(
**app_slug:** `str` — The app slug for the account
-
+
@@ -439,7 +439,7 @@ client.accounts.create(
**cfmap_json:** `str` — JSON string containing the custom fields mapping
-
+
@@ -447,7 +447,7 @@ client.accounts.create(
**connect_token:** `str` — The connect token for authentication
-
+
@@ -455,15 +455,15 @@ client.accounts.create(
**app_id:** `typing.Optional[str]` — The app slug or ID to filter accounts by.
-
+
-
-**external_user_id:** `typing.Optional[str]`
-
+**external_user_id:** `typing.Optional[str]`
+
@@ -471,7 +471,7 @@ client.accounts.create(
**oauth_app_id:** `typing.Optional[str]` — The OAuth app ID to filter by, if applicable
-
+
@@ -479,7 +479,7 @@ client.accounts.create(
**name:** `typing.Optional[str]` — Optional name for the account
-
+
@@ -487,7 +487,7 @@ client.accounts.create(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -537,8 +537,8 @@ client.accounts.retrieve(
-
-**account_id:** `str`
-
+**account_id:** `str`
+
@@ -546,7 +546,7 @@ client.accounts.retrieve(
**include_credentials:** `typing.Optional[bool]` — Whether to retrieve the account's credentials or not
-
+
@@ -554,7 +554,7 @@ client.accounts.retrieve(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -604,8 +604,8 @@ client.accounts.delete(
-
-**account_id:** `str`
-
+**account_id:** `str`
+
@@ -613,7 +613,7 @@ client.accounts.delete(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -663,8 +663,8 @@ client.accounts.delete_by_app(
-
-**app_id:** `str`
-
+**app_id:** `str`
+
@@ -672,7 +672,7 @@ client.accounts.delete_by_app(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -723,8 +723,8 @@ client.users.delete_external_user(
-
-**external_user_id:** `str`
-
+**external_user_id:** `str`
+
@@ -732,7 +732,7 @@ client.users.delete_external_user(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -787,7 +787,7 @@ for page in response.iter_pages():
**after:** `typing.Optional[str]` — The cursor to start from for pagination
-
+
@@ -795,7 +795,7 @@ for page in response.iter_pages():
**before:** `typing.Optional[str]` — The cursor to end before for pagination
-
+
@@ -803,7 +803,7 @@ for page in response.iter_pages():
**limit:** `typing.Optional[int]` — The maximum number of results to return
-
+
@@ -811,7 +811,7 @@ for page in response.iter_pages():
**q:** `typing.Optional[str]` — A search query to filter the components
-
+
@@ -819,7 +819,7 @@ for page in response.iter_pages():
**app:** `typing.Optional[str]` — The ID or name slug of the app to filter the components
-
+
@@ -827,7 +827,7 @@ for page in response.iter_pages():
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -878,7 +878,7 @@ client.components.retrieve(
**component_id:** `str` — The key that uniquely identifies the component (e.g., 'slack-send-message')
-
+
@@ -886,7 +886,7 @@ client.components.retrieve(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -939,7 +939,7 @@ client.components.configure_prop(
**id:** `str` — The component ID
-
+
@@ -947,7 +947,7 @@ client.components.configure_prop(
**external_user_id:** `str` — The external user ID
-
+
@@ -955,15 +955,15 @@ client.components.configure_prop(
**prop_name:** `str` — The name of the prop to configure
-
+
-
-**async_handle:** `typing.Optional[str]`
-
+**async_handle:** `typing.Optional[str]`
+
@@ -971,7 +971,7 @@ client.components.configure_prop(
**blocking:** `typing.Optional[bool]` — Whether this operation should block until completion
-
+
@@ -979,7 +979,7 @@ client.components.configure_prop(
**configured_props:** `typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]` — The configured properties for the component
-
+
@@ -987,7 +987,7 @@ client.components.configure_prop(
**dynamic_props_id:** `typing.Optional[str]` — The ID for dynamic props
-
+
@@ -995,7 +995,7 @@ client.components.configure_prop(
**configure_prop_opts_async_handle:** `typing.Optional[str]` — Handle for async operations
-
+
@@ -1003,7 +1003,7 @@ client.components.configure_prop(
**page:** `typing.Optional[float]` — Page number for paginated results
-
+
@@ -1011,7 +1011,7 @@ client.components.configure_prop(
**prev_context:** `typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]` — Previous context for pagination
-
+
@@ -1019,7 +1019,7 @@ client.components.configure_prop(
**query:** `typing.Optional[str]` — Search query for filtering options
-
+
@@ -1027,7 +1027,7 @@ client.components.configure_prop(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -1079,7 +1079,7 @@ client.components.reload_props(
**id:** `str` — The component ID
-
+
@@ -1087,15 +1087,15 @@ client.components.reload_props(
**external_user_id:** `str` — The external user ID
-
+
-
-**async_handle:** `typing.Optional[str]`
-
+**async_handle:** `typing.Optional[str]`
+
@@ -1103,7 +1103,7 @@ client.components.reload_props(
**blocking:** `typing.Optional[bool]` — Whether this operation should block until completion
-
+
@@ -1111,7 +1111,7 @@ client.components.reload_props(
**configured_props:** `typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]` — The configured properties for the component
-
+
@@ -1119,7 +1119,7 @@ client.components.reload_props(
**dynamic_props_id:** `typing.Optional[str]` — The ID for dynamic props
-
+
@@ -1127,7 +1127,7 @@ client.components.reload_props(
**reload_props_opts_async_handle:** `typing.Optional[str]` — Handle for async operations
-
+
@@ -1135,7 +1135,7 @@ client.components.reload_props(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -1190,7 +1190,7 @@ for page in response.iter_pages():
**after:** `typing.Optional[str]` — The cursor to start from for pagination
-
+
@@ -1198,7 +1198,7 @@ for page in response.iter_pages():
**before:** `typing.Optional[str]` — The cursor to end before for pagination
-
+
@@ -1206,7 +1206,7 @@ for page in response.iter_pages():
**limit:** `typing.Optional[int]` — The maximum number of results to return
-
+
@@ -1214,7 +1214,7 @@ for page in response.iter_pages():
**q:** `typing.Optional[str]` — A search query to filter the actions
-
+
@@ -1222,7 +1222,7 @@ for page in response.iter_pages():
**app:** `typing.Optional[str]` — The ID or name slug of the app to filter the actions
-
+
@@ -1230,7 +1230,7 @@ for page in response.iter_pages():
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -1281,7 +1281,7 @@ client.actions.retrieve(
**component_id:** `str` — The key that uniquely identifies the component (e.g., 'slack-send-message')
-
+
@@ -1289,7 +1289,7 @@ client.actions.retrieve(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -1342,7 +1342,7 @@ client.actions.configure_prop(
**id:** `str` — The component ID
-
+
@@ -1350,7 +1350,7 @@ client.actions.configure_prop(
**external_user_id:** `str` — The external user ID
-
+
@@ -1358,15 +1358,15 @@ client.actions.configure_prop(
**prop_name:** `str` — The name of the prop to configure
-
+
-
-**async_handle:** `typing.Optional[str]`
-
+**async_handle:** `typing.Optional[str]`
+
@@ -1374,7 +1374,7 @@ client.actions.configure_prop(
**blocking:** `typing.Optional[bool]` — Whether this operation should block until completion
-
+
@@ -1382,7 +1382,7 @@ client.actions.configure_prop(
**configured_props:** `typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]` — The configured properties for the component
-
+
@@ -1390,7 +1390,7 @@ client.actions.configure_prop(
**dynamic_props_id:** `typing.Optional[str]` — The ID for dynamic props
-
+
@@ -1398,7 +1398,7 @@ client.actions.configure_prop(
**configure_prop_opts_async_handle:** `typing.Optional[str]` — Handle for async operations
-
+
@@ -1406,7 +1406,7 @@ client.actions.configure_prop(
**page:** `typing.Optional[float]` — Page number for paginated results
-
+
@@ -1414,7 +1414,7 @@ client.actions.configure_prop(
**prev_context:** `typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]` — Previous context for pagination
-
+
@@ -1422,7 +1422,7 @@ client.actions.configure_prop(
**query:** `typing.Optional[str]` — Search query for filtering options
-
+
@@ -1430,7 +1430,7 @@ client.actions.configure_prop(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -1482,7 +1482,7 @@ client.actions.reload_props(
**id:** `str` — The component ID
-
+
@@ -1490,15 +1490,15 @@ client.actions.reload_props(
**external_user_id:** `str` — The external user ID
-
+
-
-**async_handle:** `typing.Optional[str]`
-
+**async_handle:** `typing.Optional[str]`
+
@@ -1506,7 +1506,7 @@ client.actions.reload_props(
**blocking:** `typing.Optional[bool]` — Whether this operation should block until completion
-
+
@@ -1514,7 +1514,7 @@ client.actions.reload_props(
**configured_props:** `typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]` — The configured properties for the component
-
+
@@ -1522,7 +1522,7 @@ client.actions.reload_props(
**dynamic_props_id:** `typing.Optional[str]` — The ID for dynamic props
-
+
@@ -1530,7 +1530,7 @@ client.actions.reload_props(
**reload_props_opts_async_handle:** `typing.Optional[str]` — Handle for async operations
-
+
@@ -1538,7 +1538,7 @@ client.actions.reload_props(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -1590,7 +1590,7 @@ client.actions.run(
**id:** `str` — The action component ID
-
+
@@ -1598,15 +1598,15 @@ client.actions.run(
**external_user_id:** `str` — The external user ID
-
+
-
-**async_handle:** `typing.Optional[str]`
-
+**async_handle:** `typing.Optional[str]`
+
@@ -1614,7 +1614,7 @@ client.actions.run(
**configured_props:** `typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]` — The configured properties for the action
-
+
@@ -1622,7 +1622,7 @@ client.actions.run(
**dynamic_props_id:** `typing.Optional[str]` — The ID for dynamic props
-
+
@@ -1630,7 +1630,7 @@ client.actions.run(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -1685,7 +1685,7 @@ for page in response.iter_pages():
**after:** `typing.Optional[str]` — The cursor to start from for pagination
-
+
@@ -1693,7 +1693,7 @@ for page in response.iter_pages():
**before:** `typing.Optional[str]` — The cursor to end before for pagination
-
+
@@ -1701,7 +1701,7 @@ for page in response.iter_pages():
**limit:** `typing.Optional[int]` — The maximum number of results to return
-
+
@@ -1709,7 +1709,7 @@ for page in response.iter_pages():
**q:** `typing.Optional[str]` — A search query to filter the triggers
-
+
@@ -1717,7 +1717,7 @@ for page in response.iter_pages():
**app:** `typing.Optional[str]` — The ID or name slug of the app to filter the triggers
-
+
@@ -1725,7 +1725,7 @@ for page in response.iter_pages():
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -1776,7 +1776,7 @@ client.triggers.retrieve(
**component_id:** `str` — The key that uniquely identifies the component (e.g., 'slack-send-message')
-
+
@@ -1784,7 +1784,7 @@ client.triggers.retrieve(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -1837,7 +1837,7 @@ client.triggers.configure_prop(
**id:** `str` — The component ID
-
+
@@ -1845,7 +1845,7 @@ client.triggers.configure_prop(
**external_user_id:** `str` — The external user ID
-
+
@@ -1853,15 +1853,15 @@ client.triggers.configure_prop(
**prop_name:** `str` — The name of the prop to configure
-
+
-
-**async_handle:** `typing.Optional[str]`
-
+**async_handle:** `typing.Optional[str]`
+
@@ -1869,7 +1869,7 @@ client.triggers.configure_prop(
**blocking:** `typing.Optional[bool]` — Whether this operation should block until completion
-
+
@@ -1877,7 +1877,7 @@ client.triggers.configure_prop(
**configured_props:** `typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]` — The configured properties for the component
-
+
@@ -1885,7 +1885,7 @@ client.triggers.configure_prop(
**dynamic_props_id:** `typing.Optional[str]` — The ID for dynamic props
-
+
@@ -1893,7 +1893,7 @@ client.triggers.configure_prop(
**configure_prop_opts_async_handle:** `typing.Optional[str]` — Handle for async operations
-
+
@@ -1901,7 +1901,7 @@ client.triggers.configure_prop(
**page:** `typing.Optional[float]` — Page number for paginated results
-
+
@@ -1909,7 +1909,7 @@ client.triggers.configure_prop(
**prev_context:** `typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]` — Previous context for pagination
-
+
@@ -1917,7 +1917,7 @@ client.triggers.configure_prop(
**query:** `typing.Optional[str]` — Search query for filtering options
-
+
@@ -1925,7 +1925,7 @@ client.triggers.configure_prop(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -1977,7 +1977,7 @@ client.triggers.reload_props(
**id:** `str` — The component ID
-
+
@@ -1985,15 +1985,15 @@ client.triggers.reload_props(
**external_user_id:** `str` — The external user ID
-
+
-
-**async_handle:** `typing.Optional[str]`
-
+**async_handle:** `typing.Optional[str]`
+
@@ -2001,7 +2001,7 @@ client.triggers.reload_props(
**blocking:** `typing.Optional[bool]` — Whether this operation should block until completion
-
+
@@ -2009,7 +2009,7 @@ client.triggers.reload_props(
**configured_props:** `typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]` — The configured properties for the component
-
+
@@ -2017,7 +2017,7 @@ client.triggers.reload_props(
**dynamic_props_id:** `typing.Optional[str]` — The ID for dynamic props
-
+
@@ -2025,7 +2025,7 @@ client.triggers.reload_props(
**reload_props_opts_async_handle:** `typing.Optional[str]` — Handle for async operations
-
+
@@ -2033,7 +2033,7 @@ client.triggers.reload_props(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -2085,7 +2085,7 @@ client.triggers.deploy(
**id:** `str` — The trigger component ID
-
+
@@ -2093,7 +2093,7 @@ client.triggers.deploy(
**external_user_id:** `str` — The external user ID
-
+
@@ -2101,7 +2101,7 @@ client.triggers.deploy(
**configured_props:** `typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]` — The configured properties for the trigger
-
+
@@ -2109,7 +2109,7 @@ client.triggers.deploy(
**dynamic_props_id:** `typing.Optional[str]` — The ID for dynamic props
-
+
@@ -2117,7 +2117,7 @@ client.triggers.deploy(
**webhook_url:** `typing.Optional[str]` — Optional webhook URL to receive trigger events
-
+
@@ -2125,7 +2125,7 @@ client.triggers.deploy(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -2182,7 +2182,7 @@ for page in response.iter_pages():
**external_user_id:** `str` — Your end user ID, for whom you deployed the trigger
-
+
@@ -2190,7 +2190,7 @@ for page in response.iter_pages():
**after:** `typing.Optional[str]` — The cursor to start from for pagination
-
+
@@ -2198,7 +2198,7 @@ for page in response.iter_pages():
**before:** `typing.Optional[str]` — The cursor to end before for pagination
-
+
@@ -2206,7 +2206,7 @@ for page in response.iter_pages():
**limit:** `typing.Optional[int]` — The maximum number of results to return
-
+
@@ -2214,7 +2214,7 @@ for page in response.iter_pages():
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -2265,8 +2265,8 @@ client.deployed_triggers.retrieve(
-
-**trigger_id:** `str`
-
+**trigger_id:** `str`
+
@@ -2274,7 +2274,7 @@ client.deployed_triggers.retrieve(
**external_user_id:** `str` — Your end user ID, for whom you deployed the trigger
-
+
@@ -2282,7 +2282,7 @@ client.deployed_triggers.retrieve(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -2333,8 +2333,8 @@ client.deployed_triggers.update(
-
-**trigger_id:** `str`
-
+**trigger_id:** `str`
+
@@ -2342,7 +2342,7 @@ client.deployed_triggers.update(
**external_user_id:** `str` — The external user ID who owns the trigger
-
+
@@ -2350,7 +2350,7 @@ client.deployed_triggers.update(
**active:** `typing.Optional[bool]` — Whether the trigger should be active
-
+
@@ -2358,7 +2358,7 @@ client.deployed_triggers.update(
**configured_props:** `typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]` — The configured properties for the trigger
-
+
@@ -2366,7 +2366,7 @@ client.deployed_triggers.update(
**name:** `typing.Optional[str]` — The name of the trigger
-
+
@@ -2374,7 +2374,7 @@ client.deployed_triggers.update(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -2425,8 +2425,8 @@ client.deployed_triggers.delete(
-
-**trigger_id:** `str`
-
+**trigger_id:** `str`
+
@@ -2434,7 +2434,7 @@ client.deployed_triggers.delete(
**external_user_id:** `str` — The external user ID who owns the trigger
-
+
@@ -2442,7 +2442,7 @@ client.deployed_triggers.delete(
**ignore_hook_errors:** `typing.Optional[bool]` — Whether to ignore errors during deactivation hook
-
+
@@ -2450,7 +2450,7 @@ client.deployed_triggers.delete(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -2501,8 +2501,8 @@ client.deployed_triggers.list_events(
-
-**trigger_id:** `str`
-
+**trigger_id:** `str`
+
@@ -2510,7 +2510,7 @@ client.deployed_triggers.list_events(
**external_user_id:** `str` — Your end user ID, for whom you deployed the trigger
-
+
@@ -2518,7 +2518,7 @@ client.deployed_triggers.list_events(
**n:** `typing.Optional[int]` — The number of events to retrieve (defaults to 20 if not provided)
-
+
@@ -2526,7 +2526,7 @@ client.deployed_triggers.list_events(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -2577,8 +2577,8 @@ client.deployed_triggers.list_workflows(
-
-**trigger_id:** `str`
-
+**trigger_id:** `str`
+
@@ -2586,7 +2586,7 @@ client.deployed_triggers.list_workflows(
**external_user_id:** `str` — The external user ID who owns the trigger
-
+
@@ -2594,7 +2594,7 @@ client.deployed_triggers.list_workflows(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -2646,8 +2646,8 @@ client.deployed_triggers.update_workflows(
-
-**trigger_id:** `str`
-
+**trigger_id:** `str`
+
@@ -2655,7 +2655,7 @@ client.deployed_triggers.update_workflows(
**external_user_id:** `str` — The external user ID who owns the trigger
-
+
@@ -2663,7 +2663,7 @@ client.deployed_triggers.update_workflows(
**workflow_ids:** `typing.Sequence[str]` — Array of workflow IDs to set
-
+
@@ -2671,7 +2671,7 @@ client.deployed_triggers.update_workflows(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -2722,8 +2722,8 @@ client.deployed_triggers.list_webhooks(
-
-**trigger_id:** `str`
-
+**trigger_id:** `str`
+
@@ -2731,7 +2731,7 @@ client.deployed_triggers.list_webhooks(
**external_user_id:** `str` — The external user ID who owns the trigger
-
+
@@ -2739,7 +2739,7 @@ client.deployed_triggers.list_webhooks(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -2791,8 +2791,8 @@ client.deployed_triggers.update_webhooks(
-
-**trigger_id:** `str`
-
+**trigger_id:** `str`
+
@@ -2800,7 +2800,7 @@ client.deployed_triggers.update_webhooks(
**external_user_id:** `str` — The external user ID who owns the trigger
-
+
@@ -2808,7 +2808,7 @@ client.deployed_triggers.update_webhooks(
**webhook_urls:** `typing.Sequence[str]` — Array of webhook URLs to set
-
+
@@ -2816,7 +2816,7 @@ client.deployed_triggers.update_webhooks(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -2866,7 +2866,7 @@ client.projects.retrieve_info()
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -2920,7 +2920,7 @@ client.proxy.get(
**url_64:** `str` — Base64-encoded target URL
-
+
@@ -2928,7 +2928,7 @@ client.proxy.get(
**external_user_id:** `str` — The external user ID for the proxy request
-
+
@@ -2936,7 +2936,7 @@ client.proxy.get(
**account_id:** `str` — The account ID to use for authentication
-
+
@@ -2944,7 +2944,7 @@ client.proxy.get(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -2998,7 +2998,7 @@ client.proxy.post(
**url_64:** `str` — Base64-encoded target URL
-
+
@@ -3006,7 +3006,7 @@ client.proxy.post(
**external_user_id:** `str` — The external user ID for the proxy request
-
+
@@ -3014,15 +3014,15 @@ client.proxy.post(
**account_id:** `str` — The account ID to use for authentication
-
+
-
-**request:** `typing.Dict[str, typing.Optional[typing.Any]]`
-
+**request:** `typing.Dict[str, typing.Optional[typing.Any]]`
+
@@ -3030,7 +3030,7 @@ client.proxy.post(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -3084,7 +3084,7 @@ client.proxy.put(
**url_64:** `str` — Base64-encoded target URL
-
+
@@ -3092,7 +3092,7 @@ client.proxy.put(
**external_user_id:** `str` — The external user ID for the proxy request
-
+
@@ -3100,15 +3100,15 @@ client.proxy.put(
**account_id:** `str` — The account ID to use for authentication
-
+
-
-**request:** `typing.Dict[str, typing.Optional[typing.Any]]`
-
+**request:** `typing.Dict[str, typing.Optional[typing.Any]]`
+
@@ -3116,7 +3116,7 @@ client.proxy.put(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -3169,7 +3169,7 @@ client.proxy.delete(
**url_64:** `str` — Base64-encoded target URL
-
+
@@ -3177,7 +3177,7 @@ client.proxy.delete(
**external_user_id:** `str` — The external user ID for the proxy request
-
+
@@ -3185,7 +3185,7 @@ client.proxy.delete(
**account_id:** `str` — The account ID to use for authentication
-
+
@@ -3193,7 +3193,7 @@ client.proxy.delete(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -3247,7 +3247,7 @@ client.proxy.patch(
**url_64:** `str` — Base64-encoded target URL
-
+
@@ -3255,7 +3255,7 @@ client.proxy.patch(
**external_user_id:** `str` — The external user ID for the proxy request
-
+
@@ -3263,15 +3263,15 @@ client.proxy.patch(
**account_id:** `str` — The account ID to use for authentication
-
+
-
-**request:** `typing.Dict[str, typing.Optional[typing.Any]]`
-
+**request:** `typing.Dict[str, typing.Optional[typing.Any]]`
+
@@ -3279,7 +3279,7 @@ client.proxy.patch(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -3331,7 +3331,7 @@ client.tokens.create(
**external_user_id:** `str` — Your end user ID, for whom you're creating the token
-
+
@@ -3339,7 +3339,7 @@ client.tokens.create(
**allowed_origins:** `typing.Optional[typing.Sequence[str]]` — List of allowed origins for CORS
-
+
@@ -3347,7 +3347,7 @@ client.tokens.create(
**error_redirect_uri:** `typing.Optional[str]` — URI to redirect to on error
-
+
@@ -3355,7 +3355,7 @@ client.tokens.create(
**success_redirect_uri:** `typing.Optional[str]` — URI to redirect to on success
-
+
@@ -3363,7 +3363,7 @@ client.tokens.create(
**webhook_uri:** `typing.Optional[str]` — Webhook URI for notifications
-
+
@@ -3371,7 +3371,7 @@ client.tokens.create(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -3421,16 +3421,16 @@ client.tokens.validate(
-
-**ctok:** `str`
-
+**ctok:** `str`
+
-
-**params:** `typing.Optional[ValidateTokenParams]`
-
+**params:** `typing.Optional[ValidateTokenParams]`
+
@@ -3438,7 +3438,7 @@ client.tokens.validate(
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
@@ -3490,209 +3490,16 @@ client.oauth_tokens.create(
-
-**client_id:** `str`
-
-
-
-
-
--
-
-**client_secret:** `str`
-
-
-
-
-
--
-
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
-
-
-
-
-
-
-
-
-
-
-
-## Workflows
-client.workflows.invoke(...)
-
--
-
-#### 🔌 Usage
-
-
--
-
-
--
-
-```python
-from pipedream import Pipedream
-from pipedream.workflows.client import HTTPAuthType
-
-client = Pipedream(
- project_id="YOUR_PROJECT_ID",
- project_environment="YOUR_PROJECT_ENVIRONMENT",
- client_id="YOUR_CLIENT_ID",
- client_secret="YOUR_CLIENT_SECRET",
-)
-response = client.workflows.invoke(
- url_or_endpoint="https://your-workflow.m.pipedream.net",
- method="POST",
- body={"key": "value"},
- headers={"Content-Type": "application/json"},
- auth_type=HTTPAuthType.NONE,
-)
-
-```
-
-
-
-
-
-#### ⚙️ Parameters
-
-
--
-
-
--
-
-**url_or_endpoint:** `str` — The URL of the workflow's HTTP interface or the ID of the endpoint
-
-
-
-
-
--
-
-**method:** `str` — HTTP method to use (default: "POST")
-
-
-
-
-
--
-
-**body:** `typing.Optional[typing.Any]` — Request body data
-
-
-
-
-
--
-
-**headers:** `typing.Optional[typing.Dict[str, str]]` — HTTP headers to include
-
-
-
-
-
--
-
-**auth_type:** `HTTPAuthType` — Type of authorization (default: HTTPAuthType.NONE)
-
-
-
-
-
--
-
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
-
-
-
-
-
-
-
-
-
-
-client.workflows.invoke_for_external_user(...)
-
--
-
-#### 🔌 Usage
-
-
--
-
-
--
-
-```python
-from pipedream import Pipedream
-
-client = Pipedream(
- project_id="YOUR_PROJECT_ID",
- project_environment="YOUR_PROJECT_ENVIRONMENT",
- client_id="YOUR_CLIENT_ID",
- client_secret="YOUR_CLIENT_SECRET",
-)
-response = client.workflows.invoke_for_external_user(
- url_or_endpoint="en2r1n8a98np7",
- external_user_id="user_123",
- method="POST",
- body={"message": "Hello from external user"},
- headers={"Content-Type": "application/json"},
-)
-
-```
-
-
-
-
-
-#### ⚙️ Parameters
-
-
--
-
-
--
-
-**url_or_endpoint:** `str` — The URL of the workflow's HTTP interface or the ID of the endpoint
-
-
-
-
-
--
-
-**external_user_id:** `str` — The external user ID for whom the workflow is being invoked
-
+**client_id:** `str`
+
-
-**method:** `str` — HTTP method to use (default: "POST")
-
-
-
-
-
--
-
-**body:** `typing.Optional[typing.Any]` — Request body data
-
-
-
-
-
--
-
-**headers:** `typing.Optional[typing.Dict[str, str]]` — HTTP headers to include
-
+**client_secret:** `str`
+
@@ -3700,7 +3507,7 @@ response = client.workflows.invoke_for_external_user(
-
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
+
diff --git a/src/pipedream/client.py b/src/pipedream/client.py
index 24d3539..05f4186 100644
--- a/src/pipedream/client.py
+++ b/src/pipedream/client.py
@@ -4,7 +4,7 @@
import typing
import httpx
-from .types.project_environment import ProjectEnvironment
+from ._.types.project_environment import ProjectEnvironment
from .accounts.client import AccountsClient, AsyncAccountsClient
from .actions.client import ActionsClient, AsyncActionsClient
from .app_categories.client import AppCategoriesClient, AsyncAppCategoriesClient
diff --git a/src/pipedream/core/client_wrapper.py b/src/pipedream/core/client_wrapper.py
index b42f727..66a86aa 100644
--- a/src/pipedream/core/client_wrapper.py
+++ b/src/pipedream/core/client_wrapper.py
@@ -3,7 +3,7 @@
import typing
import httpx
-from ..types.project_environment import ProjectEnvironment
+from .._.types.project_environment import ProjectEnvironment
from .http_client import AsyncHttpClient, HttpClient
@@ -27,10 +27,10 @@ def __init__(
def get_headers(self) -> typing.Dict[str, str]:
headers: typing.Dict[str, str] = {
- "User-Agent": "pipedream/1.0.1",
+ "User-Agent": "pipedream/1.0.2",
"X-Fern-Language": "Python",
"X-Fern-SDK-Name": "pipedream",
- "X-Fern-SDK-Version": "1.0.1",
+ "X-Fern-SDK-Version": "1.0.2",
**(self.get_custom_headers() or {}),
}
if self._project_environment is not None:
diff --git a/src/pipedream/workflows/__init__.py b/src/pipedream/workflows/__init__.py
deleted file mode 100644
index 395047f..0000000
--- a/src/pipedream/workflows/__init__.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from .client import AsyncWorkflowsClient, WorkflowsClient
-
-__all__ = ["AsyncWorkflowsClient", "WorkflowsClient"]
\ No newline at end of file
diff --git a/src/pipedream/workflows/client.py b/src/pipedream/workflows/client.py
deleted file mode 100644
index cb068bc..0000000
--- a/src/pipedream/workflows/client.py
+++ /dev/null
@@ -1,333 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import enum
-import re
-import typing
-
-import httpx
-from ..core.client_wrapper import (
- AsyncClientWrapper,
- SyncClientWrapper,
-)
-from ..core.request_options import RequestOptions
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class HTTPAuthType(enum.Enum):
- """Authentication types for workflow invocation"""
- NONE = "none"
- STATIC_BEARER = "static_bearer_token"
- OAUTH = "oauth"
-
-
-class WorkflowsClient:
-
- def __init__(
- self,
- *,
- client_wrapper: SyncClientWrapper,
- workflow_domain: str = "m.pipedream.net",
- ):
- self._client_wrapper = client_wrapper
- self._workflow_domain = workflow_domain
-
- def invoke(
- self,
- url_or_endpoint: str,
- *,
- method: str = "POST",
- body: typing.Optional[typing.Any] = None,
- headers: typing.Optional[typing.Dict[str, str]] = None,
- auth_type: HTTPAuthType = HTTPAuthType.NONE,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> httpx.Response:
- """
- Invokes a workflow using its HTTP interface URL by sending an HTTP
- request.
-
- Parameters
- ----------
- url_or_endpoint : str
- The URL of the workflow's HTTP interface or the ID of the endpoint
-
- method : str
- HTTP method to use (default: "POST")
-
- body : typing.Optional[typing.Any]
- Request body data
-
- headers : typing.Optional[typing.Dict[str, str]]
- HTTP headers to include
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- httpx.Response
- Response from the workflow
- """
- workflow_url = self._build_workflow_url(url_or_endpoint)
- request_headers = self._prepare_headers(headers, auth_type)
-
- # Make the request
- response = self._client_wrapper.httpx_client.request(
- workflow_url,
- method=method,
- data=body,
- json=body,
- headers=request_headers,
- request_options=request_options,
- )
- return response.raise_for_status()
-
- def invoke_for_external_user(
- self,
- url_or_endpoint: str,
- *,
- external_user_id: str,
- method: str = "POST",
- body: typing.Optional[typing.Any] = None,
- headers: typing.Optional[typing.Dict[str, str]] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> httpx.Response:
- """
- Invokes a workflow for a specific Pipedream Connect user in a project.
-
- Parameters
- ----------
- url_or_endpoint : str
- The URL of the workflow's HTTP interface or the ID of the endpoint
-
- external_user_id : str
- The external user ID for whom the workflow is being invoked
-
- method : str
- HTTP method to use (default: "POST")
-
- body : typing.Optional[typing.Any]
- Request body data
-
- headers : typing.Optional[typing.Dict[str, str]]
- HTTP headers to include
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- httpx.Response
- Response from the workflow
- """
- if not external_user_id:
- raise ValueError("external_user_id is required")
-
- # Add the external user ID header
- request_headers = dict(headers) if headers else {}
- request_headers["X-PD-External-User-ID"] = external_user_id
-
- # Force OAuth authentication for external user invocations
- return self.invoke(
- url_or_endpoint,
- method=method,
- body=body,
- headers=request_headers,
- auth_type=HTTPAuthType.OAUTH,
- request_options=request_options,
- )
-
- def _build_workflow_url(self, url_or_endpoint: str) -> str:
- """Build the full workflow URL from either a full URL or endpoint ID"""
- if not url_or_endpoint:
- raise ValueError("URL or endpoint ID is required")
-
- # Check if it's already a full URL with protocol
- if url_or_endpoint.startswith(("http://", "https://")):
- return url_or_endpoint
-
- # Check if it's a URL without protocol
- if "." in url_or_endpoint and not self._is_endpoint(url_or_endpoint):
- return f"https://{url_or_endpoint}"
-
- # Treat as endpoint ID - validate format
- if not self._is_endpoint(url_or_endpoint):
- raise ValueError(f"Invalid endpoint ID format: {url_or_endpoint}")
-
- # Build URL from endpoint ID
- return f"https://{url_or_endpoint}.{self._workflow_domain}"
-
- def _is_endpoint(self, url_or_endpoint: str) -> bool:
- """Check if the provided string is an endpoint ID"""
- return bool(re.match(r"^e(n|o)[a-z0-9-]+$", url_or_endpoint))
-
- def _prepare_headers(
- self,
- headers: typing.Optional[typing.Dict[str, str]],
- auth_type: HTTPAuthType,
- ) -> typing.Dict[str, str]:
- """Prepare headers for the workflow request"""
- request_headers = dict(headers) if headers else {}
-
- if auth_type == HTTPAuthType.NONE:
- request_headers["Authorization"] = ""
-
- return request_headers
-
-
-class AsyncWorkflowsClient:
-
- def __init__(
- self,
- *,
- client_wrapper: AsyncClientWrapper,
- workflow_domain: str = "m.pipedream.net",
- ):
- self._client_wrapper = client_wrapper
- self._workflow_domain = workflow_domain
-
- async def invoke(
- self,
- url_or_endpoint: str,
- *,
- method: str = "POST",
- body: typing.Optional[typing.Any] = None,
- headers: typing.Optional[typing.Dict[str, str]] = None,
- auth_type: HTTPAuthType = HTTPAuthType.NONE,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> httpx.Response:
- """
- Invokes a workflow using its HTTP interface URL by sending an HTTP
- request.
-
- Parameters
- ----------
- url_or_endpoint : str
- The URL of the workflow's HTTP interface or the ID of the endpoint
-
- method : str
- HTTP method to use (default: "POST")
-
- body : typing.Optional[typing.Any]
- Request body data
-
- headers : typing.Optional[typing.Dict[str, str]]
- HTTP headers to include
-
- auth_type : HTTPAuthType
- Type of authorization (default: HTTPAuthType.NONE)
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- httpx.Response
- Response from the workflow
- """
- workflow_url = self._build_workflow_url(url_or_endpoint)
- request_headers = self._prepare_headers(headers, auth_type)
-
- # Make the request
- response = await self._client_wrapper.httpx_client.request(
- workflow_url,
- method=method,
- data=body,
- json=body,
- headers=request_headers,
- request_options=request_options,
- )
- return response.raise_for_status()
-
- async def invoke_for_external_user(
- self,
- url_or_endpoint: str,
- *,
- external_user_id: str,
- method: str = "POST",
- body: typing.Optional[typing.Any] = None,
- headers: typing.Optional[typing.Dict[str, str]] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> httpx.Response:
- """
- Invokes a workflow for a specific Pipedream Connect user in a project.
-
- Parameters
- ----------
- url_or_endpoint : str
- The URL of the workflow's HTTP interface or the ID of the endpoint
-
- external_user_id : str
- The external user ID for whom the workflow is being invoked
-
- method : str
- HTTP method to use (default: "POST")
-
- body : typing.Optional[typing.Any]
- Request body data
-
- headers : typing.Optional[typing.Dict[str, str]]
- HTTP headers to include
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- httpx.Response
- Response from the workflow
- """
- if not external_user_id:
- raise ValueError("external_user_id is required")
-
- # Add the external user ID header
- request_headers = dict(headers) if headers else {}
- request_headers["X-PD-External-User-ID"] = external_user_id
-
- # Force OAuth authentication for external user invocations
- return await self.invoke(
- url_or_endpoint,
- method=method,
- body=body,
- headers=request_headers,
- auth_type=HTTPAuthType.OAUTH,
- request_options=request_options,
- )
-
- def _build_workflow_url(self, url_or_endpoint: str) -> str:
- """Build the full workflow URL from either a full URL or endpoint ID"""
- if not url_or_endpoint:
- raise ValueError("URL or endpoint ID is required")
-
- # Check if it's already a full URL with protocol
- if url_or_endpoint.startswith(("http://", "https://")):
- return url_or_endpoint
-
- # Check if it's a URL without protocol
- if "." in url_or_endpoint and not self._is_endpoint(url_or_endpoint):
- return f"https://{url_or_endpoint}"
-
- # Treat as endpoint ID - validate format
- if not self._is_endpoint(url_or_endpoint):
- raise ValueError(f"Invalid endpoint ID format: {url_or_endpoint}")
-
- # Build URL from endpoint ID
- return f"https://{url_or_endpoint}.{self._workflow_domain}"
-
- def _is_endpoint(self, url_or_endpoint: str) -> bool:
- """Check if the provided string is an endpoint ID"""
- return bool(re.match(r"^e(n|o)[a-z0-9-]+$", url_or_endpoint))
-
- def _prepare_headers(
- self,
- headers: typing.Optional[typing.Dict[str, str]],
- auth_type: HTTPAuthType,
- ) -> typing.Dict[str, str]:
- """Prepare headers for the workflow request"""
- request_headers = dict(headers) if headers else {}
-
- if auth_type == HTTPAuthType.NONE:
- request_headers["Authorization"] = ""
-
- return request_headers