Skip to content

feat(generated): Add Pipes operations and models#512

Merged
workos-sdk-automation[bot] merged 3 commits into
mainfrom
oagen/batch-80e7e47d
Jul 2, 2026
Merged

feat(generated): Add Pipes operations and models#512
workos-sdk-automation[bot] merged 3 commits into
mainfrom
oagen/batch-80e7e47d

Conversation

@workos-sdk-automation

@workos-sdk-automation workos-sdk-automation Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Summary

feat(pipes): Add Pipes operations and models

  • Added model DataIntegrationCredentialsDto.
  • Added model CustomProviderDefinition.
  • Added model CreateDataIntegration.
  • Added model UpdateCustomProviderDefinition.
  • Added model UpdateDataIntegration.
  • Added model DataIntegration.
  • Added model DataIntegrationList.
  • Added model DataIntegrationListListMetadata.
  • Added model DataIntegrationCredential.
  • Added model DataIntegrationCustomProvider.
  • Added enum DataIntegrationCredentialsType.
  • Added enum CustomProviderDefinitionAuthenticateVia.
  • Added enum UpdateCustomProviderDefinitionAuthenticateVia.
  • Added enum DataIntegrationState.
  • Added enum DataIntegrationCredentialType.
  • Added enum DataIntegrationCustomProviderAuthenticateVia.
  • Added endpoint GET /data-integrations.
  • Added endpoint POST /data-integrations.
  • Added endpoint GET /data-integrations/{slug}.
  • Added endpoint PUT /data-integrations/{slug}.
  • Added endpoint DELETE /data-integrations/{slug}.
  • Added endpoint POST /user_management/users/{user_id}/connected_accounts/{slug}.
  • Added endpoint PUT /user_management/users/{user_id}/connected_accounts/{slug}.

Triggered by workos/openapi-spec@e350eb0

BEGIN_COMMIT_OVERRIDE
feat(pipes): Add Pipes operations and models (#512)
END_COMMIT_OVERRIDE

@workos-sdk-automation workos-sdk-automation Bot added the autogenerated Autogenerated code or content label Jul 2, 2026
@workos-sdk-automation workos-sdk-automation Bot requested review from a team as code owners July 2, 2026 14:59
@workos-sdk-automation workos-sdk-automation Bot added the autogenerated Autogenerated code or content label Jul 2, 2026
@greptile-apps

greptile-apps Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR adds generated Pipes support for data integrations and connected account import/update flows. The main changes are:

  • New SDK methods for listing, creating, reading, updating, and deleting data integrations.
  • New SDK methods for creating and updating user connected accounts.
  • New generated models, enums, RBI files, and round-trip tests for Pipes data integration payloads.

Confidence Score: 4/5

The generated Pipes surface is mostly straightforward, but the data integration update path needs a targeted fix before merge because a documented reset operation is not expressible.

The affected behavior is localized to request body construction for one SDK method, and focused runtime evidence confirms the null field is dropped from the outgoing payload.

lib/workos/pipes.rb

T-Rex T-Rex Logs

What T-Rex did

  • The focused Minitest harness reproduced update_data_integration with nil scopes and captured a request to PUT /data-integrations/stub with an empty body, showing that scopes were omitted rather than serialized as JSON null.
  • The reproduction run produced a verbose test output showing PUT 200 OK and a captured request body of {} without scopes, confirming the observed behavior under nil scopes.
  • The API surface was analyzed before and after the Pipes changes, showing new endpoints being used and non-null JSON bodies, and that a 401 Unauthorized case raises WorkOS::AuthenticationError.
  • New Pipes models and the connected account state enum were added and round-tripped, with the enum constants now limited to CONNECTED, NEEDS_REAUTHORIZATION, and ALL; the prior version included DISCONNECTED and ALL with a string value of "disconnected".

View all artifacts

T-Rex Ran code and verified through T-Rex

Comments Outside Diff (1)

  1. General comment

    P1 ConnectedAccountState no longer exposes DISCONNECTED

    • Bug
      • The public enum WorkOS::Types::ConnectedAccountState regressed on head: base exposed DISCONNECTED = "disconnected" and included it in ALL, but head only exposes CONNECTED, NEEDS_REAUTHORIZATION, and ALL = ["connected", "needs_reauthorization"]. This can break callers referencing WorkOS::Types::ConnectedAccountState::DISCONNECTED or validating disconnected connected-account DTO state values through ALL.
    • Cause
      • lib/workos/types/connected_account_state.rb was regenerated/changed without the DISCONNECTED constant and without "disconnected" in ALL.
    • Fix
      • Restore DISCONNECTED = "disconnected" and include it in ALL unless the API contract intentionally removed this value and a breaking-change path is intended.

    T-Rex Ran code and verified through T-Rex

Prompt To Fix All With AI
Fix the following 1 code review issue. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 1
lib/workos/pipes.rb:132-138
**Preserve explicit null**
`update_data_integration` documents that callers can pass `scopes: nil` to reset scopes, but the request body is built with `.compact`, so `"scopes" => nil` is removed before the `PUT /data-integrations/{slug}` request. That makes the documented reset operation impossible through this SDK; only omitted scopes are sent, which leaves existing scopes unchanged.

Reviews (1): Last reviewed commit: "chore(generated): add release notes frag..." | Re-trigger Greptile

Comment thread lib/workos/pipes.rb
Comment on lines +132 to +138
body = {
"description" => description,
"enabled" => enabled,
"scopes" => scopes,
"credentials" => credentials,
"custom_provider" => custom_provider
}.compact

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.

P1 Preserve explicit null
update_data_integration documents that callers can pass scopes: nil to reset scopes, but the request body is built with .compact, so "scopes" => nil is removed before the PUT /data-integrations/{slug} request. That makes the documented reset operation impossible through this SDK; only omitted scopes are sent, which leaves existing scopes unchanged.

Artifacts

Repro: focused Minitest harness capturing the update_data_integration request body

  • Contains supporting evidence from the run (text/x-ruby; charset=utf-8).

Repro: failing verbose test output showing PUT status 200 OK and captured body {} without scopes

  • Keeps the command output available without making the summary code-heavy.

View artifacts

T-Rex Ran code and verified through T-Rex

Prompt To Fix With AI
This is a comment left during a code review.
Path: lib/workos/pipes.rb
Line: 132-138

Comment:
**Preserve explicit null**
`update_data_integration` documents that callers can pass `scopes: nil` to reset scopes, but the request body is built with `.compact`, so `"scopes" => nil` is removed before the `PUT /data-integrations/{slug}` request. That makes the documented reset operation impossible through this SDK; only omitted scopes are sent, which leaves existing scopes unchanged.

How can I resolve this? If you propose a fix, please make it concise.

@workos-sdk-automation workos-sdk-automation Bot merged commit e371582 into main Jul 2, 2026
7 checks passed
@workos-sdk-automation workos-sdk-automation Bot deleted the oagen/batch-80e7e47d branch July 2, 2026 16:27
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