Skip to content

feat(generated): Changes to pipes - #568

Closed
workos-sdk-automation[bot] wants to merge 5 commits into
mainfrom
oagen/batch-67a3d29b
Closed

workos-sdk-automation[bot] wants to merge 5 commits into
mainfrom
oagen/batch-67a3d29b

Conversation

@workos-sdk-automation

@workos-sdk-automation workos-sdk-automation Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Summary

feat(pipes)!: Change Pipes API surface

  • SDK surface change: Symbol "AddDataIntegrationsGetDataIntegrationAuthorizeUrlRequest" was removed.
  • SDK surface change: Symbol "AddDataIntegrationsGetDataIntegrationAuthorizeUrlRequest.account_display_name" was removed.
  • SDK surface change: Symbol "AddDataIntegrationsGetDataIntegrationAuthorizeUrlRequest.config" was removed.
  • SDK surface change: Symbol "AddDataIntegrationsGetDataIntegrationAuthorizeUrlRequest.connection_intent" was removed.
  • SDK surface change: Symbol "AddDataIntegrationsGetDataIntegrationAuthorizeUrlRequest.connection_owner" was removed.
  • SDK surface change: Symbol "AddDataIntegrationsGetDataIntegrationAuthorizeUrlRequest.organization_id" was removed.
  • SDK surface change: Symbol "AddDataIntegrationsGetDataIntegrationAuthorizeUrlRequest.return_to" was removed.
  • SDK surface change: Symbol "AddDataIntegrationsGetDataIntegrationAuthorizeUrlRequest.user_id" was removed.
  • SDK surface change: Symbol "ConnectedAccountWriteResponse" was removed.
  • SDK surface change: Symbol "ConnectedAccountWriteResponse.account_display_name" was removed.
  • SDK surface change: Symbol "ConnectedAccountWriteResponse.account_identifier" was removed.
  • SDK surface change: Symbol "ConnectedAccountWriteResponse.api_key_last_4" was removed.
  • SDK surface change: Symbol "ConnectedAccountWriteResponse.auth_method" was removed.
  • SDK surface change: Symbol "ConnectedAccountWriteResponse.client_id" was removed.
  • SDK surface change: Symbol "ConnectedAccountWriteResponse.client_secret_last_4" was removed.
  • SDK surface change: Symbol "ConnectedAccountWriteResponse.config" was removed.
  • SDK surface change: Symbol "ConnectedAccountWriteResponse.connection_role" was removed.
  • SDK surface change: Symbol "ConnectedAccountWriteResponse.created_at" was removed.
  • SDK surface change: Symbol "ConnectedAccountWriteResponse.established_by_user_id" was removed.
  • SDK surface change: Symbol "ConnectedAccountWriteResponse.id" was removed.
  • SDK surface change: Symbol "ConnectedAccountWriteResponse.object" was removed.
  • SDK surface change: Symbol "ConnectedAccountWriteResponse.organization_id" was removed.
  • SDK surface change: Symbol "ConnectedAccountWriteResponse.scopes" was removed.
  • SDK surface change: Symbol "ConnectedAccountWriteResponse.state" was removed.
  • SDK surface change: Symbol "ConnectedAccountWriteResponse.state_reason" was removed.
  • SDK surface change: Symbol "ConnectedAccountWriteResponse.updated_at" was removed.
  • SDK surface change: Symbol "ConnectedAccountWriteResponse.user_id" was removed.
  • SDK surface change: Symbol "ConnectedAccountWriteResponse.warnings" was removed.
  • SDK surface change: Symbol "DataIntegrationsUpsertApiKeyRequest2" was removed.
  • SDK surface change: Symbol "DataIntegrationsUpsertApiKeyRequest2.account_display_name" was removed.
  • SDK surface change: Symbol "DataIntegrationsUpsertApiKeyRequest2.account_identifier" was removed.
  • SDK surface change: Symbol "DataIntegrationsUpsertApiKeyRequest2.connected_account_id" was removed.
  • SDK surface change: Symbol "DataIntegrationsUpsertApiKeyRequest2.connection_owner" was removed.
  • SDK surface change: Symbol "DataIntegrationsUpsertApiKeyRequest2.organization_id" was removed.
  • SDK surface change: Symbol "DataIntegrationsUpsertApiKeyRequest2.secret" was removed.
  • SDK surface change: Symbol "DataIntegrationsUpsertApiKeyRequest2.user_id" was removed.
  • SDK surface change: Symbol "DataIntegrationsUpsertClientCredentialsRequest2" was removed.
  • SDK surface change: Symbol "DataIntegrationsUpsertClientCredentialsRequest2.account_display_name" was removed.
  • SDK surface change: Symbol "DataIntegrationsUpsertClientCredentialsRequest2.account_identifier" was removed.
  • SDK surface change: Symbol "DataIntegrationsUpsertClientCredentialsRequest2.client_id" was removed.
  • SDK surface change: Symbol "DataIntegrationsUpsertClientCredentialsRequest2.client_secret" was removed.
  • SDK surface change: Symbol "DataIntegrationsUpsertClientCredentialsRequest2.config" was removed.
  • SDK surface change: Symbol "DataIntegrationsUpsertClientCredentialsRequest2.connected_account_id" was removed.
  • SDK surface change: Symbol "DataIntegrationsUpsertClientCredentialsRequest2.connection_owner" was removed.
  • SDK surface change: Symbol "DataIntegrationsUpsertClientCredentialsRequest2.organization_id" was removed.
  • SDK surface change: Symbol "DataIntegrationsUpsertClientCredentialsRequest2.user_id" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsGetDataIntegrationAuthorizeUrlRequest" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsGetDataIntegrationAuthorizeUrlRequest.account_display_name" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsGetDataIntegrationAuthorizeUrlRequest.config" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsGetDataIntegrationAuthorizeUrlRequest.connected_account_id" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsGetDataIntegrationAuthorizeUrlRequest.connection_intent" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsGetDataIntegrationAuthorizeUrlRequest.connection_owner" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsGetDataIntegrationAuthorizeUrlRequest.organization_id" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsGetDataIntegrationAuthorizeUrlRequest.return_to" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsGetDataIntegrationAuthorizeUrlRequest.user_id" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsUpsertApiKeyRequest" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsUpsertApiKeyRequest.account_display_name" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsUpsertApiKeyRequest.account_identifier" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsUpsertApiKeyRequest.connected_account_id" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsUpsertApiKeyRequest.connection_intent" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsUpsertApiKeyRequest.connection_owner" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsUpsertApiKeyRequest.organization_id" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsUpsertApiKeyRequest.secret" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsUpsertApiKeyRequest.user_id" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsUpsertClientCredentialsRequest" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsUpsertClientCredentialsRequest.account_display_name" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsUpsertClientCredentialsRequest.account_identifier" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsUpsertClientCredentialsRequest.client_id" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsUpsertClientCredentialsRequest.client_secret" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsUpsertClientCredentialsRequest.config" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsUpsertClientCredentialsRequest.connected_account_id" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsUpsertClientCredentialsRequest.connection_intent" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsUpsertClientCredentialsRequest.connection_owner" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsUpsertClientCredentialsRequest.organization_id" was removed.
  • SDK surface change: Symbol "ReauthorizeDataIntegrationsUpsertClientCredentialsRequest.user_id" was removed.

