Migrate Users API to v2#1
Conversation
- Add required tenant_id header to GET /users
- Change userId type from string to integer
- Remove DELETE /users/{userId} (use soft delete)
- Change User.id from string to integer
- Rename User.name to User.display_name
- Remove 'editor' from role enum
- Add required tenant_id to User schema
- Add new /v2/users endpoint
🔴 MAJOR — Breaking Changes Detected7 changes · 6 breaking · 1 additive · next: Breaking Changes
📋 Migration guideMigration Guide: Users API (1.0.0 -> 2.0.0)This release contains 6 breaking change(s). Step 1: Required Param AddedChange: Required parameter added: tenant_id to /users:GET Action: All existing requests must now include this parameter. Update every call site to pass the new required value. Step 2: Method RemovedChange: Method removed: DELETE /users/{userId} Action: Update clients using this HTTP method. Check if an alternative method is available on the same path. Step 3: Type ChangedChange: Parameter type changed: userId from string to integer Action: Update serialization/deserialization logic for the new type. Check all type assertions, validators, and database column types. Step 4: Required Field AddedChange: New required field 'tenant_id' added at #/components/schemas/User Action: If this is a request body field, include it in all requests. If this is a response field, update parsers to handle the new field. Step 5: Enum Value RemovedChange: Enum value 'editor' removed at #/components/schemas/User.role Action: Stop sending the removed enum value. Update any switch/case or if/else blocks that handle it. Step 6: Type ChangedChange: Type changed from string to integer at #/components/schemas/User.id Action: Update serialization/deserialization logic for the new type. Check all type assertions, validators, and database column types. After completing all steps, run your integration tests to verify. ✅ New additions (1)
Delimit · API governance for CI/CD |
Summary
Migrating the Users API from v1 to v2 with multi-tenant support.
Breaking Changes
tenant_idheader toGET /usersuserIdpath parameter fromstringtointegerDELETE /users/{userId}(replaced with soft delete via PATCH)User.idfromstringtointegereditorfrom role enum (consolidated intoadmin)tenant_idfield to User schemaNew
GET /v2/usersendpointDelimit will automatically detect these breaking changes and post a migration guide below.