pipedream 2.1.20__tar.gz → 2.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. {pipedream-2.1.20 → pipedream-2.3.0}/PKG-INFO +4 -1
  2. {pipedream-2.1.20 → pipedream-2.3.0}/pyproject.toml +4 -1
  3. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/core/client_wrapper.py +2 -2
  4. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/deployed_triggers/client.py +104 -0
  5. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/deployed_triggers/raw_client.py +132 -0
  6. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/errors/__init__.py +3 -1
  7. pipedream-2.3.0/src/pipedream/errors/unauthorized_error.py +11 -0
  8. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/oauth_apps/client.py +16 -20
  9. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/oauth_apps/raw_client.py +16 -16
  10. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/oauth_tokens/client.py +38 -8
  11. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/oauth_tokens/raw_client.py +77 -4
  12. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/pipedream.py +103 -0
  13. pipedream-2.3.0/src/pipedream/private_key_jwt.py +204 -0
  14. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/__init__.py +18 -0
  15. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/app.py +5 -0
  16. pipedream-2.3.0/src/pipedream/types/bad_request_error_body.py +19 -0
  17. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/oauth_app.py +10 -5
  18. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/trigger_webhook.py +6 -0
  19. pipedream-2.3.0/src/pipedream/types/trigger_webhook_delivery_backend.py +5 -0
  20. pipedream-2.3.0/src/pipedream/types/unauthorized_error_body.py +19 -0
  21. pipedream-2.3.0/src/pipedream/types/webhook_delivery_state.py +32 -0
  22. pipedream-2.3.0/src/pipedream/types/webhook_delivery_state_state.py +5 -0
  23. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/webhook_with_signing_key.py +5 -0
  24. pipedream-2.3.0/src/pipedream/types/webhook_with_signing_key_delivery_backend.py +5 -0
  25. {pipedream-2.1.20 → pipedream-2.3.0}/LICENSE +0 -0
  26. {pipedream-2.1.20 → pipedream-2.3.0}/README.md +0 -0
  27. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/__init__.py +0 -0
  28. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/_default_clients.py +0 -0
  29. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/accounts/__init__.py +0 -0
  30. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/accounts/client.py +0 -0
  31. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/accounts/raw_client.py +0 -0
  32. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/actions/__init__.py +0 -0
  33. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/actions/client.py +0 -0
  34. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/actions/raw_client.py +0 -0
  35. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/actions/types/__init__.py +0 -0
  36. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/actions/types/actions_list_request_registry.py +0 -0
  37. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/app_categories/__init__.py +0 -0
  38. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/app_categories/client.py +0 -0
  39. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/app_categories/raw_client.py +0 -0
  40. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/app_overrides/__init__.py +0 -0
  41. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/app_overrides/client.py +0 -0
  42. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/app_overrides/raw_client.py +0 -0
  43. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/apps/__init__.py +0 -0
  44. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/apps/client.py +0 -0
  45. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/apps/raw_client.py +0 -0
  46. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/apps/types/__init__.py +0 -0
  47. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/apps/types/apps_list_request_sort_direction.py +0 -0
  48. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/apps/types/apps_list_request_sort_key.py +0 -0
  49. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/client.py +0 -0
  50. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/components/__init__.py +0 -0
  51. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/components/client.py +0 -0
  52. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/components/raw_client.py +0 -0
  53. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/components/types/__init__.py +0 -0
  54. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/components/types/components_list_request_registry.py +0 -0
  55. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/core/__init__.py +0 -0
  56. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/core/api_error.py +0 -0
  57. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/core/datetime_utils.py +0 -0
  58. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/core/file.py +0 -0
  59. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/core/force_multipart.py +0 -0
  60. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/core/http_client.py +0 -0
  61. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/core/http_response.py +0 -0
  62. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/core/http_sse/__init__.py +0 -0
  63. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/core/http_sse/_api.py +0 -0
  64. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/core/http_sse/_decoders.py +0 -0
  65. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/core/http_sse/_exceptions.py +0 -0
  66. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/core/http_sse/_models.py +0 -0
  67. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/core/jsonable_encoder.py +0 -0
  68. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/core/logging.py +0 -0
  69. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/core/oauth_token_provider.py +0 -0
  70. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/core/pagination.py +0 -0
  71. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/core/parse_error.py +0 -0
  72. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/core/pydantic_utilities.py +0 -0
  73. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/core/query_encoder.py +0 -0
  74. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/core/remove_none_from_dict.py +0 -0
  75. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/core/request_options.py +0 -0
  76. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/core/serialization.py +0 -0
  77. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/deployed_triggers/__init__.py +0 -0
  78. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/environment.py +0 -0
  79. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/errors/bad_request_error.py +0 -0
  80. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/errors/not_found_error.py +0 -0
  81. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/errors/too_many_requests_error.py +0 -0
  82. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/file_stash/__init__.py +0 -0
  83. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/file_stash/client.py +0 -0
  84. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/file_stash/raw_client.py +0 -0
  85. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/oauth_apps/__init__.py +0 -0
  86. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/oauth_tokens/__init__.py +0 -0
  87. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/project_environment/__init__.py +0 -0
  88. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/project_environment/client.py +0 -0
  89. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/project_environment/raw_client.py +0 -0
  90. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/projects/__init__.py +0 -0
  91. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/projects/client.py +0 -0
  92. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/projects/raw_client.py +0 -0
  93. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/proxy/__init__.py +0 -0
  94. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/proxy/client.py +0 -0
  95. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/proxy/raw_client.py +0 -0
  96. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/py.typed +0 -0
  97. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/tokens/__init__.py +0 -0
  98. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/tokens/client.py +0 -0
  99. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/tokens/raw_client.py +0 -0
  100. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/triggers/__init__.py +0 -0
  101. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/triggers/client.py +0 -0
  102. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/triggers/raw_client.py +0 -0
  103. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/triggers/types/__init__.py +0 -0
  104. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/triggers/types/triggers_list_request_registry.py +0 -0
  105. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/account.py +0 -0
  106. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/account_credentials.py +0 -0
  107. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/account_id.py +0 -0
  108. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/app_auth_type.py +0 -0
  109. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/app_category.py +0 -0
  110. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/app_override.py +0 -0
  111. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/app_scope_profiles_item.py +0 -0
  112. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/app_scope_profiles_item_name.py +0 -0
  113. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/backend_client_opts.py +0 -0
  114. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/client_opts.py +0 -0
  115. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/component.py +0 -0
  116. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/component_stash.py +0 -0
  117. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/component_type.py +0 -0
  118. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop.py +0 -0
  119. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_airtable_base_id.py +0 -0
  120. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_airtable_field_id.py +0 -0
  121. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_airtable_table_id.py +0 -0
  122. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_airtable_view_id.py +0 -0
  123. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_alert.py +0 -0
  124. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_alert_type.py +0 -0
  125. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_any.py +0 -0
  126. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_any_options_item.py +0 -0
  127. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_app.py +0 -0
  128. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_apphook.py +0 -0
  129. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_base.py +0 -0
  130. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_base_type.py +0 -0
  131. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_boolean.py +0 -0
  132. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_boolean_options_item.py +0 -0
  133. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_data_store.py +0 -0
  134. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_db.py +0 -0
  135. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_dir.py +0 -0
  136. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_dir_access_mode.py +0 -0
  137. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_discord_channel.py +0 -0
  138. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_discord_channel_array.py +0 -0
  139. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_http.py +0 -0
  140. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_http_request.py +0 -0
  141. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_integer.py +0 -0
  142. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_integer_array.py +0 -0
  143. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_integer_array_options_item.py +0 -0
  144. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_integer_options_item.py +0 -0
  145. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_object.py +0 -0
  146. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_object_options_item.py +0 -0
  147. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_sql.py +0 -0
  148. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_sql_auth.py +0 -0
  149. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_sql_options_item.py +0 -0
  150. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_string.py +0 -0
  151. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_string_array.py +0 -0
  152. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_string_array_options_item.py +0 -0
  153. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_string_format.py +0 -0
  154. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_string_options_item.py +0 -0
  155. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_timer.py +0 -0
  156. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_timer_default.py +0 -0
  157. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_timer_option.py +0 -0
  158. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configurable_prop_timer_static.py +0 -0
  159. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configure_prop_options.py +0 -0
  160. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configure_prop_options_item.py +0 -0
  161. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configure_prop_opts.py +0 -0
  162. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configure_prop_response.py +0 -0
  163. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configured_prop_value.py +0 -0
  164. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configured_prop_value_any.py +0 -0
  165. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configured_prop_value_app.py +0 -0
  166. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configured_prop_value_boolean.py +0 -0
  167. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configured_prop_value_integer.py +0 -0
  168. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configured_prop_value_object.py +0 -0
  169. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configured_prop_value_sql.py +0 -0
  170. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configured_prop_value_string.py +0 -0
  171. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configured_prop_value_string_array.py +0 -0
  172. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/configured_props.py +0 -0
  173. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/connect_token.py +0 -0
  174. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/connect_usage.py +0 -0
  175. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/connect_usage_response.py +0 -0
  176. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/create_o_auth_token_response.py +0 -0
  177. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/create_token_response.py +0 -0
  178. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/delete_trigger_opts.py +0 -0
  179. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/deploy_trigger_response.py +0 -0
  180. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/deployed_component.py +0 -0
  181. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/dynamic_props.py +0 -0
  182. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/emitted_event.py +0 -0
  183. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/emitter.py +0 -0
  184. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/emitter_type.py +0 -0
  185. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/error_response.py +0 -0
  186. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/external_user.py +0 -0
  187. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/get_accounts_response.py +0 -0
  188. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/get_app_category_response.py +0 -0
  189. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/get_app_response.py +0 -0
  190. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/get_apps_response.py +0 -0
  191. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/get_component_response.py +0 -0
  192. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/get_components_response.py +0 -0
  193. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/get_trigger_events_response.py +0 -0
  194. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/get_trigger_response.py +0 -0
  195. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/get_trigger_webhooks_response.py +0 -0
  196. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/get_trigger_workflows_response.py +0 -0
  197. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/get_triggers_response.py +0 -0
  198. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/get_users_response.py +0 -0
  199. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/get_webhook_response.py +0 -0
  200. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/get_webhook_with_signing_key_response.py +0 -0
  201. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/http_interface.py +0 -0
  202. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/http_request_auth.py +0 -0
  203. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/http_request_auth_type.py +0 -0
  204. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/http_request_body.py +0 -0
  205. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/http_request_body_mode.py +0 -0
  206. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/http_request_body_type.py +0 -0
  207. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/http_request_config.py +0 -0
  208. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/http_request_field.py +0 -0
  209. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/list_accounts_response.py +0 -0
  210. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/list_app_categories_response.py +0 -0
  211. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/list_app_overrides_response.py +0 -0
  212. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/list_apps_response.py +0 -0
  213. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/list_oauth_apps_response.py +0 -0
  214. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/list_projects_response.py +0 -0
  215. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/observation.py +0 -0
  216. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/observation_error.py +0 -0
  217. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/page_info.py +0 -0
  218. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/project.py +0 -0
  219. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/project_environment.py +0 -0
  220. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/project_info_response.py +0 -0
  221. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/project_info_response_app.py +0 -0
  222. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/prop_option.py +0 -0
  223. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/prop_option_nested.py +0 -0
  224. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/prop_option_value.py +0 -0
  225. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/proxy_response.py +0 -0
  226. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/proxy_response_binary.py +0 -0
  227. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/reload_props_opts.py +0 -0
  228. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/reload_props_response.py +0 -0
  229. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/run_action_opts_stash_id.py +0 -0
  230. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/run_action_response.py +0 -0
  231. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/set_webhook_response.py +0 -0
  232. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/start_connect_opts.py +0 -0
  233. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/stash_id.py +0 -0
  234. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/timer_cron.py +0 -0
  235. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/timer_interface.py +0 -0
  236. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/timer_interval.py +0 -0
  237. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/too_many_requests_error_body.py +0 -0
  238. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/tool_annotations.py +0 -0
  239. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/validate_token_response.py +0 -0
  240. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/webhook.py +0 -0
  241. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/types/webhook_with_optional_signing_key.py +0 -0
  242. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/usage/__init__.py +0 -0
  243. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/usage/client.py +0 -0
  244. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/usage/raw_client.py +0 -0
  245. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/users/__init__.py +0 -0
  246. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/users/client.py +0 -0
  247. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/users/raw_client.py +0 -0
  248. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/version.py +0 -0
  249. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/workflows/__init__.py +0 -0
  250. {pipedream-2.1.20 → pipedream-2.3.0}/src/pipedream/workflows/client.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pipedream