feat(pipes): Add Pipes operations and models

  • Added model DataIntegrationFinishConnectionResponse.
  • Added model DataIntegrationsFinishConnectionRequest.
  • Added model DataIntegrationsFinishConnectionError400.
  • Added model DataIntegrationsFinishConnectionError4002.
  • Added model DataIntegrationsFinishConnectionError403.
  • Added model DataIntegrationsGetDataIntegrationAuthorizeUrlError4002.
  • Added completion to DataIntegrationAuthorizeUrlResponse.
  • Added code_challenge to DataIntegrationsGetDataIntegrationAuthorizeUrlRequest.
  • Added code_challenge_method to DataIntegrationsGetDataIntegrationAuthorizeUrlRequest.
  • Added code to DataIntegrationsGetDataIntegrationAuthorizeUrlError400.
  • Added enum DataIntegrationsFinishConnectionError400Code.
  • Added enum DataIntegrationsGetDataIntegrationAuthorizeUrlError400Code.
  • Added endpoint POST /data-integrations/finish.

fix(pipes): Update Pipes API surface

  • Changed the type of DataIntegrationsGetDataIntegrationAuthorizeUrlError400.message.
  • Changed errors for endpoint POST /data-integrations/{slug}/authorize.

Triggered by workos/openapi-spec@7121685

