Update OpenAPI spec (2026-06-19)#33
Conversation
Greptile SummaryThis automated PR adds a single new field,
Confidence Score: 4/5Safe to merge — the change is additive and non-breaking; the only open question is whether The diff is a single-field addition to a 400 error response schema. The field is not listed as required, which may be intentional if the token is sometimes absent, but could mislead SDK consumers if the backend always returns it. Everything else in the change is routine bookkeeping. spec/open-api-spec.yaml — specifically whether Important Files Changed
|
| required: | ||
| - connection_ids | ||
There was a problem hiding this comment.
pending_authentication_token missing from required
The new pending_authentication_token field is not listed in the required array alongside connection_ids and email. If this token must always be present when the sso_required error fires — so that the client can link the subsequent SSO leg back to the pending session — leaving it optional means SDK consumers have to handle a null/absent token case that may never actually occur in practice, and could silently produce a broken flow if the backend ever fails to include it.
Is pending_authentication_token always returned when sso_required fires, or are there cases where it can be absent?
Prompt To Fix With AI
This is a comment left during a code review.
Path: spec/open-api-spec.yaml
Line: 11721-11723
Comment:
**`pending_authentication_token` missing from `required`**
The new `pending_authentication_token` field is not listed in the `required` array alongside `connection_ids` and `email`. If this token must always be present when the `sso_required` error fires — so that the client can link the subsequent SSO leg back to the pending session — leaving it optional means SDK consumers have to handle a `null`/absent token case that may never actually occur in practice, and could silently produce a broken flow if the backend ever fails to include it.
Is `pending_authentication_token` always returned when `sso_required` fires, or are there cases where it can be absent?
How can I resolve this? If you propose a fix, please make it concise.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!
SDK compatibility report
Changes by domain
|
| Language | Before | After |
|---|---|---|
| rust 📄 src/models/authorization_code_session_authenticate_request.rs |
AuthorizationCodeSessionAuthenticateRequest.client_secrettype: crate::SecretString |
AuthorizationCodeSessionAuthenticateRequest.client_secrettype: Option<crate::SecretString> |
CreateDataIntegrationTokenParams
Removed methods (2)
| Method | Languages |
|---|---|
CreateDataIntegrationTokenParams |
rust |
CreateDataIntegrationTokenParams.new |
rust |
RefreshTokenSessionAuthenticateRequest
Type changes (1)
RefreshTokenSessionAuthenticateRequest.client_secret type changed (field)
| Language | Before | After |
|---|---|---|
| rust 📄 src/models/refresh_token_session_authenticate_request.rs |
RefreshTokenSessionAuthenticateRequest.client_secrettype: crate::SecretString |
RefreshTokenSessionAuthenticateRequest.client_secrettype: Option<crate::SecretString> |
Additive (119)
ClientApi
| Change | Languages |
|---|---|
ClientApi added (type) |
rust 📄 src/resources/client_api.rs |
ClientApi.client added (field) |
rust 📄 src/resources/client_api.rs |
ClientApiToken added (type) |
rust 📄 src/models/client_api_token.rs |
ClientApiToken.organization_id added (field) |
rust 📄 src/models/client_api_token.rs |
ClientApiToken.user_id added (field) |
rust 📄 src/models/client_api_token.rs |
ClientApiTokenResponse added (type) |
rust 📄 src/models/client_api_token_response.rs |
ClientApiTokenResponse.token added (field) |
rust 📄 src/models/client_api_token_response.rs |
ConfigureDataIntegrationBody
| Change | Languages |
|---|---|
ConfigureDataIntegrationBody added (type) |
rust 📄 src/models/configure_data_integration_body.rs |
ConfigureDataIntegrationBody.client_id added (field) |
rust 📄 src/models/configure_data_integration_body.rs |
ConfigureDataIntegrationBody.client_secret added (field) |
rust 📄 src/models/configure_data_integration_body.rs |
ConfigureDataIntegrationBody.enabled added (field) |
rust 📄 src/models/configure_data_integration_body.rs |
ConfigureDataIntegrationBody.scopes added (field) |
rust 📄 src/models/configure_data_integration_body.rs |
ConnectedAccount
| Change | Languages |
|---|---|
ConnectedAccount.api_key_last_4 added (field) |
rust 📄 src/models/connected_account.rs |
ConnectedAccount.auth_method added (field) |
rust 📄 src/models/connected_account.rs |
ConnectedAccountAuthMethod added (enum) |
rust 📄 src/enums/connected_account_auth_method.rs |
ConnectedAccountAuthMethod.ApiKey added (enum value) |
rust 📄 src/enums/connected_account_auth_method.rs |
ConnectedAccountAuthMethod.OAuth added (enum value) |
rust 📄 src/enums/connected_account_auth_method.rs |
ConnectedAccountAuthMethod.Unknown added (enum value) |
rust 📄 src/enums/connected_account_auth_method.rs |
CreateGroupRoleAssignment
| Change | Languages |
|---|---|
CreateGroupRoleAssignment added (type) |
rust 📄 src/models/create_group_role_assignment.rs |
CreateGroupRoleAssignment.resource_external_id added (field) |
rust 📄 src/models/create_group_role_assignment.rs |
CreateGroupRoleAssignment.resource_id added (field) |
rust 📄 src/models/create_group_role_assignment.rs |
CreateGroupRoleAssignment.resource_type_slug added (field) |
rust 📄 src/models/create_group_role_assignment.rs |
CreateGroupRoleAssignment.role_slug added (field) |
rust 📄 src/models/create_group_role_assignment.rs |
CreateGroupRoleAssignmentParams added (service) |
rust 📄 src/resources/authorization.rs |
CreateGroupRoleAssignmentParams.new(body) added (function) |
rust 📄 src/resources/authorization.rs |
DataIntegrationConfigurationListResponse
| Change | Languages |
|---|---|
DataIntegrationConfigurationListResponse added (type) |
rust 📄 src/models/data_integration_configuration_list_response.rs |
DataIntegrationConfigurationListResponse.data added (field) |
rust 📄 src/models/data_integration_configuration_list_response.rs |
DataIntegrationConfigurationListResponse.object added (field) |
rust 📄 src/models/data_integration_configuration_list_response.rs |
DataIntegrationConfigurationResponse
| Change | Languages |
|---|---|
DataIntegrationConfigurationResponse added (type) |
rust 📄 src/models/data_integration_configuration_response.rs |
DataIntegrationConfigurationResponse.created_at added (field) |
rust 📄 src/models/data_integration_configuration_response.rs |
DataIntegrationConfigurationResponse.credentials added (field) |
rust 📄 src/models/data_integration_configuration_response.rs |
DataIntegrationConfigurationResponse.enabled added (field) |
rust 📄 src/models/data_integration_configuration_response.rs |
DataIntegrationConfigurationResponse.id added (field) |
rust 📄 src/models/data_integration_configuration_response.rs |
DataIntegrationConfigurationResponse.name added (field) |
rust 📄 src/models/data_integration_configuration_response.rs |
DataIntegrationConfigurationResponse.object added (field) |
rust 📄 src/models/data_integration_configuration_response.rs |
DataIntegrationConfigurationResponse.organization_id added (field) |
rust 📄 src/models/data_integration_configuration_response.rs |
DataIntegrationConfigurationResponse.scopes added (field) |
rust 📄 src/models/data_integration_configuration_response.rs |
DataIntegrationConfigurationResponse.slug added (field) |
rust 📄 src/models/data_integration_configuration_response.rs |
DataIntegrationConfigurationResponse.updated_at added (field) |
rust 📄 src/models/data_integration_configuration_response.rs |
DataIntegrationCredentials
| Change | Languages |
|---|---|
DataIntegrationCredentials added (type) |
rust 📄 src/models/data_integration_credentials.rs |
DataIntegrationCredentials.client_id added (field) |
rust 📄 src/models/data_integration_credentials.rs |
DataIntegrationCredentials.client_secret_last_four added (field) |
rust 📄 src/models/data_integration_credentials.rs |
DataIntegrationCredentials.credentials_type added (field) |
rust 📄 src/models/data_integration_credentials.rs |
DataIntegrationCredentials.has_credentials added (field) |
rust 📄 src/models/data_integration_credentials.rs |
DataIntegrationCredentials.redirect_uri added (field) |
rust 📄 src/models/data_integration_credentials.rs |
DataIntegrationCredentialsCredentialsType added (enum) |
rust 📄 src/enums/data_integration_credentials_credentials_type.rs |
DataIntegrationCredentialsCredentialsType.Custom added (enum value) |
rust 📄 src/enums/data_integration_credentials_credentials_type.rs |
DataIntegrationCredentialsCredentialsType.Organization added (enum value) |
rust 📄 src/enums/data_integration_credentials_credentials_type.rs |
DataIntegrationCredentialsCredentialsType.Shared added (enum value) |
rust 📄 src/enums/data_integration_credentials_credentials_type.rs |
DataIntegrationCredentialsCredentialsType.Unknown added (enum value) |
rust 📄 src/enums/data_integration_credentials_credentials_type.rs |
DataIntegrationsListResponseData
| Change | Languages |
|---|---|
DataIntegrationsListResponseData.auth_methods added (field) |
rust 📄 src/models/data_integrations_list_response_data.rs |
DataIntegrationsListResponseDataAuthMethods added (enum) |
rust 📄 src/enums/data_integrations_list_response_data_auth_methods.rs |
DataIntegrationsListResponseDataAuthMethods.ApiKey added (enum value) |
rust 📄 src/enums/data_integrations_list_response_data_auth_methods.rs |
DataIntegrationsListResponseDataAuthMethods.OAuth added (enum value) |
rust 📄 src/enums/data_integrations_list_response_data_auth_methods.rs |
DataIntegrationsListResponseDataAuthMethods.Unknown added (enum value) |
rust 📄 src/enums/data_integrations_list_response_data_auth_methods.rs |
DataIntegrationsListResponseDataConnectedAccount.api_key_last_4 added (field) |
rust 📄 src/models/data_integrations_list_response_data_connected_account.rs |
DataIntegrationsListResponseDataConnectedAccount.auth_method added (field) |
rust 📄 src/models/data_integrations_list_response_data_connected_account.rs |
DataIntegrationsListResponseDataConnectedAccountAuthMethod added (enum) |
rust 📄 src/enums/data_integrations_list_response_data_connected_account_auth_method.rs |
DataIntegrationsListResponseDataConnectedAccountAuthMethod.ApiKey added (enum value) |
rust 📄 src/enums/data_integrations_list_response_data_connected_account_auth_method.rs |
DataIntegrationsListResponseDataConnectedAccountAuthMethod.OAuth added (enum value) |
rust 📄 src/enums/data_integrations_list_response_data_connected_account_auth_method.rs |
DataIntegrationsListResponseDataConnectedAccountAuthMethod.Unknown added (enum value) |
rust 📄 src/enums/data_integrations_list_response_data_connected_account_auth_method.rs |
DeleteGroupRoleAssignmentsByCriteria
| Change | Languages |
|---|---|
DeleteGroupRoleAssignmentsByCriteria added (type) |
rust 📄 src/models/delete_group_role_assignments_by_criteria.rs |
DeleteGroupRoleAssignmentsByCriteria.resource_external_id added (field) |
rust 📄 src/models/delete_group_role_assignments_by_criteria.rs |
DeleteGroupRoleAssignmentsByCriteria.resource_id added (field) |
rust 📄 src/models/delete_group_role_assignments_by_criteria.rs |
DeleteGroupRoleAssignmentsByCriteria.resource_type_slug added (field) |
rust 📄 src/models/delete_group_role_assignments_by_criteria.rs |
DeleteGroupRoleAssignmentsByCriteria.role_slug added (field) |
rust 📄 src/models/delete_group_role_assignments_by_criteria.rs |
DeleteGroupRoleAssignmentsParams
| Change | Languages |
|---|---|
DeleteGroupRoleAssignmentsParams added (service) |
rust 📄 src/resources/authorization.rs |
DeleteGroupRoleAssignmentsParams.new(body) added (function) |
rust 📄 src/resources/authorization.rs |
GetAccessTokenParams
| Change | Languages |
|---|---|
GetAccessTokenParams added (service) |
rust 📄 src/resources/pipes.rs |
GetAccessTokenParams.new(body) added (function) |
rust 📄 src/resources/pipes.rs |
GroupRoleAssignment
| Change | Languages |
|---|---|
GroupRoleAssignment added (type) |
rust 📄 src/models/group_role_assignment.rs |
GroupRoleAssignment.created_at added (field) |
rust 📄 src/models/group_role_assignment.rs |
GroupRoleAssignment.group_id added (field) |
rust 📄 src/models/group_role_assignment.rs |
GroupRoleAssignment.id added (field) |
rust 📄 src/models/group_role_assignment.rs |
GroupRoleAssignment.object added (field) |
rust 📄 src/models/group_role_assignment.rs |
GroupRoleAssignment.resource added (field) |
rust 📄 src/models/group_role_assignment.rs |
GroupRoleAssignment.role added (field) |
rust 📄 src/models/group_role_assignment.rs |
GroupRoleAssignment.updated_at added (field) |
rust 📄 src/models/group_role_assignment.rs |
GroupRoleAssignmentList added (type) |
rust 📄 src/models/group_role_assignment_list.rs |
GroupRoleAssignmentList.data added (field) |
rust 📄 src/models/group_role_assignment_list.rs |
GroupRoleAssignmentList.list_metadata added (field) |
rust 📄 src/models/group_role_assignment_list.rs |
GroupRoleAssignmentList.object added (field) |
rust 📄 src/models/group_role_assignment_list.rs |
GroupRoleAssignmentResource added (type) |
rust 📄 src/models/group_role_assignment_resource.rs |
GroupRoleAssignmentResource.external_id added (field) |
rust 📄 src/models/group_role_assignment_resource.rs |
GroupRoleAssignmentResource.id added (field) |
rust 📄 src/models/group_role_assignment_resource.rs |
GroupRoleAssignmentResource.resource_type_slug added (field) |
rust 📄 src/models/group_role_assignment_resource.rs |
ListGroupRoleAssignmentsParams
| Change | Languages |
|---|---|
ListGroupRoleAssignmentsParams added (type) |
rust 📄 src/resources/authorization.rs |
ListGroupRoleAssignmentsParams.after added (field) |
rust 📄 src/resources/authorization.rs |
ListGroupRoleAssignmentsParams.before added (field) |
rust 📄 src/resources/authorization.rs |
ListGroupRoleAssignmentsParams.limit added (field) |
rust 📄 src/resources/authorization.rs |
ListGroupRoleAssignmentsParams.order added (field) |
rust 📄 src/resources/authorization.rs |
PipesProviderApi
| Change | Languages |
|---|---|
PipesProviderApi added (type) |
rust 📄 src/resources/pipes_provider.rs |
PipesProviderApi.client added (field) |
rust 📄 src/resources/pipes_provider.rs |
ReplaceGroupRoleAssignmentEntry
| Change | Languages |
|---|---|
ReplaceGroupRoleAssignmentEntry added (type) |
rust 📄 src/models/replace_group_role_assignment_entry.rs |
ReplaceGroupRoleAssignmentEntry.resource_external_id added (field) |
rust 📄 src/models/replace_group_role_assignment_entry.rs |
ReplaceGroupRoleAssignmentEntry.resource_id added (field) |
rust 📄 src/models/replace_group_role_assignment_entry.rs |
ReplaceGroupRoleAssignmentEntry.resource_type_slug added (field) |
rust 📄 src/models/replace_group_role_assignment_entry.rs |
ReplaceGroupRoleAssignmentEntry.role_slug added (field) |
rust 📄 src/models/replace_group_role_assignment_entry.rs |
ReplaceGroupRoleAssignments
| Change | Languages |
|---|---|
ReplaceGroupRoleAssignments added (type) |
rust 📄 src/models/replace_group_role_assignments.rs |
ReplaceGroupRoleAssignments.role_assignments added (field) |
rust 📄 src/models/replace_group_role_assignments.rs |
UpdateGroupRoleAssignmentsParams
| Change | Languages |
|---|---|
UpdateGroupRoleAssignmentsParams added (service) |
rust 📄 src/resources/authorization.rs |
UpdateGroupRoleAssignmentsParams.new(body) added (function) |
rust 📄 src/resources/authorization.rs |
UpdateOrganizationDataIntegrationConfigurationParams
| Change | Languages |
|---|---|
UpdateOrganizationDataIntegrationConfigurationParams added (service) |
rust 📄 src/resources/pipes_provider.rs |
UpdateOrganizationDataIntegrationConfigurationParams.new(body) added (function) |
rust 📄 src/resources/pipes_provider.rs |
UserInviteList
| Change | Languages |
|---|---|
UserInviteList added (type) |
rust 📄 src/models/user_invite_list.rs |
UserInviteList.data added (field) |
rust 📄 src/models/user_invite_list.rs |
UserInviteList.list_metadata added (field) |
rust 📄 src/models/user_invite_list.rs |
UserInviteList.object added (field) |
rust 📄 src/models/user_invite_list.rs |
UserInviteListListMetadata added (type) |
rust 📄 src/models/user_invite_list_list_metadata.rs |
UserInviteListListMetadata.after added (field) |
rust 📄 src/models/user_invite_list_list_metadata.rs |
UserInviteListListMetadata.before added (field) |
rust 📄 src/models/user_invite_list_list_metadata.rs |
UserOrganizationMembershipList
| Change | Languages |
|---|---|
UserOrganizationMembershipList added (type) |
rust 📄 src/models/user_organization_membership_list.rs |
UserOrganizationMembershipList.data added (field) |
rust 📄 src/models/user_organization_membership_list.rs |
UserOrganizationMembershipList.list_metadata added (field) |
rust 📄 src/models/user_organization_membership_list.rs |
UserOrganizationMembershipList.object added (field) |
rust 📄 src/models/user_organization_membership_list.rs |
UserOrganizationMembershipListListMetadata added (type) |
rust 📄 src/models/user_organization_membership_list_list_metadata.rs |
UserOrganizationMembershipListListMetadata.after added (field) |
rust 📄 src/models/user_organization_membership_list_list_metadata.rs |
UserOrganizationMembershipListListMetadata.before added (field) |
rust 📄 src/models/user_organization_membership_list_list_metadata.rs |
WidgetSessionTokenScopes
| Change | Languages |
|---|---|
WidgetSessionTokenScopes.WidgetsPipesManage added (enum value) |
rust 📄 src/enums/widget_session_token_scopes.rs |
🤖 I see new OpenAPI changes beep boop
Automated update from https://github.com/workos/workos/tree/816db9000356077d919cab813fdf8980a35c1589
Source PRs
Changes