3
- Version: 2.1.20
3
+ Version: 2.3.0
4
4
  Summary:
5
5
  Requires-Python: >=3.10,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -20,11 +20,14 @@ Classifier: Programming Language :: Python :: 3.15
20
20
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
21
21
  Classifier: Typing :: Typed
22
22
  Provides-Extra: aiohttp
23
+ Provides-Extra: private-key
23
24
  Requires-Dist: aiohttp (>=3.13.4,<4) ; (python_version >= "3.9") and (extra == "aiohttp")
25
+ Requires-Dist: cryptography (>=3.4.0) ; extra == "private-key"
24
26
  Requires-Dist: httpx (>=0.21.2)
25
27
  Requires-Dist: httpx-aiohttp (==0.1.8) ; (python_version >= "3.9") and (extra == "aiohttp")
26
28
  Requires-Dist: pydantic (>=1.9.2)
27
29
  Requires-Dist: pydantic-core (>=2.18.2,<3.0.0)
30
+ Requires-Dist: pyjwt (>=2.8.0,<3) ; extra == "private-key"
28
31
  Requires-Dist: typing_extensions (>=4.0.0)
29
32
  Project-URL: Repository, https://github.com/PipedreamHQ/pipedream-sdk-python
30
33
  Description-Content-Type: text/markdown
