Skip to content

feat(generated): Changes to pipes - #450

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: Required parameter "userId" added to "Pipes.createOrganizationConnectedAccount".
  • SDK surface change: Parameter "userId" removed from "Pipes.updateDataIntegrationApiKey".
  • SDK surface change: Parameter "secret" removed from "Pipes.updateDataIntegrationApiKey".
  • SDK surface change: Parameter "organizationId" removed from "Pipes.updateDataIntegrationApiKey".
  • SDK surface change: Parameter "connectedAccountId" removed from "Pipes.updateDataIntegrationApiKey".
  • SDK surface change: Parameter "connectionOwner" removed from "Pipes.updateDataIntegrationApiKey".
  • SDK surface change: Parameter "userId" removed from "Pipes.updateDataIntegrationClientCredentials".
  • SDK surface change: Parameter "clientId" removed from "Pipes.updateDataIntegrationClientCredentials".
  • SDK surface change: Parameter "clientSecret" removed from "Pipes.updateDataIntegrationClientCredentials".
  • SDK surface change: Parameter "organizationId" removed from "Pipes.updateDataIntegrationClientCredentials".
  • SDK surface change: Parameter "connectedAccountId" removed from "Pipes.updateDataIntegrationClientCredentials".
  • SDK surface change: Parameter "connectionOwner" removed from "Pipes.updateDataIntegrationClientCredentials".
  • SDK surface change: Parameter "config" removed from "Pipes.updateDataIntegrationClientCredentials".
  • SDK surface change: Required parameter "userId" added to "Pipes.updateOrganizationConnectedAccount".

Triggered by workos/openapi-spec@0b0182d

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

@workos-sdk-automation
workos-sdk-automation Bot requested review from a team as code owners September 25, 2026 17:40
@workos-sdk-automation workos-sdk-automation Bot added the autogenerated Autogenerated code or content label Sep 25, 2026
@greptile-apps

greptile-apps Bot commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 2/5

[Medium risk] Regenerates data integration API models from spec.

The PR does not appear safe to merge because the previously reported credential-update, connection-targeting, and positional-call defects remain.

Findings

  1. P1 Credential updates send empty bodies ▶
  2. P1 Reauthorization selectors are dropped ▶
  3. P1 Positional organization IDs become intents ▶
  4. P2 Creation tests use invalid intents ▶
Fix with agent prompt
### Issue 1
lib/Service/Pipes.php:undefined-240
When a caller installs or rotates an API key through PUT, this method sends no `user_id` or `secret`. The client-credentials PUT likewise omits `user_id`, `client_id`, and `client_secret`. Both requests lack fields required for the documented upsert, so installation and rotation cannot succeed. The new POST methods are creation-only and cannot rotate an existing connection.

### Issue 2
lib/Service/Pipes.php:undefined-618
When a caller supplies `connectionIntent: 'reauthorize'` and a `connectedAccountId`, this organization update sends neither field. The user update also drops them. The request therefore cannot target the specified connection and may update the compatibility connection instead.

### Issue 3
lib/Service/Pipes.php:undefined-752
For an existing positional `createUserConnectedAccount` call, the organization ID now lands in `connectionIntent` instead of `organizationId`. It is sent as `connection_intent`, which only accepts `add`, so the request is rejected rather than creating the connection.

### Issue 4
tests/Service/PipesTest.php:undefined-90
Both new POST tests pass `test_value` even though the endpoint requires `add`, and they check only that `connection_intent` exists. The tests can therefore pass for requests the API would reject, leaving the new creation contract untested. Use `add` and assert the serialized value.

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

The PR regenerates the Pipes API surface, adding creation endpoints and request models, changing credential response models, and requiring a user ID for organization connected-account operations.

  • Since the previous review, the only change removes ! from the pending changelog heading.
  • No new actionable issue was established from that change.

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