BEGIN_COMMIT_OVERRIDE
feat(pipes): Change Pipes API surface (#568)
feat(pipes): Add Pipes operations and models (#568)
fix(pipes): Update Pipes API surface (#568)
END_COMMIT_OVERRIDE

…iKeys, AuditLogs, Authorization, ClientApi, Connect, DirectorySync, Events, FeatureFlags, Groups, MultiFactorAuth, OrganizationDomains, OrganizationMembership, Organizations, Pipes, PipesProvider, PlatformTeams, Radar, SSO, UserManagement, Vault, Webhooks, Widgets
@workos-sdk-automation workos-sdk-automation Bot added the autogenerated Autogenerated code or content label Oct 29, 2026
@workos-sdk-automation
workos-sdk-automation Bot requested review from a team as code owners October 29, 2026 18:15
@greptile-apps

greptile-apps Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 4/5

[Medium impact] The PR changes several SDK workflows, with most new behavior centered on Pipes connections.

The PR appears safe to merge, with non-blocking gaps in tests for connection completion and role edits.

Findings

  1. P2 Connection tests miss wrong requests ▶
  2. P2 Role tests miss wrong changes ▶
Fix with agent prompt
### Issue 1
test/workos/test_pipes.rb:28-32
The new `create_finish` test accepts any request body and returns an empty response. It would still pass if `connect_code` or `code_verifier` were missing or swapped.

Add body assertions for both values and optional `state`, return a populated `connected_account`, and check its ID. Also test `authorize_data_integration` with `code_challenge` and `code_challenge_method`. Model round trips alone do not check what these methods send.

### Issue 2
test/workos/test_authorization.rb:35-39
The new `patch_group_role_assignments` test sends neither `add` nor `remove` and never checks the body. Its model test also uses empty arrays. Dropping or swapping the two fields would leave every new test passing.

Add a request test with different, non-empty entries in both arrays and assert the exact body.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Summary

Adds a two-step Pipes connection flow and updates the generated SDK surface.

  • Apps can finish a Pipes connection with a short-lived code.
  • Pipes account calls use one connected-account response and target exact connections.
  • Connect applications can set browser origins for token calls.
  • User email calls can choose the message locale.
  • Apps can add or remove a group's role assignments in one call.

Acknowledged intentional changes: workos-sdk-automation[bot] explicitly announced the removed Pipes models as breaking changes.

Diagram

sequenceDiagram
  participant App
  participant WorkOS
  participant User
  App->>WorkOS: authorize_data_integration with code_challenge
  WorkOS-->>App: Authorization URL and completion mode
  App->>User: Open authorization URL
  User->>WorkOS: Authorize connection
  WorkOS-->>App: Redirect with connect_code and state
  App->>WorkOS: create_finish with connect_code and code_verifier
  WorkOS-->>App: Saved connected_account
Loading

Reviews (2) · Last reviewed commit: "chore(generated): add release notes frag..." · Reviewed by Greptile

Comment thread test/workos/test_pipes.rb
Comment on lines +28 to +32
def test_create_finish_returns_expected_result
stub_request(:post, %r{\Ahttps://api\.workos\.com/data-integrations/finish(\?|\z)})
.to_return(body: "{}", status: 200)
result = @client.pipes.create_finish(connect_code: "stub", code_verifier: "stub")
refute_nil result

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Broken requests still pass tests

The new create_finish test accepts any request body and returns {}, so it passes even if the method drops connect_code or code_verifier, or fails to read the returned account. Add body assertions and a populated response, then check result.connected_account.id. Also cover code_challenge and code_challenge_method on authorize_data_integration; the model tests do not check what either method sends. This is non-blocking, but would help catch changes that break connection setup.

Prompt To Fix With AI
This is a comment left during a code review.
Path: test/workos/test_pipes.rb
Line: 28-32

Comment:
**Broken requests still pass tests**

The new `create_finish` test accepts any request body and returns `{}`, so it passes even if the method drops `connect_code` or `code_verifier`, or fails to read the returned account. Add body assertions and a populated response, then check `result.connected_account.id`. Also cover `code_challenge` and `code_challenge_method` on `authorize_data_integration`; the model tests do not check what either method sends. This is non-blocking, but would help catch changes that break connection setup.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Comment thread test/workos/test_pipes.rb
Comment on lines +28 to +32
def test_create_finish_returns_expected_result
stub_request(:post, %r{\Ahttps://api\.workos\.com/data-integrations/finish(\?|\z)})
.to_return(body: "{}", status: 200)
result = @client.pipes.create_finish(connect_code: "stub", code_verifier: "stub")
refute_nil result

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Connection tests miss wrong requests

The new create_finish test accepts any request body and returns an empty response. It would still pass if connect_code or code_verifier were missing or swapped.

Add body assertions for both values and optional state, return a populated connected_account, and check its ID. Also test authorize_data_integration with code_challenge and code_challenge_method. Model round trips alone do not check what these methods send.

Prompt To Fix With AI
This is a comment left during a code review.
Path: test/workos/test_pipes.rb
Line: 28-32

Comment:
**Connection tests miss wrong requests**

The new `create_finish` test accepts any request body and returns an empty response. It would still pass if `connect_code` or `code_verifier` were missing or swapped.

Add body assertions for both values and optional `state`, return a populated `connected_account`, and check its ID. Also test `authorize_data_integration` with `code_challenge` and `code_challenge_method`. Model round trips alone do not check what these methods send.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Comment on lines +35 to +39
def test_patch_group_role_assignments_returns_expected_result
stub_request(:patch, %r{\Ahttps://api\.workos\.com/authorization/groups/stub/role_assignments(\?|\z)})
.to_return(body: "{}", status: 200)
result = @client.authorization.patch_group_role_assignments(group_id: "stub")
assert_nil result

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Role tests miss wrong changes

The new patch_group_role_assignments test sends neither add nor remove and never checks the body. Its model test also uses empty arrays. Dropping or swapping the two fields would leave every new test passing.

Add a request test with different, non-empty entries in both arrays and assert the exact body.

Prompt To Fix With AI
This is a comment left during a code review.
Path: test/workos/test_authorization.rb
Line: 35-39

Comment:
**Role tests miss wrong changes**

The new `patch_group_role_assignments` test sends neither `add` nor `remove` and never checks the body. Its model test also uses empty arrays. Dropping or swapping the two fields would leave every new test passing.

Add a request test with different, non-empty entries in both arrays and assert the exact body.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

@gjtorikian gjtorikian changed the title feat(generated)!: Changes to pipes feat(generated): Changes to pipes Oct 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autogenerated Autogenerated code or content

Development

Successfully merging this pull request may close these issues.

0 participants