@@ -4,7 +4,7 @@ dynamic = ["version"]
4
4
 
5
5
  [tool.poetry]
6
6
  name = "pipedream"
7
- version = "2.1.20"
7
+ version = "2.3.0"
8
8
  description = ""
9
9
  readme = "README.md"
10
10
  authors = []
@@ -38,10 +38,12 @@ Repository = 'https://github.com/PipedreamHQ/pipedream-sdk-python'
38
38
  [tool.poetry.dependencies]
39
39
  python = "^3.10"
40
40
  aiohttp = { version = ">=3.13.4,<4", optional = true, python = ">=3.9"}
41
+ cryptography = { version = ">=3.4.0", optional = true}
41
42
  httpx = ">=0.21.2"
42
43
  httpx-aiohttp = { version = "0.1.8", optional = true, python = ">=3.9"}
43
44
  pydantic = ">= 1.9.2"
44
45
  pydantic-core = ">=2.18.2,<3.0.0"
46
+ pyjwt = { version = ">=2.8.0,<3", optional = true}
45
47
  typing_extensions = ">= 4.0.0"
46
48
 
47
49
  [tool.poetry.group.dev.dependencies]
@@ -93,4 +95,5 @@ requires = ["poetry-core"]
93
95
  build-backend = "poetry.core.masonry.api"
94
96
 
95
97
  [tool.poetry.extras]