Comment thread lib/Service/Pipes.php
string $slug,
?\WorkOS\RequestOptions $options = null,
): \WorkOS\Resource\ConnectedAccount {
$body = [

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 Credential updates send empty bodies When a caller installs or rotates an API key through PUT, this method sends no user_id or secret. The client-credentials PUT likewise omits user_id, client_id, and client_secret. Both requests lack fields required for the documented upsert, so installation and rotation cannot succeed. The new POST methods are creation-only and cannot rotate an existing connection.

Knowledge Base Used:

Prompt To Fix With AI
This is a comment left during a code review.
Path: lib/Service/Pipes.php
Line: 240

Comment:
**Credential updates send empty bodies** When a caller installs or rotates an API key through PUT, this method sends no `user_id` or `secret`. The client-credentials PUT likewise omits `user_id`, `client_id`, and `client_secret`. Both requests lack fields required for the documented upsert, so installation and rotation cannot succeed. The new POST methods are creation-only and cannot rotate an existing connection.

**Knowledge Base Used:**
- [Application and data integrations](https://app.greptile.com/workos/-/custom-context/knowledge-base/workos/workos-php/-/docs/integrations.md)
- [Connect and data integrations](https://app.greptile.com/workos/-/custom-context/knowledge-base/workos/workos-php/-/docs/connect-and-data-integrations.md)

---

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

Comment thread lib/Service/Pipes.php
?\WorkOS\Resource\PipeConnectedAccountState $state = null,
?bool $supportsMultipleConnections = null,
?string $connectedAccountId = null,
?string $connectionIntent = null,

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 Reauthorization selectors are dropped When a caller supplies connectionIntent: 'reauthorize' and a connectedAccountId, this organization update sends neither field. The user update also drops them. The request therefore cannot target the specified connection and may update the compatibility connection instead.

Knowledge Base Used:

Prompt To Fix With AI
This is a comment left during a code review.
Path: lib/Service/Pipes.php
Line: 618

Comment:
**Reauthorization selectors are dropped** When a caller supplies `connectionIntent: 'reauthorize'` and a `connectedAccountId`, this organization update sends neither field. The user update also drops them. The request therefore cannot target the specified connection and may update the compatibility connection instead.

**Knowledge Base Used:**
- [Application and data integrations](https://app.greptile.com/workos/-/custom-context/knowledge-base/workos/workos-php/-/docs/integrations.md)
- [Connect and data integrations](https://app.greptile.com/workos/-/custom-context/knowledge-base/workos/workos-php/-/docs/connect-and-data-integrations.md)

---

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

Comment thread lib/Service/Pipes.php
?\DateTimeImmutable $expiresAt = null,
?array $scopes = null,
?\WorkOS\Resource\PipeConnectedAccountState $state = null,
?string $connectionIntent = null,

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 Positional organization IDs become intents For an existing positional createUserConnectedAccount call, the organization ID now lands in connectionIntent instead of organizationId. It is sent as connection_intent, which only accepts add, so the request is rejected rather than creating the connection.

Prompt To Fix With AI
This is a comment left during a code review.
Path: lib/Service/Pipes.php
Line: 752

Comment:
**Positional organization IDs become intents** For an existing positional `createUserConnectedAccount` call, the organization ID now lands in `connectionIntent` instead of `organizationId`. It is sent as `connection_intent`, which only accepts `add`, so the request is rejected rather than creating the connection.

---

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

$fixture = $this->loadFixture('connected_account');
$client = $this->createMockClient([['status' => 200, 'body' => $fixture]]);
$result = $client->pipes()->updateDataIntegrationApiKey('test_slug', userId: 'test_value', secret: 'test_value');
$result = $client->pipes()->createDataIntegrationApiKey('test_slug', userId: 'test_value', secret: 'test_value', connectionIntent: 'test_value');

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 Creation tests use invalid intents Both new POST tests pass test_value even though the endpoint requires add, and they check only that connection_intent exists. The tests can therefore pass for requests the API would reject, leaving the new creation contract untested. Use add and assert the serialized value.

Prompt To Fix With AI
This is a comment left during a code review.
Path: tests/Service/PipesTest.php
Line: 90

Comment:
**Creation tests use invalid intents** Both new POST tests pass `test_value` even though the endpoint requires `add`, and they check only that `connection_intent` exists. The tests can therefore pass for requests the API would reject, leaving the new creation contract untested. Use `add` and assert the serialized value.

---

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

Labels

autogenerated Autogenerated code or content

Development

Successfully merging this pull request may close these issues.

1 participant