Skip to content

feat(generated): Changes to pipes and user_management - #758

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

workos-sdk-automation[bot] wants to merge 6 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: Parameter "body" renamed to "user_id" on "Pipes.authorize_data_integration".
  • SDK surface change: Parameter "body" renamed to "user_id" on "Pipes.update_data_integration_api_key".
  • SDK surface change: Required parameter "secret" added to "Pipes.update_data_integration_api_key".
  • SDK surface change: Parameter "body" renamed to "user_id" on "Pipes.update_data_integration_client_credentials".
  • SDK surface change: Required parameter "client_id" added to "Pipes.update_data_integration_client_credentials".
  • SDK surface change: Required parameter "client_secret" added to "Pipes.update_data_integration_client_credentials".
  • 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(user_management)!: Change user management API surface

  • SDK surface change: Parameter "limit" removed from "UserManagement.list_waitlists".
  • SDK surface change: Parameter "before" removed from "UserManagement.list_waitlists".
  • SDK surface change: Parameter "after" removed from "UserManagement.list_waitlists".
  • SDK surface change: Parameter "order" removed from "UserManagement.list_waitlists".

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 (#758)
feat(user_management): Change user management API surface (#758)
feat(pipes): Add Pipes operations and models (#758)
fix(pipes): Update Pipes API surface (#758)
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:14
@greptile-apps

greptile-apps Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 4/5

[High impact] The refresh changes caller-facing contracts across several WorkOS SDK services.

The PR appears safe to merge, with a non-blocking gap in tests for the new Pipes connection flow.

Findings

  1. P2 Challenge fields remain untested ▶
Fix with agent prompt
### Issue 1
tests/test_pipes.py:179-187
This test expects `completion="finish_required"` without sending `code_challenge`, so it never exercises the new connection flow. Add sync and async cases that pass `code_challenge`, `code_challenge_method`, and `return_to`, then assert those values reach the request body. Keep a separate case without a challenge where `completion` is absent. Otherwise, dropping any of these new request fields would leave the tests passing.

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!

---

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

Summary

This PR adds the Pipes finish-connection flow and changes the generated API surface.

  • Apps can finish a Pipes connection with a short-lived code and verifier.
  • Group role assignments can be added and removed in one atomic request.
  • Pipes credential calls use named inputs and return connected accounts.
  • Waitlist listing returns all waitlists in one response.
  • OAuth applications can set which browser origins may call the token endpoint.
  • Generated SDK models and API definitions are refreshed across WorkOS services.

workos-sdk-automation[bot] explicitly describes the Pipes argument changes, removed models, and removed waitlist pagination arguments as intentional breaking changes.

Diagram

sequenceDiagram
    participant App
    participant WorkOS
    participant User
    App->>WorkOS: Authorize with code_challenge and return_to
    WorkOS-->>App: URL and finish_required
    App->>User: Redirect to authorization URL
    User->>WorkOS: Authorize provider 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 tests/test_pipes.py
Comment on lines 179 to +187
result = workos.pipes.authorize_data_integration(
"test_slug",
body=load_fixture(
"data_integrations_get_data_integration_authorize_url_request.json"
),
"test_slug", user_id="test_user_id"
)
assert isinstance(result, DataIntegrationAuthorizeUrlResponse)
assert (
result.url
== "https://api.workos.com/data-integrations/q2czJKmVAraSBg8xFpT7M9uR/authorize-redirect"
)
assert result.completion == "finish_required"

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 Challenge fields go untested

Both authorization tests expect completion="finish_required" without sending code_challenge. Neither checks that code_challenge, code_challenge_method, and return_to reach the request body. Dropping the challenge could switch back to saving the connection immediately while these tests still pass.

Add sync and async tests that send these fields and inspect the body. Also test a response without completion for the ordinary flow.

Prompt To Fix With AI
This is a comment left during a code review.
Path: tests/test_pipes.py
Line: 179-187

Comment:
**Challenge fields go untested**

Both authorization tests expect `completion="finish_required"` without sending `code_challenge`. Neither checks that `code_challenge`, `code_challenge_method`, and `return_to` reach the request body. Dropping the challenge could switch back to saving the connection immediately while these tests still pass.

Add sync and async tests that send these fields and inspect the body. Also test a response without `completion` for the ordinary flow.

---

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

Comment thread tests/test_pipes.py
Comment on lines 179 to +187
result = workos.pipes.authorize_data_integration(
"test_slug",
body=load_fixture(
"data_integrations_get_data_integration_authorize_url_request.json"
),
"test_slug", user_id="test_user_id"
)
assert isinstance(result, DataIntegrationAuthorizeUrlResponse)
assert (
result.url
== "https://api.workos.com/data-integrations/q2czJKmVAraSBg8xFpT7M9uR/authorize-redirect"
)
assert result.completion == "finish_required"

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 Challenge fields remain untested

This test expects completion="finish_required" without sending code_challenge, so it never exercises the new connection flow. Add sync and async cases that pass code_challenge, code_challenge_method, and return_to, then assert those values reach the request body. Keep a separate case without a challenge where completion is absent. Otherwise, dropping any of these new request fields would leave the tests passing.

Prompt To Fix With AI
This is a comment left during a code review.
Path: tests/test_pipes.py
Line: 179-187

Comment:
**Challenge fields remain untested**

This test expects `completion="finish_required"` without sending `code_challenge`, so it never exercises the new connection flow. Add sync and async cases that pass `code_challenge`, `code_challenge_method`, and `return_to`, then assert those values reach the request body. Keep a separate case without a challenge where `completion` is absent. Otherwise, dropping any of these new request fields would leave the tests passing.

---

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!

@gjtorikian gjtorikian changed the title feat(generated)!: Changes to pipes and user_management feat(generated): Changes to pipes and user_management 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