feat(generated): regenerate from spec (10 changes)#105
Conversation
Greptile SummaryAuto-generated spec regeneration covering 10 changes: several model/enum removals (
Confidence Score: 4/5Safe to merge for all newly added features; the expires_at type mismatch in ApiKeyCreatedData and ApiKeyRevokedData means the Rust SDK does not enforce the required-field contract the changelog promises. The model files api_key_created_data.rs and api_key_revoked_data.rs were not updated in this PR: expires_at remains Option while the spec and changelog both declare it required. Callers who read the changelog and remove their None-handling branches will be relying on a guarantee the types do not enforce. Everything else — removals, new event models, the expire endpoint, user name fields, Snowflake enum addition — looks correct and is consistent with the existing codegen patterns. src/models/api_key_created_data.rs and src/models/api_key_revoked_data.rs — both need expires_at changed from Option to String to match the spec change declared in the changelog. Important Files Changed
|
| /// When the API key should expire. If omitted or in the past, the key expires immediately. Use null to clear a scheduled future expiration. | ||
| #[serde(skip_serializing_if = "Option::is_none", default)] | ||
| pub expires_at: Option<String>, |
There was a problem hiding this comment.
null vs omit distinction lost for clearing expiration
The docstring says "Use null to clear a scheduled future expiration," but #[serde(skip_serializing_if = "Option::is_none")] means a None value is omitted entirely, not serialized as null. A caller who sets expires_at: None to clear a scheduled expiry will instead send {}, which triggers the "expire immediately" branch on the server — silently producing the wrong behavior. There is currently no way through this struct to send {"expires_at": null} to the API.
Summary
feat(authorization): Remove DomainSignUpRateLimit enum value
RadarStandaloneResponseControl::DomainSignUpRateLimitenum variantfeat(directory_sync): Remove deactivation event models
DsyncDeactivatedevent modelDsyncDeactivatedDatamodelDsyncDeactivatedDataDomainmodelDsyncDeactivatedDataTypeenumDsyncDeactivatedDataStateenumfeat(user_management): Remove return_to field from RevokeSession
return_tooptional field fromRevokeSessionstructfeat(api_keys): Make expires_at required in API key events
expires_atfield from optional to required inApiKeyCreatedDataexpires_atfield from optional to required inApiKeyRevokedDatafeat(api_keys): Add expire endpoint and API key updated event
create_api_key_expire()method to expire API keys immediately or schedule future expirationExpireApiKeyrequest modelApiKeyUpdatedevent model withApiKeyUpdatedDatapayloadApiKeyUpdatedDataOwnerandUserApiKeyUpdatedDataOwnerowner typesApiKeyUpdatedDataPreviousAttributeto track previous expiration valuesAPI_KEY_UPDATEDwebhook event type toCreateWebhookEndpointEventsandUpdateWebhookEndpointEventsfeat(directory_sync): Add directory token lifecycle events
DsyncTokenCreatedevent model withDsyncTokenCreatedDatapayloadDsyncTokenRevokedevent model withDsyncTokenRevokedDatapayloadfeat(user_management): Add name field to user models
namefield toUsermodelnamefield toCreateUserrequest modelnamefield toUpdateUserrequest modelnamefield toUserObjectmodelnamefield toEmailChangeConfirmationUsermodelfeat(audit_log_configuration): Add Snowflake log stream type
Snowflakevariant toAuditLogConfigurationLogStreamTypeenumchore(generated): Update docstrings for pagination order parameter
orderparameter across multiple list endpointschore(generated): Update logout URL documentation
GetLogoutUrlParamsdocstring: "session to revoke" → "session"return_toparameter docstring: "after session revocation" → "after logout"Triggered by workos/openapi-spec@dee95fc
BEGIN_COMMIT_OVERRIDE
feat(authorization): Remove DomainSignUpRateLimit enum value (#105)
feat(directory_sync): Remove deactivation event models (#105)
feat(user_management): Remove return_to field from RevokeSession (#105)
feat(api_keys): Make expires_at required in API key events (#105)
feat(api_keys): Add expire endpoint and API key updated event (#105)
feat(directory_sync): Add directory token lifecycle events (#105)
feat(user_management): Add name field to user models (#105)
feat(audit_log_configuration): Add Snowflake log stream type (#105)
chore(generated): Update docstrings for pagination order parameter (#105)
chore(generated): Update logout URL documentation (#105)
END_COMMIT_OVERRIDE