98
+ private-key=["pyjwt", "cryptography"]
96
99
  aiohttp=["aiohttp", "httpx-aiohttp"]
@@ -34,12 +34,12 @@ class BaseClientWrapper:
34
34
  import platform
35
35
 
36
36
  headers: typing.Dict[str, str] = {
37
- "User-Agent": "pipedream/2.1.20",
37
+ "User-Agent": "pipedream/2.3.0",
38
38
  "X-Fern-Language": "Python",
39
39
  "X-Fern-Runtime": f"python/{platform.python_version()}",
40
40
  "X-Fern-Platform": f"{platform.system().lower()}/{platform.release()}",
41
41
  "X-Fern-SDK-Name": "pipedream",
42
- "X-Fern-SDK-Version": "2.1.20",
42
+ "X-Fern-SDK-Version": "2.3.0",
43
43
  **(self.get_custom_headers() or {}),
44
44
  }
45
45
  if self._project_environment is not None:
@@ -534,6 +534,54 @@ class DeployedTriggersClient:
534
534
  )
535
535
  return _response.data
536
536
 
537
+ def reset_webhook_delivery_state(
538
+ self,
539
+ trigger_id: str,
540
+ webhook_id: str,
541
+ *,
542
+ external_user_id: str,
543
+ request_options: typing.Optional[RequestOptions] = None,
544
+ ) -> GetWebhookWithSigningKeyResponse:
545
+ """
546
+ Reactivate a disabled webhook and clear its delivery failure evidence
547
+
548
+ Parameters
549
+ ----------
550
+ trigger_id : str
551
+
552
+ webhook_id : str
553
+
554
+ external_user_id : str
555
+ The external user ID who owns the trigger
556
+
557
+ request_options : typing.Optional[RequestOptions]
558
+ Request-specific configuration.
559
+
560
+ Returns
561
+ -------
562
+ GetWebhookWithSigningKeyResponse
563
+ webhook delivery state reset
564
+
565
+ Examples
566
+ --------
567
+ from pipedream import Pipedream
568
+
569
+ client = Pipedream(
570
+ project_id="YOUR_PROJECT_ID",
571
+ client_id="YOUR_CLIENT_ID",
572
+ client_secret="YOUR_CLIENT_SECRET",
573
+ )
574
+ client.deployed_triggers.reset_webhook_delivery_state(
575
+ trigger_id="trigger_id",
576
+ webhook_id="webhook_id",
577
+ external_user_id="external_user_id",
578
+ )
579
+ """
580
+ _response = self._raw_client.reset_webhook_delivery_state(
581
+ trigger_id, webhook_id, external_user_id=external_user_id, request_options=request_options
582
+ )
583
+ return _response.data
584
+
537
585
  def regenerate_webhook_signing_key(
538
586
  self,
539
587
  trigger_id: str,
@@ -1179,6 +1227,62 @@ class AsyncDeployedTriggersClient:
1179
1227
  )
1180
1228
  return _response.data
1181
1229
 
1230
+ async def reset_webhook_delivery_state(
1231
+ self,
1232
+ trigger_id: str,
1233
+ webhook_id: str,
1234
+ *,
1235
+ external_user_id: str,
1236
+ request_options: typing.Optional[RequestOptions] = None,
1237
+ ) -> GetWebhookWithSigningKeyResponse:
1238
+ """
1239
+ Reactivate a disabled webhook and clear its delivery failure evidence
1240
+
1241
+ Parameters
1242
+ ----------
1243
+ trigger_id : str
1244
+
1245
+ webhook_id : str
1246
+
1247
+ external_user_id : str
1248
+ The external user ID who owns the trigger
1249
+
1250
+ request_options : typing.Optional[RequestOptions]
1251
+ Request-specific configuration.
1252
+
1253
+ Returns
1254
+ -------
1255
+ GetWebhookWithSigningKeyResponse
1256
+ webhook delivery state reset
1257
+
1258
+ Examples
1259
+ --------
1260
+ import asyncio
1261
+
1262
+ from pipedream import AsyncPipedream
1263
+
1264
+ client = AsyncPipedream(
1265
+ project_id="YOUR_PROJECT_ID",
1266
+ client_id="YOUR_CLIENT_ID",
1267
+ client_secret="YOUR_CLIENT_SECRET",
1268
+ )
1269
+
1270
+
1271
+ async def main() -> None:
1272
+ await client.deployed_triggers.reset_webhook_delivery_state(
1273
+ trigger_id="trigger_id",
1274
+ webhook_id="webhook_id",
1275
+ external_user_id="external_user_id",
1276
+ )
1277
+
1278
+
1279
+ asyncio.run(main())
1280
+ """
1281
+ _response = await self._raw_client.reset_webhook_delivery_state(
1282
+ trigger_id, webhook_id, external_user_id=external_user_id, request_options=request_options
1283
+ )
1284
+ return _response.data
1285
+
1182
1286
  async def regenerate_webhook_signing_key(
1183
1287
  self,
1184
1288
  trigger_id: str,
@@ -739,6 +739,72 @@ class RawDeployedTriggersClient:
739
739
  )
740
740
  raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
741
741
 
