Skip to content

Update OpenAPI spec (38af0ca) - #165

Open
workos-sdk-automation[bot] wants to merge 1 commit into
mainfrom
update-spec-20260911-191354-34637622124
Open

Update OpenAPI spec (38af0ca)#165
workos-sdk-automation[bot] wants to merge 1 commit into
mainfrom
update-spec-20260911-191354-34637622124

Conversation

@workos-sdk-automation

Copy link
Copy Markdown
Contributor

🤖 I see new OpenAPI changes beep boop

Automated update from https://github.com/workos/workos/tree/38af0cabe5fd7314a2a54e277b419b3ff66b09ce

Source PRs

  • workos/workos#71978
  • workos/workos#72198
Changes



├─┬Paths
│ ├──[➕] {id} (17619:3)
│ ├──[➕] authkit_oauth_resources (17440:3)
│ ├──[➕] organization (11192:3)
│ ├─┬/data-integrations/{slug}
│ │ ├─┬GET
│ │ │ └──[🔀] description (10462:20)
│ │ ├─┬PUT
│ │ │ └──[🔀] description (10499:20)
│ │ └─┬DELETE
│ │   └──[🔀] description (10599:20)
│ └─┬/data-integrations
│   └─┬GET
│     ├──[🔀] description (10352:20)
│     ├─┬Parameters
│     │ └──[➕] ownership (10406:17)
│     └─┬Responses
│       ├──[➕] 404 (10429:11)
│       └──[➕] 422 (10444:11)
├─┬Tags
│ └──[➕] user-management.authkit-oauth-resources (24908:5)
└─┬Components
  ├──[➕] schemas/CreateAuthkitOauthResourceDto (27395:7)
  ├──[➕] schemas/AuthkitOauthResource (44416:7)
  └─┬Schemas
    ├─┬DataIntegration
    │ └─┬Properties
    │   └─┬ownership
    │     ├──[🔀] example (43099:20)
    │     ├──[➕] enum (43093:15)
    │     ├──[➖] enum (42537:15)❌ 
    │     └──[🔀] description (43095:24)
    └─┬CreateDataIntegrationDto
      └─┬Properties
        └─┬ownership
          ├──[🔀] example (27091:20)
          ├──[➕] enum (27083:15)
          ├──[➖] enum (26547:15)❌ 
          └──[🔀] description (27085:24)


| Document Element | Total Changes | Breaking Changes |
|------------------|---------------|------------------|
| paths            | 10            | 0                |
| tags             | 1             | 0                |
| components       | 10            | 2                |

Date: 09/11/26 | Commit: Update OpenAPI spec from workos/workos@38af0cabe5fd7314a2a54e277b419b3ff66b09ce

- ❌ **BREAKING Changes**: _2_ out of _21_
- **Modifications**: _8_
- **Removals**: _2_
- **Additions**: _11_
- **Breaking Removals**: _2_

ERROR: breaking changes discovered

@greptile-apps

greptile-apps Bot commented Sep 11, 2026

Copy link
Copy Markdown

RetriggerConfidence Score: 4/5

The PR appears safe to merge after non-blocking improvements to the new list-response contract and conflict-response documentation.

Findings

  1. P2 List fields are optional
  2. P2 Conflict response is undocumented
Fix with agent prompt
### Issue 1
spec/open-api-spec.yaml:17560-17600
The successful response does not require `object`, `list_metadata`, or `data`. OpenAPI generators may therefore expose these list-envelope fields as optional, even though clients need them to process records and pagination. Add `required` declarations to both `allOf` members, consistent with the repository's other list-response schemas.

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!

### Issue 2
spec/open-api-spec.yaml:11381-11391
The new `409` response has an empty description, and its only example describes an unrelated organization-not-found error. Generated API documentation therefore cannot explain which update conflict callers should handle. Document the actual conflict condition and provide a representative message.

---

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

Summary

  • Adds organization-owned data-integration retrieval, update, and deletion operations.
  • Adds AuthKit OAuth resource creation, listing, and deletion contracts.
  • Renames the Data Integration ownership value from userland_user to user.
  • Updates the recorded upstream synchronization SHA.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  Client[API client]
  Client --> DIList[GET /data-integrations]
  Client --> UserRoot["/data-integrations/{slug}"]
  Client --> OrgRoot["/data-integrations/{slug}/organization"]
  Client --> OAuthResources["/user_management/authkit_oauth_resources"]
  DIList --> Ownership{ownership filter}
  Ownership --> UserOwned[user-owned roots]
  Ownership --> OrgOwned[organization-owned roots]
  OAuthResources --> Create[Create resource]
  OAuthResources --> List[List resources]
  OAuthResources --> Delete["Delete resource by ID"]
Loading

Reviews (1) · Last reviewed commit: "Update OpenAPI spec from workos/workos@3..."

Comment thread spec/open-api-spec.yaml
Comment on lines +17560 to +17600
allOf:
- type: object
properties:
object:
type: string
description: Indicates this is a list response.
const: list
list_metadata:
type: object
properties:
before:
type:
- string
- 'null'
description: >-
An object ID that defines your place in the list.
When the ID is not present, you are at the start
of the list.
example: authkit_oauth_resource_01HXYZ123456789ABCDEFGHIJ
after:
type:
- string
- 'null'
description: >-
An object ID that defines your place in the list.
When the ID is not present, you are at the end of
the list.
example: authkit_oauth_resource_01HXYZ987654321KJIHGFEDCBA
required:
- before
- after
description: >-
Pagination cursors for navigating between pages of
results.
- type: object
properties:
data:
type: array
description: The list of records for the current page.
items:
$ref: '#/components/schemas/AuthkitOauthResource'

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 List fields are optional

The successful response does not require object, list_metadata, or data. OpenAPI generators may therefore expose these list-envelope fields as optional, even though clients need them to process records and pagination. Add required declarations to both allOf members, consistent with the repository's other list-response schemas.

Prompt To Fix With AI
This is a comment left during a code review.
Path: spec/open-api-spec.yaml
Line: 17560-17600

Comment:
**List fields are optional**

The successful response does not require `object`, `list_metadata`, or `data`. OpenAPI generators may therefore expose these list-envelope fields as optional, even though clients need them to process records and pagination. Add `required` declarations to both `allOf` members, consistent with the repository's other list-response schemas.

---

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 spec/open-api-spec.yaml
Comment on lines +11381 to +11391
'409':
description: ''
content:
application/json:
schema:
type: object
properties:
message:
type: string
description: A human-readable description of the error.
example: 'Organization not found: ''org_01EHQMYV6MBK39QC5PZXHY59C3''.'

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 Conflict response is undocumented

The new 409 response has an empty description, and its only example describes an unrelated organization-not-found error. Generated API documentation therefore cannot explain which update conflict callers should handle. Document the actual conflict condition and provide a representative message.

Prompt To Fix With AI
This is a comment left during a code review.
Path: spec/open-api-spec.yaml
Line: 11381-11391

Comment:
**Conflict response is undocumented**

The new `409` response has an empty description, and its only example describes an unrelated organization-not-found error. Generated API documentation therefore cannot explain which update conflict callers should handle. Document the actual conflict condition and provide a representative message.

---

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

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.

0 participants