Skip to content

feat(generated): Changes to pipes - #163

Open
workos-sdk-automation[bot] wants to merge 4 commits into
mainfrom
oagen/batch-a5c70910
Open

workos-sdk-automation[bot] wants to merge 4 commits into
mainfrom
oagen/batch-a5c70910

Conversation

@workos-sdk-automation

@workos-sdk-automation workos-sdk-automation Bot commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Summary

feat(pipes): Change Pipes API surface

  • SDK surface change: Parameter type changed for "body" on "CreateOrganizationConnectedAccountParams.new".
  • SDK surface change: Parameter type changed for "body" on "CreateUserConnectedAccountParams.new".
  • SDK surface change: Parameter type changed for "body" on "UpdateDataIntegrationApiKeyParams.new".
  • SDK surface change: Parameter type changed for "body" on "UpdateDataIntegrationClientCredentialsParams.new".
  • SDK surface change: Parameter type changed for "body" on "UpdateOrganizationConnectedAccountParams.new".

Triggered by workos/openapi-spec@0b0182d

BEGIN_COMMIT_OVERRIDE
feat(pipes): Change Pipes API surface (#163)
END_COMMIT_OVERRIDE

@greptile-apps

greptile-apps Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 4/5

[Medium risk] Regenerated API client types for data integrations.

The PR is not yet safe to merge because reauthorization bodies can still lose the selected connected-account ID.

Findings

  1. P1 Connection selector gets dropped ▶
  2. P2 Creation bodies go unchecked ▶
Fix with agent prompt
### Issue 1
src/models/_unions.rs:72-76
When a caller deserializes an API-key reauthorization body containing `connected_account_id`, this untagged union selects the first variant because it accepts the required fields and ignores the extra selector and intent. The client then sends a body without those fields, so the request can rotate the compatibility connection instead of the selected one. The client-credentials union below has the same problem.

### Issue 2
tests/pipes_test.rs:794-795
The new POST round-trip tests match only the method and path, not the JSON body. They would still pass if `connection_intent: add` or the credential fields stopped being sent, leaving the key request contract of both creation endpoints untested. Please assert the outgoing body in these tests.

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 regenerates the Pipes SDK surface, adding connected-account creation endpoints and changing request and credential models.

  • Since the previous review, the only change removes ! from the pending changelog fragment’s header.

Reviews (2) · Last reviewed commit: "chore(generated): drop breaking marker f..."

Comment thread src/models/_unions.rs
Comment on lines +72 to +76
#[serde(untagged)]
pub enum UpdateDataIntegrationApiKeyParamsBodyOneOf {
DataIntegrationsUpsertApiKeyRequest(DataIntegrationsUpsertApiKeyRequest),
ReauthorizeDataIntegrationsUpsertApiKeyRequest(ReauthorizeDataIntegrationsUpsertApiKeyRequest),
DataIntegrationsUpsertApiKeyRequest2(DataIntegrationsUpsertApiKeyRequest2),

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Connection selector gets dropped
When a caller deserializes an API-key reauthorization body containing connected_account_id, this untagged union selects the first variant because it accepts the required fields and ignores the extra selector and intent. The client then sends a body without those fields, so the request can rotate the compatibility connection instead of the selected one. The client-credentials union below has the same problem.

Prompt To Fix With AI
This is a comment left during a code review.
Path: src/models/_unions.rs
Line: 72-76

Comment:
**Connection selector gets dropped**
When a caller deserializes an API-key reauthorization body containing `connected_account_id`, this untagged union selects the first variant because it accepts the required fields and ignores the extra selector and intent. The client then sends a body without those fields, so the request can rotate the compatibility connection instead of the selected one. The client-credentials union below has the same problem.

---

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

Comment thread tests/pipes_test.rs
Comment on lines 794 to 795
.and(path_matcher("/data-integrations/test_id/api-key"))
.respond_with(

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Creation bodies go unchecked
The new POST round-trip tests match only the method and path, not the JSON body. They would still pass if connection_intent: add or the credential fields stopped being sent, leaving the key request contract of both creation endpoints untested. Please assert the outgoing body in these tests.

Prompt To Fix With AI
This is a comment left during a code review.
Path: tests/pipes_test.rs
Line: 794-795

Comment:
**Creation bodies go unchecked**
The new POST round-trip tests match only the method and path, not the JSON body. They would still pass if `connection_intent: add` or the credential fields stopped being sent, leaving the key request contract of both creation endpoints untested. Please assert the outgoing body in these tests.

---

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 feat(generated): Changes to pipes Sep 25, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

1 participant