742
+ def reset_webhook_delivery_state(
743
+ self,
744
+ trigger_id: str,
745
+ webhook_id: str,
746
+ *,
747
+ external_user_id: str,
748
+ request_options: typing.Optional[RequestOptions] = None,
749
+ ) -> HttpResponse[GetWebhookWithSigningKeyResponse]:
750
+ """
751
+ Reactivate a disabled webhook and clear its delivery failure evidence
752
+
753
+ Parameters
754
+ ----------
755
+ trigger_id : str
756
+
757
+ webhook_id : str
758
+
759
+ external_user_id : str
760
+ The external user ID who owns the trigger
761
+
762
+ request_options : typing.Optional[RequestOptions]
763
+ Request-specific configuration.
764
+
765
+ Returns
766
+ -------
767
+ HttpResponse[GetWebhookWithSigningKeyResponse]
768
+ webhook delivery state reset
769
+ """
770
+ _response = self._client_wrapper.httpx_client.request(
771
+ f"v1/connect/{encode_path_param(self._client_wrapper._project_id)}/deployed-triggers/{encode_path_param(trigger_id)}/webhooks/{encode_path_param(webhook_id)}/reset_delivery_state",
772
+ method="POST",
773
+ params={
774
+ "external_user_id": external_user_id,
775
+ },
776
+ request_options=request_options,
777
+ )
778
+ try:
779
+ if 200 <= _response.status_code < 300:
780
+ _data = typing.cast(
781
+ GetWebhookWithSigningKeyResponse,
782
+ parse_obj_as(
783
+ type_=GetWebhookWithSigningKeyResponse, # type: ignore
784
+ object_=_response.json(),
785
+ ),
786
+ )
787
+ return HttpResponse(response=_response, data=_data)
788
+ if _response.status_code == 429:
789
+ raise TooManyRequestsError(
790
+ headers=dict(_response.headers),
791
+ body=typing.cast(
792
+ typing.Any,
793
+ parse_obj_as(
794
+ type_=typing.Any, # type: ignore
795
+ object_=_response.json(),
796
+ ),
797
+ ),
798
+ )
799
+ _response_json = _response.json()
800
+ except JSONDecodeError:
801
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
802
+ except ValidationError as e:
803
+ raise ParsingError(
804
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
805
+ )
806
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
807
+
742
808
  def regenerate_webhook_signing_key(
743
809
  self,
744
810
  trigger_id: str,
@@ -1519,6 +1585,72 @@ class AsyncRawDeployedTriggersClient:
1519
1585
  )
1520
1586
  raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
1521
1587
 
1588
+ async def reset_webhook_delivery_state(
1589
+ self,
1590
+ trigger_id: str,
1591
+ webhook_id: str,
1592
+ *,
1593
+ external_user_id: str,
1594
+ request_options: typing.Optional[RequestOptions] = None,
1595
+ ) -> AsyncHttpResponse[GetWebhookWithSigningKeyResponse]:
1596
+ """
1597
+ Reactivate a disabled webhook and clear its delivery failure evidence
1598
+
1599
+ Parameters
1600
+ ----------
1601
+ trigger_id : str
1602
+
1603
+ webhook_id : str
1604
+
1605
+ external_user_id : str
1606
+ The external user ID who owns the trigger
1607
+
1608
+ request_options : typing.Optional[RequestOptions]
1609
+ Request-specific configuration.
1610
+
1611
+ Returns
1612
+ -------
1613
+ AsyncHttpResponse[GetWebhookWithSigningKeyResponse]
1614
+ webhook delivery state reset
1615
+ """
1616
+ _response = await self._client_wrapper.httpx_client.request(
1617
+ f"v1/connect/{encode_path_param(self._client_wrapper._project_id)}/deployed-triggers/{encode_path_param(trigger_id)}/webhooks/{encode_path_param(webhook_id)}/reset_delivery_state",
1618
+ method="POST",
1619
+ params={
1620
+ "external_user_id": external_user_id,
1621
+ },
1622
+ request_options=request_options,
1623
+ )
1624
+ try:
1625
+ if 200 <= _response.status_code < 300:
1626
+ _data = typing.cast(
1627
+ GetWebhookWithSigningKeyResponse,
1628
+ parse_obj_as(
1629
+ type_=GetWebhookWithSigningKeyResponse, # type: ignore
1630
+ object_=_response.json(),
1631
+ ),
1632
+ )
1633
+ return AsyncHttpResponse(response=_response, data=_data)
1634
+ if _response.status_code == 429:
1635
+ raise TooManyRequestsError(
1636
+ headers=dict(_response.headers),
1637
+ body=typing.cast(
1638
+ typing.Any,
1639
+ parse_obj_as(
1640
+ type_=typing.Any, # type: ignore
1641
+ object_=_response.json(),
1642
+ ),
1643
+ ),
1644
+ )
1645
+ _response_json = _response.json()
1646
+ except JSONDecodeError:
1647
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
1648
+ except ValidationError as e:
1649
+ raise ParsingError(
1650
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
1651
+ )
1652
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
1653
+
1522
1654
  async def regenerate_webhook_signing_key(
1523
1655
  self,
1524
1656
  trigger_id: str,
@@ -9,10 +9,12 @@ if typing.TYPE_CHECKING:
9
9
  from .bad_request_error import BadRequestError
10
10
  from .not_found_error import NotFoundError
11
11
  from .too_many_requests_error import TooManyRequestsError
12
+ from .unauthorized_error import UnauthorizedError
12
13
  _dynamic_imports: typing.Dict[str, str] = {
13
14
  "BadRequestError": ".bad_request_error",
14
15
  "NotFoundError": ".not_found_error",
15
16
  "TooManyRequestsError": ".too_many_requests_error",
17
+ "UnauthorizedError": ".unauthorized_error",
16
18
  }
17
19
 
18
20
 
@@ -37,4 +39,4 @@ def __dir__():
37
39
  return sorted(lazy_attrs)
38
40
 
39
41
 
40
- __all__ = ["BadRequestError", "NotFoundError", "TooManyRequestsError"]
42
+ __all__ = ["BadRequestError", "NotFoundError", "TooManyRequestsError", "UnauthorizedError"]
@@ -0,0 +1,11 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ from ..core.api_error import ApiError
6
+ from ..types.unauthorized_error_body import UnauthorizedErrorBody
7
+
8
+
9
+ class UnauthorizedError(ApiError):
10
+ def __init__(self, body: UnauthorizedErrorBody, headers: typing.Optional[typing.Dict[str, str]] = None):
11
+ super().__init__(status_code=401, headers=headers, body=body)
@@ -96,8 +96,8 @@ class OauthAppsClient:
96
96
  self,
97
97
  *,
98
98
  app: str,
99
- client_id: str,
100
- client_secret: str,
99
+ client_id: typing.Optional[str] = OMIT,
100
+ client_secret: typing.Optional[str] = OMIT,
101
101
  name: typing.Optional[str] = OMIT,
102
102
  description: typing.Optional[str] = OMIT,
103
103
  scopes: typing.Optional[typing.Sequence[str]] = OMIT,
@@ -112,11 +112,11 @@ class OauthAppsClient:
112
112
  app : str
113
113
  The app's ID or name slug. The app must have custom OAuth clients enabled.
114
114
 
115
- client_id : str
116
- The OAuth client ID registered with the upstream provider
115
+ client_id : typing.Optional[str]
116
+ The OAuth client ID registered with the upstream provider. Optional: providers that only issue credentials once they have a callback URL can be registered without one, and the client cannot connect accounts until it is set.
117
117
 
118
- client_secret : str
119
- The OAuth client secret. Write-only; never returned in responses.
118
+ client_secret : typing.Optional[str]
119
+ The OAuth client secret. Optional, like the client ID. Write-only; never returned in responses.
120
120
 
121
121
  name : typing.Optional[str]
122
122
  Display name of the OAuth client
@@ -149,8 +149,6 @@ class OauthAppsClient:
149
149
  )
150
150
  client.oauth_apps.create(
151
151
  app="app",
152
- client_id="client_id",
153
- client_secret="client_secret",
154
152
  )
155
153
  """
156
154
  _response = self._raw_client.create(
@@ -167,7 +165,7 @@ class OauthAppsClient:
167
165
 
168
166
  def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> OauthApp:
169
167
  """
170
- Get the configuration of a specific custom OAuth client
168
+ Get the configuration of a specific OAuth client: one of your custom clients, or a Pipedream official client (see an app's `oauth_app_id`)
171
169
 
172
170
  Parameters
173
171
  ----------
@@ -225,7 +223,7 @@ class OauthAppsClient:
225
223
  Description of the OAuth client
226
224
 
227
225
  client_id : typing.Optional[str]
228
- The OAuth client ID registered with the upstream provider
226
+ The OAuth client ID registered with the upstream provider. Blank values are ignored and the existing client ID is kept.
229
227
 
230
228
  client_secret : typing.Optional[str]
231
229
  The OAuth client secret. Write-only; blank values are ignored and the existing secret is kept.
@@ -394,8 +392,8 @@ class AsyncOauthAppsClient:
394
392
  self,
395
393
  *,
396
394
  app: str,
397
- client_id: str,
398
- client_secret: str,
395
+ client_id: typing.Optional[str] = OMIT,
396
+ client_secret: typing.Optional[str] = OMIT,
399
397
  name: typing.Optional[str] = OMIT,
400
398
  description: typing.Optional[str] = OMIT,
401
399
  scopes: typing.Optional[typing.Sequence[str]] = OMIT,
@@ -410,11 +408,11 @@ class AsyncOauthAppsClient:
410
408
  app : str
411
409
  The app's ID or name slug. The app must have custom OAuth clients enabled.
412
410
 
413
- client_id : str
414
- The OAuth client ID registered with the upstream provider
411
+ client_id : typing.Optional[str]
412
+ The OAuth client ID registered with the upstream provider. Optional: providers that only issue credentials once they have a callback URL can be registered without one, and the client cannot connect accounts until it is set.
415
413
 
416
- client_secret : str
417
- The OAuth client secret. Write-only; never returned in responses.
414
+ client_secret : typing.Optional[str]
415
+ The OAuth client secret. Optional, like the client ID. Write-only; never returned in responses.
418
416
 
419
417
  name : typing.Optional[str]
420
418
  Display name of the OAuth client
@@ -452,8 +450,6 @@ class AsyncOauthAppsClient:
452
450
  async def main() -> None:
453
451
  await client.oauth_apps.create(
454
452
  app="app",
455
- client_id="client_id",
456
- client_secret="client_secret",
457
453
  )
458
454
 
459
455
 
@@ -473,7 +469,7 @@ class AsyncOauthAppsClient:
473
469
 
474
470
  async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> OauthApp:
475
471
  """
476
- Get the configuration of a specific custom OAuth client
472
+ Get the configuration of a specific OAuth client: one of your custom clients, or a Pipedream official client (see an app's `oauth_app_id`)
477
473
 
478
474
  Parameters
479
475
  ----------
@@ -539,7 +535,7 @@ class AsyncOauthAppsClient:
539
535
  Description of the OAuth client
540
536
 
541
537
  client_id : typing.Optional[str]
542
- The OAuth client ID registered with the upstream provider
538
+ The OAuth client ID registered with the upstream provider. Blank values are ignored and the existing client ID is kept.
543
539
 
544
540
  client_secret : typing.Optional[str]
545
541
  The OAuth client secret. Write-only; blank values are ignored and the existing secret is kept.
@@ -135,8 +135,8 @@ class RawOauthAppsClient:
135
135
  self,
136
136
  *,
137
137
  app: str,
138
- client_id: str,
139
- client_secret: str,
138
+ client_id: typing.Optional[str] = OMIT,
139
+ client_secret: typing.Optional[str] = OMIT,
140
140
  name: typing.Optional[str] = OMIT,
141
141
  description: typing.Optional[str] = OMIT,
142
142
  scopes: typing.Optional[typing.Sequence[str]] = OMIT,
@@ -151,11 +151,11 @@ class RawOauthAppsClient:
151
151
  app : str
152
152
  The app's ID or name slug. The app must have custom OAuth clients enabled.
153
153
 
154
- client_id : str
155
- The OAuth client ID registered with the upstream provider
154
+ client_id : typing.Optional[str]
155
+ The OAuth client ID registered with the upstream provider. Optional: providers that only issue credentials once they have a callback URL can be registered without one, and the client cannot connect accounts until it is set.
156
156
 
157
- client_secret : str
158
- The OAuth client secret. Write-only; never returned in responses.
157
+ client_secret : typing.Optional[str]
158
+ The OAuth client secret. Optional, like the client ID. Write-only; never returned in responses.
159
159
 
160
160
  name : typing.Optional[str]
161
161
  Display name of the OAuth client
@@ -238,7 +238,7 @@ class RawOauthAppsClient:
238
238
 
239
239
  def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> HttpResponse[OauthApp]:
240
240
  """
241
- Get the configuration of a specific custom OAuth client
241
+ Get the configuration of a specific OAuth client: one of your custom clients, or a Pipedream official client (see an app's `oauth_app_id`)
242
242
 
243
243
  Parameters
244
244
  ----------
@@ -315,7 +315,7 @@ class RawOauthAppsClient:
315
315
  Description of the OAuth client
316
316
 
317
317
  client_id : typing.Optional[str]
318
- The OAuth client ID registered with the upstream provider
318
+ The OAuth client ID registered with the upstream provider. Blank values are ignored and the existing client ID is kept.
319
319
 
320
320
  client_secret : typing.Optional[str]
321
321
  The OAuth client secret. Write-only; blank values are ignored and the existing secret is kept.
@@ -553,8 +553,8 @@ class AsyncRawOauthAppsClient:
553
553
  self,
554
554
  *,
555
555
  app: str,
556
- client_id: str,
557
- client_secret: str,
556
+ client_id: typing.Optional[str] = OMIT,
557
+ client_secret: typing.Optional[str] = OMIT,
558
558
  name: typing.Optional[str] = OMIT,
559
559
  description: typing.Optional[str] = OMIT,
560
560
  scopes: typing.Optional[typing.Sequence[str]] = OMIT,
@@ -569,11 +569,11 @@ class AsyncRawOauthAppsClient:
569
569
  app : str
570
570
  The app's ID or name slug. The app must have custom OAuth clients enabled.
571
571
 
572
- client_id : str
573
- The OAuth client ID registered with the upstream provider
572
+ client_id : typing.Optional[str]
573
+ The OAuth client ID registered with the upstream provider. Optional: providers that only issue credentials once they have a callback URL can be registered without one, and the client cannot connect accounts until it is set.
574
574
 
575
- client_secret : str
576
- The OAuth client secret. Write-only; never returned in responses.
575
+ client_secret : typing.Optional[str]
576
+ The OAuth client secret. Optional, like the client ID. Write-only; never returned in responses.
577
577
 
578
578
  name : typing.Optional[str]
579
579
  Display name of the OAuth client
@@ -658,7 +658,7 @@ class AsyncRawOauthAppsClient:
658
658
  self, id: str, *, request_options: typing.Optional[RequestOptions] = None
659
659
  ) -> AsyncHttpResponse[OauthApp]:
660
660
  """
661
- Get the configuration of a specific custom OAuth client
661
+ Get the configuration of a specific OAuth client: one of your custom clients, or a Pipedream official client (see an app's `oauth_app_id`)
662
662
 
663
663
  Parameters
664
664
  ----------
@@ -735,7 +735,7 @@ class AsyncRawOauthAppsClient:
735
735
  Description of the OAuth client
736
736
 
737
737
  client_id : typing.Optional[str]
738
- The OAuth client ID registered with the upstream provider
738
+ The OAuth client ID registered with the upstream provider. Blank values are ignored and the existing client ID is kept.
739
739
 
740
740
  client_secret : typing.Optional[str]
741
741
  The OAuth client secret. Write-only; blank values are ignored and the existing secret is kept.
@@ -30,7 +30,11 @@ class OauthTokensClient:
30
30
  self,
31
31
  *,
32
32
  client_id: str,
33
- client_secret: str,
33
+ client_secret: typing.Optional[str] = OMIT,
34
+ client_assertion_type: typing.Optional[
35
+ typing.Literal["urn:ietf:params:oauth:client-assertion-type:jwt-bearer"]
36
+ ] = OMIT,
37
+ client_assertion: typing.Optional[str] = OMIT,
34
38
  scope: typing.Optional[str] = OMIT,
35
39
  request_options: typing.Optional[RequestOptions] = None,
36
40
  ) -> CreateOAuthTokenResponse:
@@ -41,7 +45,14 @@ class OauthTokensClient:
41
45
  ----------
42
46
  client_id : str
43
47
 
44
- client_secret : str
48
+ client_secret : typing.Optional[str]
49
+ The client secret, for clients that authenticate with a client secret.
50
+
51
+ client_assertion_type : typing.Optional[typing.Literal["urn:ietf:params:oauth:client-assertion-type:jwt-bearer"]]
52
+ Required with `client_assertion`.
53
+
54
+ client_assertion : typing.Optional[str]
55
+ For clients that authenticate with a public key: a JWT signed with the client's private key (ES256 or RS256). Claims: `iss` and `sub` set to the client ID, `aud` set to `https://api.pipedream.com`, `exp` at most 1 hour ahead, and a unique `jti`. Sign a new assertion for every request, including retries.
45
56
 
46
57
  scope : typing.Optional[str]
47
58
  Optional space-separated scopes for the access token. Defaults to `*`.
@@ -65,11 +76,15 @@ class OauthTokensClient:
65
76
  )
66
77
  client.oauth_tokens.create(
67
78
  client_id="client_id",
68
- client_secret="client_secret",
69
79
  )
70
80
  """
71
81
  _response = self._raw_client.create(
72
- client_id=client_id, client_secret=client_secret, scope=scope, request_options=request_options
82
+ client_id=client_id,
83
+ client_secret=client_secret,
84
+ client_assertion_type=client_assertion_type,
85
+ client_assertion=client_assertion,
86
+ scope=scope,
87
+ request_options=request_options,
73
88
  )
74
89
  return _response.data
75
90
 
@@ -93,7 +108,11 @@ class AsyncOauthTokensClient:
93
108
  self,
94
109
  *,
95
110
  client_id: str,
96
- client_secret: str,
111
+ client_secret: typing.Optional[str] = OMIT,
112
+ client_assertion_type: typing.Optional[
113
+ typing.Literal["urn:ietf:params:oauth:client-assertion-type:jwt-bearer"]
114
+ ] = OMIT,
115
+ client_assertion: typing.Optional[str] = OMIT,
97
116
  scope: typing.Optional[str] = OMIT,
98
117
  request_options: typing.Optional[RequestOptions] = None,
99
118
  ) -> CreateOAuthTokenResponse:
@@ -104,7 +123,14 @@ class AsyncOauthTokensClient:
104
123
  ----------
105
124
  client_id : str
106
125
 
107
- client_secret : str
126
+ client_secret : typing.Optional[str]
127
+ The client secret, for clients that authenticate with a client secret.
128
+
129
+ client_assertion_type : typing.Optional[typing.Literal["urn:ietf:params:oauth:client-assertion-type:jwt-bearer"]]
130
+ Required with `client_assertion`.
131
+
132
+ client_assertion : typing.Optional[str]
133
+ For clients that authenticate with a public key: a JWT signed with the client's private key (ES256 or RS256). Claims: `iss` and `sub` set to the client ID, `aud` set to `https://api.pipedream.com`, `exp` at most 1 hour ahead, and a unique `jti`. Sign a new assertion for every request, including retries.
108
134
 
109
135
  scope : typing.Optional[str]
110
136
  Optional space-separated scopes for the access token. Defaults to `*`.
@@ -133,13 +159,17 @@ class AsyncOauthTokensClient:
133
159
  async def main() -> None:
134
160
  await client.oauth_tokens.create(
135
161
  client_id="client_id",
136
- client_secret="client_secret",
137
162
  )
138
163
 
139
164
 
140
165
  asyncio.run(main())
141
166
  """
142
167
  _response = await self._raw_client.create(
143
- client_id=client_id, client_secret=client_secret, scope=scope, request_options=request_options
168
+ client_id=client_id,
169
+ client_secret=client_secret,
170
+ client_assertion_type=client_assertion_type,
171
+ client_assertion=client_assertion,
172
+ scope=scope,
173
+ request_options=request_options,
144
174
  )
145
175
  return _response.data