Repository: svix/svix-webhooks (language: rust)

Issue:
Libs: add support for the new PATCH methods
We already support PATCH, we need to now add support for it in the libs. Probably call it 'patch', 'partial', or 'partialUpdate`, the same way we currently have "update".

- [x] What does the struct look like? (it's automatically generated by the libs generator, but how does it look like in terms of unset fields in different languages?)
- [x] How should we name these functions?
- [x] Documentation on api.svix.com


Discussion / hints:

Fix patch:
diff --git a/csharp/Svix/Abstractions/IApplication.cs b/csharp/Svix/Abstractions/IApplication.cs
index 468f5289d..08b485908 100644
--- a/csharp/Svix/Abstractions/IApplication.cs
+++ b/csharp/Svix/Abstractions/IApplication.cs
@@ -32,5 +32,10 @@ Task<ApplicationOut> GetAsync(string appId, string idempotencyKey = default,
 
         Task<ApplicationOut> UpdateAsync(string appId, ApplicationIn application, string idempotencyKey = default,
             CancellationToken cancellationToken = default);
+
+        ApplicationOut Patch(string appId, ApplicationPatch application, string idempotencyKey = default);
+
+        Task<ApplicationOut> PatchAsync(string appId, ApplicationPatch application, string idempotencyKey = default,
+            CancellationToken cancellationToken = default);
     }
 }
diff --git a/csharp/Svix/Abstractions/IEndpoint.cs b/csharp/Svix/Abstractions/IEndpoint.cs
index 63f6424c6..fba757c25 100644
--- a/csharp/Svix/Abstractions/IEndpoint.cs
+++ b/csharp/Svix/Abstractions/IEndpoint.cs
@@ -58,6 +58,11 @@ Task<bool> RotateSecretAsync(string appId, string endpointId, EndpointSecretRota
         Task<EndpointOut> UpdateAsync(string appId, string endpointId, EndpointUpdate endpoint, string idempotencyKey = default,
             CancellationToken cancellationToken = default);
 
+        EndpointOut Patch(string appId, string endpointId, EndpointPatch endpoint, string idempotencyKey = default);
+
+        Task<EndpointOut> PatchAsync(string appId, string endpointId, EndpointPatch endpoint, string idempotencyKey = default,
+            CancellationToken cancellationToken = default);
+
         bool UpdateHeaders(string appId, string endpointId, EndpointHeadersIn headers, string idempotencyKey = default);
 
         Task<bool> UpdateHeadersAsync(string appId, string endpointId, EndpointHeadersIn headers,
diff --git a/csharp/Svix/Abstractions/IEventType.cs b/csharp/Svix/Abstractions/IEventType.cs
index 2fecdfc71..60aa73e70 100644
--- a/csharp/Svix/Abstractions/IEventType.cs
+++ b/csharp/Svix/Abstractions/IEventType.cs
@@ -32,5 +32,10 @@ Task<List<EventTypeOut>> ListAsync(EventTypeListOptions options = null, string i
 
         Task<EventTypeOut> UpdateAsync(string eventType, EventTypeUpdate update, string idempotencyKey = default,
             CancellationToken cancellationToken = default);
+
+        EventTypeOut Patch(string eventType, EventTypePatch update, string idempotencyKey = default);
+
+        Task<EventTypeOut> PatchAsync(string eventType, EventTypePatch update, string idempotencyKey = default,
+            CancellationToken cancellationToken = default);
     }
 }
diff --git a/csharp/Svix/Application.cs b/csharp/Svix/Application.cs
index e395e312d..ef70d4436 100644
--- a/csharp/Svix/Application.cs
+++ b/csharp/Svix/Application.cs
@@ -236,5 +236,48 @@ public async Task<ApplicationOut> UpdateAsync(string appId, ApplicationIn applic
                 return null;
             }
         }
+
+        public ApplicationOut Patch(string appId, ApplicationPatch application, string idempotencyKey = default)
+        {
+            try
+            {
+                var lApplication = _applicationApi.V1ApplicationPatch(
+                    appId,
+                    application);
+
+                return lApplication;
+            }
+            catch (ApiException e)
+            {
+                Logger?.LogError(e, $"{nameof(Patch)} failed");
+
+                if (Throw)
+                    throw;
+
+                return null;
+            }
+        }
+
+        public async Task<ApplicationOut> PatchAsync(string appId, ApplicationPatch application, string idempotencyKey = default, CancellationToken cancellationToken = default)
+        {
+            try
+            {
+                var lApplication = await _applicationApi.V1ApplicationPatchAsync(
+                    appId,
+                    application,
+                    cancellationToken);
+
+                return lApplication;
+            }
+            catch (ApiException e)
+            {
+                Logger?.LogError(e, $"{nameof(PatchAsync)} failed");
+
+                if (Throw)
+                    throw;
+
+                return null;
+            }
+        }
     }
 }
diff --git a/csharp/Svix/Endpoint.cs b/csharp/Svix/Endpoint.cs
index 93791b70d..e3ddcd63d 100644
--- a/csharp/Svix/Endpoint.cs
+++ b/csharp/Svix/Endpoint.cs
@@ -479,6 +479,52 @@ public async Task<EndpointOut> UpdateAsync(string appId, string endpointId, Endp
             }
         }
 
+        public EndpointOut Patch(string appId, string endpointId, EndpointPatch endpoint, string idempotencyKey = default)
+        {
+            try
+            {
+                var lEndpoint = _endpointApi.V1EndpointPatch(
+                    appId,
+                    endpointId,
+                    endpoint);
+
+                return lEndpoint;
+            }
+            catch (ApiException e)
+            {
+                Logger?.LogError(e, $"{nameof(Patch)} failed");
+
+                if (Throw)
+                    throw;
+
+                return null;
+            }
+        }
+
+        public async Task<EndpointOut> PatchAsync(string appId, string endpointId, EndpointPatch endpoint, string idempotencyKey = default,
+            CancellationToken cancellationToken = default)
+        {
+            try
+            {
+                var lEndpoint = await _endpointApi.V1EndpointPatchAsync(
+                    appId,
+                    endpointId,
+                    endpoint,
+                    cancellationToken);
+
+                return lEndpoint;
+            }
+            catch (ApiException e)
+            {
+                Logger?.LogError(e, $"{nameof(PatchAsync)} failed");
+
+                if (Throw)
+                    throw;
+
+                return null;
+            }
+        }
+
         public bool UpdateHeaders(string appId, string endpointId, EndpointHeadersIn headers, string idempotencyKey = default)
         {
             try
diff --git a/csharp/Svix/EventType.cs b/csharp/Svix/EventType.cs
index 9cc89f0bd..4bae386c3 100644
--- a/csharp/Svix/EventType.cs
+++ b/csharp/Svix/EventType.cs
@@ -241,5 +241,49 @@ public async Task<EventTypeOut> UpdateAsync(string eventType, EventTypeUpdate up
                 return null;
             }
         }
+
+        public EventTypeOut Patch(string eventType, EventTypePatch update, string idempotencyKey = default)
+        {
+            try
+            {
+                var lEventType = _eventTypeApi.V1EventTypePatch(
+                    eventType,
+                    update);
+
+                return lEventType;
+            }
+            catch (ApiException e)
+            {
+                Logger?.LogError(e, $"{nameof(Patch)} failed");
+
+                if (Throw)
+                    throw;
+
+                return null;
+            }
+        }
+
+        public async Task<EventTypeOut> PatchAsync(string eventType, EventTypePatch update, string idempotencyKey = default,
+            CancellationToken cancellationToken = default)
+        {
+            try
+            {
+                var lEventType = await _eventTypeApi.V1EventTypePatchAsync(
+                    eventType,
+                    update,
+                    cancellationToken);
+
+                return lEventType;
+            }
+            catch (ApiException e)
+            {
+                Logger?.LogError(e, $"{nameof(PatchAsync)} failed");
+
+                if (Throw)
+                    throw;
+
+                return null;
+            }
+        }
     }
 }
diff --git a/go/application.go b/go/application.go
index 9698dabed..f38e491c2 100644
--- a/go/application.go
+++ b/go/application.go
@@ -10,6 +10,7 @@ type (
 	ListResponseApplicationOut openapi.ListResponseApplicationOut
 	ApplicationIn              openapi.ApplicationIn
 	ApplicationOut             openapi.ApplicationOut
+	ApplicationPatch           openapi.ApplicationPatch
 )
 
 type Application struct {
@@ -105,6 +106,17 @@ func (a *Application) Update(ctx context.Context, appId string, applicationIn *A
 	return &ret, nil
 }
 
+func (a *Application) Patch(ctx context.Context, appId string, applicationPatch *ApplicationPatch) (*ApplicationOut, error) {
+	req := a.api.ApplicationApi.V1ApplicationPatch(ctx, appId)
+	req = req.ApplicationPatch(openapi.ApplicationPatch(*applicationPatch))
+	resp, res, err := req.Execute()
+	if err != nil {
+		return nil, wrapError(err, res)
+	}
+	ret := ApplicationOut(resp)
+	return &ret, nil
+}
+
 func (a *Application) Delete(ctx context.Context, appId string) error {
 	req := a.api.ApplicationApi.V1ApplicationDelete(ctx, appId)
 	res, err := req.Execute()
diff --git a/go/endpoint.go b/go/endpoint.go
index 22f96377a..2aa526e20 100644
--- a/go/endpoint.go
+++ b/go/endpoint.go
@@ -12,6 +12,7 @@ type (
 	EndpointIn                openapi.EndpointIn
 	EndpointUpdate            openapi.EndpointUpdate
 	EndpointOut               openapi.EndpointOut
+	EndpointPatch             openapi.EndpointPatch
 	EndpointSecretOut         openapi.EndpointSecretOut
 	EndpointSecretRotateIn    openapi.EndpointSecretRotateIn
 	EndpointTransformationIn  openapi.EndpointTransformationIn
@@ -103,6 +104,17 @@ func (e *Endpoint) Update(ctx context.Context, appId string, endpointId string,
 	return &ret, nil
 }
 
+func (e *Endpoint) Patch(ctx context.Context, appId string, endpointId string, endpointPatch *EndpointPatch) (*EndpointOut, error) {
+	req := e.api.EndpointApi.V1EndpointPatch(ctx, appId, endpointId)
+	req = req.EndpointPatch(openapi.EndpointPatch(*endpointPatch))
+	out, res, err := req.Execute()
+	if err != nil {
+		return nil, wrapError(err, res)
+	}
+	ret := EndpointOut(out)
+	return &ret, nil
+}
+
 func (e *Endpoint) Delete(ctx context.Context, appId string, endpointId string) error {
 	req := e.api.EndpointApi.V1EndpointDelete(ctx, appId, endpointId)
 	res, err := req.Execute()
diff --git a/go/eventtype.go b/go/eventtype.go
index ab677ef0e..240e55fa3 100644
--- a/go/eventtype.go
+++ b/go/eventtype.go
@@ -14,6 +14,7 @@ type (
 	ListResponseEventTypeOut openapi.ListResponseEventTypeOut
 	EventTypeIn              openapi.EventTypeIn
 	EventTypeOut             openapi.EventTypeOut
+	EventTypePatch           openapi.EventTypePatch
 	EventTypeUpdate          openapi.EventTypeUpdate
 )
 
@@ -89,6 +90,17 @@ func (e *EventType) Update(ctx context.Context, eventTypeName string, eventTypeU
 	return &ret, nil
 }
 
+func (e *EventType) Patch(ctx context.Context, eventTypeName string, eventTypePatch *EventTypePatch) (*EventTypeOut, error) {
+	req := e.api.EventTypeApi.V1EventTypePatch(ctx, eventTypeName)
+	req = req.EventTypePatch(openapi.EventTypePatch(*eventTypePatch))
+	out, res, err := req.Execute()
+	if err != nil {
+		return nil, wrapError(err, res)
+	}
+	ret := EventTypeOut(out)
+	return &ret, nil
+}
+
 func (e *EventType) Delete(ctx context.Context, eventTypeName string) error {
 	req := e.api.EventTypeApi.V1EventTypeDelete(ctx, eventTypeName)
 	res, err := req.Execute()
diff --git a/go/internal/openapi/api_application.go b/go/internal/openapi/api_application.go
index 174897709..0cbae6c11 100644
--- a/go/internal/openapi/api_application.go
+++ b/go/internal/openapi/api_application.go
@@ -233,197 +233,6 @@ func (a *ApplicationApiService) GetAppUsageStatsApiV1AppStatsUsageGetExecute(r A
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
-type ApiPatchApplicationRequest struct {
-	ctx _context.Context
-	ApiService *ApplicationApiService
-	appId string
-	applicationPatch *ApplicationPatch
-}
-
-func (r ApiPatchApplicationRequest) ApplicationPatch(applicationPatch ApplicationPatch) ApiPatchApplicationRequest {
-	r.applicationPatch = &applicationPatch
-	return r
-}
-
-func (r ApiPatchApplicationRequest) Execute() (ApplicationOut, *_nethttp.Response, error) {
-	return r.ApiService.PatchApplicationExecute(r)
-}
-
-/*
- * PatchApplication Patch Application
- * Partially update an application.
- * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
- * @param appId The app's ID or UID
- * @return ApiPatchApplicationRequest
- */
-func (a *ApplicationApiService) PatchApplication(ctx _context.Context, appId string) ApiPatchApplicationRequest {
-	return ApiPatchApplicationRequest{
-		ApiService: a,
-		ctx: ctx,
-		appId: appId,
-	}
-}
-
-/*
- * Execute executes the request
- * @return ApplicationOut
- */
-func (a *ApplicationApiService) PatchApplicationExecute(r ApiPatchApplicationRequest) (ApplicationOut, *_nethttp.Response, error) {
-	var (
-		localVarHTTPMethod   = _nethttp.MethodPatch
-		localVarPostBody     interface{}
-		localVarFormFileName string
-		localVarFileName     string
-		localVarFileBytes    []byte
-		localVarReturnValue  ApplicationOut
-	)
-
-	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "ApplicationApiService.PatchApplication")
-	if err != nil {
-		return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
-	}
-
-	localVarPath := localBasePath + "/api/v1/app/{app_id}/"
-	localVarPath = strings.Replace(localVarPath, "{"+"app_id"+"}", _neturl.PathEscape(parameterToString(r.appId, "")), -1)
-
-	localVarHeaderParams := make(map[string]string)
-	localVarQueryParams := _neturl.Values{}
-	localVarFormParams := _neturl.Values{}
-	if strlen(r.appId) < 1 {
-		return localVarReturnValue, nil, reportError("appId must have at least 1 elements")
-	}
-	if strlen(r.appId) > 256 {
-		return localVarReturnValue, nil, reportError("appId must have less than 256 elements")
-	}
-	if r.applicationPatch == nil {
-		return localVarReturnValue, nil, reportError("applicationPatch is required and must be specified")
-	}
-
-	// to determine the Content-Type header
-	localVarHTTPContentTypes := []string{"application/json"}
-
-	// set Content-Type header
-	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
-	if localVarHTTPContentType != "" {
-		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
-	}
-
-	// to determine the Accept header
-	localVarHTTPHeaderAccepts := []string{"application/json"}
-
-	// set Accept header
-	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
-	if localVarHTTPHeaderAccept != "" {
-		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
-	}
-	// body params
-	localVarPostBody = r.applicationPatch
-	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
-	if err != nil {
-		return localVarReturnValue, nil, err
-	}
-
-	localVarHTTPResponse, err := a.client.callAPI(req)
-	if err != nil || localVarHTTPResponse == nil {
-		return localVarReturnValue, localVarHTTPResponse, err
-	}
-
-	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
-	localVarHTTPResponse.Body.Close()
-	localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
-	if err != nil {
-		return localVarReturnValue, localVarHTTPResponse, err
-	}
-
-	if localVarHTTPResponse.StatusCode >= 300 {
-		newErr := GenericOpenAPIError{
-			body:  localVarBody,
-			error: localVarHTTPResponse.Status,
-		}
-		if localVarHTTPResponse.StatusCode == 400 {
-			var v HttpErrorOut
-			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
-			if err != nil {
-				newErr.error = err.Error()
-				return localVarReturnValue, localVarHTTPResponse, newErr
-			}
-			newErr.model = v
-			return localVarReturnValue, localVarHTTPResponse, newErr
-		}
-		if localVarHTTPResponse.StatusCode == 401 {
-			var v HttpErrorOut
-			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
-			if err != nil {
-				newErr.error = err.Error()
-				return localVarReturnValue, localVarHTTPResponse, newErr
-			}
-			newErr.model = v
-			return localVarReturnValue, localVarHTTPResponse, newErr
-		}
-		if localVarHTTPResponse.StatusCode == 403 {
-			var v HttpErrorOut
-			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
-			if err != nil {
-				newErr.error = err.Error()
-				return localVarReturnValue, localVarHTTPResponse, newErr
-			}
-			newErr.model = v
-			return localVarReturnValue, localVarHTTPResponse, newErr
-		}
-		if localVarHTTPResponse.StatusCode == 404 {
-			var v HttpErrorOut
-			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
-			if err != nil {
-				newErr.error = err.Error()
-				return localVarReturnValue, localVarHTTPResponse, newErr
-			}
-			newErr.model = v
-			return localVarReturnValue, localVarHTTPResponse, newErr
-		}
-		if localVarHTTPResponse.StatusCode == 409 {
-			var v HttpErrorOut
-			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
-			if err != nil {
-				newErr.error = err.Error()
-				return localVarReturnValue, localVarHTTPResponse, newErr
-			}
-			newErr.model = v
-			return localVarReturnValue, localVarHTTPResponse, newErr
-		}
-		if localVarHTTPResponse.StatusCode == 422 {
-			var v HTTPValidationError
-			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
-			if err != nil {
-				newErr.error = err.Error()
-				return localVarReturnValue, localVarHTTPResponse, newErr
-			}
-			newErr.model = v
-			return localVarReturnValue, localVarHTTPResponse, newErr
-		}
-		if localVarHTTPResponse.StatusCode == 429 {
-			var v HttpErrorOut
-			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
-			if err != nil {
-				newErr.error = err.Error()
-				return localVarReturnValue, localVarHTTPResponse, newErr
-			}
-			newErr.model = v
-		}
-		return localVarReturnValue, localVarHTTPResponse, newErr
-	}
-
-	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
-	if err != nil {
-		newErr := GenericOpenAPIError{
-			body:  localVarBody,
-			error: err.Error(),
-		}
-		return localVarReturnValue, localVarHTTPResponse, newErr
-	}
-
-	return localVarReturnValue, localVarHTTPResponse, nil
-}
-
 type ApiV1ApplicationCreateRequest struct {
 	ctx _context.Context
 	ApiService *ApplicationApiService
@@ -1366,6 +1175,197 @@ func (a *ApplicationApiService) V1ApplicationListExecute(r ApiV1ApplicationListR
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
+type ApiV1ApplicationPatchRequest struct {
+	ctx _context.Context
+	ApiService *ApplicationApiService
+	appId string
+	applicationPatch *ApplicationPatch
+}
+
+func (r ApiV1ApplicationPatchRequest) ApplicationPatch(applicationPatch ApplicationPatch) ApiV1ApplicationPatchRequest {
+	r.applicationPatch = &applicationPatch
+	return r
+}
+
+func (r ApiV1ApplicationPatchRequest) Execute() (ApplicationOut, *_nethttp.Response, error) {
+	return r.ApiService.V1ApplicationPatchExecute(r)
+}
+
+/*
+ * V1ApplicationPatch Patch Application
+ * Partially update an application.
+ * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ * @param appId The app's ID or UID
+ * @return ApiV1ApplicationPatchRequest
+ */
+func (a *ApplicationApiService) V1ApplicationPatch(ctx _context.Context, appId string) ApiV1ApplicationPatchRequest {
+	return ApiV1ApplicationPatchRequest{
+		ApiService: a,
+		ctx: ctx,
+		appId: appId,
+	}
+}
+
+/*
+ * Execute executes the request
+ * @return ApplicationOut
+ */
+func (a *ApplicationApiService) V1ApplicationPatchExecute(r ApiV1ApplicationPatchRequest) (ApplicationOut, *_nethttp.Response, error) {
+	var (
+		localVarHTTPMethod   = _nethttp.MethodPatch
+		localVarPostBody     interface{}
+		localVarFormFileName string
+		localVarFileName     string
+		localVarFileBytes    []byte
+		localVarReturnValue  ApplicationOut
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "ApplicationApiService.V1ApplicationPatch")
+	if err != nil {
+		return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/api/v1/app/{app_id}/"
+	localVarPath = strings.Replace(localVarPath, "{"+"app_id"+"}", _neturl.PathEscape(parameterToString(r.appId, "")), -1)
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := _neturl.Values{}
+	localVarFormParams := _neturl.Values{}
+	if strlen(r.appId) < 1 {
+		return localVarReturnValue, nil, reportError("appId must have at least 1 elements")
+	}
+	if strlen(r.appId) > 256 {
+		return localVarReturnValue, nil, reportError("appId must have less than 256 elements")
+	}
+	if r.applicationPatch == nil {
+		return localVarReturnValue, nil, reportError("applicationPatch is required and must be specified")
+	}
+
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{"application/json"}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	// body params
+	localVarPostBody = r.applicationPatch
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		if localVarHTTPResponse.StatusCode == 400 {
+			var v HttpErrorOut
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 401 {
+			var v HttpErrorOut
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 403 {
+			var v HttpErrorOut
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 404 {
+			var v HttpErrorOut
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 409 {
+			var v HttpErrorOut
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 422 {
+			var v HTTPValidationError
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 429 {
+			var v HttpErrorOut
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
 type ApiV1ApplicationUpdateRequest struct {
 	ctx _context.Context
 	ApiService *ApplicationApiService
diff --git a/go/internal/openapi/api_endpoint.go b/go/internal/openapi/api_endpoint.go
index 78c0e4bdc..aa186f228 100644
--- a/go/internal/openapi/api_endpoint.go
+++ b/go/internal/openapi/api_endpoint.go
@@ -28,207 +28,6 @@ var (
 // EndpointApiService EndpointApi service
 type EndpointApiService service
 
-type ApiPatchEndpointRequest struct {
-	ctx _context.Context
-	ApiService *EndpointApiService
-	appId string
-	endpointId string
-	endpointPatch *EndpointPatch
-}
-
-func (r ApiPatchEndpointRequest) EndpointPatch(endpointPatch EndpointPatch) ApiPatchEndpointRequest {
-	r.endpointPatch = &endpointPatch
-	return r
-}
-
-func (r ApiPatchEndpointRequest) Execute() (EndpointOut, *_nethttp.Response, error) {
-	return r.ApiService.PatchEndpointExecute(r)
-}
-
-/*
- * PatchEndpoint Patch Endpoint
- * Partially update an endpoint.
- * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
- * @param appId The app's ID or UID
- * @param endpointId The ep's ID or UID
- * @return ApiPatchEndpointRequest
- */
-func (a *EndpointApiService) PatchEndpoint(ctx _context.Context, appId string, endpointId string) ApiPatchEndpointRequest {
-	return ApiPatchEndpointRequest{
-		ApiService: a,
-		ctx: ctx,
-		appId: appId,
-		endpointId: endpointId,
-	}
-}
-
-/*
- * Execute executes the request
- * @return EndpointOut
- */
-func (a *EndpointApiService) PatchEndpointExecute(r ApiPatchEndpointRequest) (EndpointOut, *_nethttp.Response, error) {
-	var (
-		localVarHTTPMethod   = _nethttp.MethodPatch
-		localVarPostBody     interface{}
-		localVarFormFileName string
-		localVarFileName     string
-		localVarFileBytes    []byte
-		localVarReturnValue  EndpointOut
-	)
-
-	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "EndpointApiService.PatchEndpoint")
-	if err != nil {
-		return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
-	}
-
-	localVarPath := localBasePath + "/api/v1/app/{app_id}/endpoint/{endpoint_id}/"
-	localVarPath = strings.Replace(localVarPath, "{"+"app_id"+"}", _neturl.PathEscape(parameterToString(r.appId, "")), -1)
-	localVarPath = strings.Replace(localVarPath, "{"+"endpoint_id"+"}", _neturl.PathEscape(parameterToString(r.endpointId, "")), -1)
-
-	localVarHeaderParams := make(map[string]string)
-	localVarQueryParams := _neturl.Values{}
-	localVarFormParams := _neturl.Values{}
-	if strlen(r.appId) < 1 {
-		return localVarReturnValue, nil, reportError("appId must have at least 1 elements")
-	}
-	if strlen(r.appId) > 256 {
-		return localVarReturnValue, nil, reportError("appId must have less than 256 elements")
-	}
-	if strlen(r.endpointId) < 1 {
-		return localVarReturnValue, nil, reportError("endpointId must have at least 1 elements")
-	}
-	if strlen(r.endpointId) > 256 {
-		return localVarReturnValue, nil, reportError("endpointId must have less than 256 elements")
-	}
-	if r.endpointPatch == nil {
-		return localVarReturnValue, nil, reportError("endpointPatch is required and must be specified")
-	}
-
-	// to determine the Content-Type header
-	localVarHTTPContentTypes := []string{"application/json"}
-
-	// set Content-Type header
-	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
-	if localVarHTTPContentType != "" {
-		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
-	}
-
-	// to determine the Accept header
-	localVarHTTPHeaderAccepts := []string{"application/json"}
-
-	// set Accept header
-	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
-	if localVarHTTPHeaderAccept != "" {
-		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
-	}
-	// body params
-	localVarPostBody = r.endpointPatch
-	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
-	if err != nil {
-		return localVarReturnValue, nil, err
-	}
-
-	localVarHTTPResponse, err := a.client.callAPI(req)
-	if err != nil || localVarHTTPResponse == nil {
-		return localVarReturnValue, localVarHTTPResponse, err
-	}
-
-	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
-	localVarHTTPResponse.Body.Close()
-	localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
-	if err != nil {
-		return localVarReturnValue, localVarHTTPResponse, err
-	}
-
-	if localVarHTTPResponse.StatusCode >= 300 {
-		newErr := GenericOpenAPIError{
-			body:  localVarBody,
-			error: localVarHTTPResponse.Status,
-		}
-		if localVarHTTPResponse.StatusCode == 400 {
-			var v HttpErrorOut
-			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
-			if err != nil {
-				newErr.error = err.Error()
-				return localVarReturnValue, localVarHTTPResponse, newErr
-			}
-			newErr.model = v
-			return localVarReturnValue, localVarHTTPResponse, newErr
-		}
-		if localVarHTTPResponse.StatusCode == 401 {
-			var v HttpErrorOut
-			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
-			if err != nil {
-				newErr.error = err.Error()
-				return localVarReturnValue, localVarHTTPResponse, newErr
-			}
-			newErr.model = v
-			return localVarReturnValue, localVarHTTPResponse, newErr
-		}
-		if localVarHTTPResponse.StatusCode == 403 {
-			var v HttpErrorOut
-			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
-			if err != nil {
-				newErr.error = err.Error()
-				return localVarReturnValue, localVarHTTPResponse, newErr
-			}
-			newErr.model = v
-			return localVarReturnValue, localVarHTTPResponse, newErr
-		}
-		if localVarHTTPResponse.StatusCode == 404 {
-			var v HttpErrorOut
-			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
-			if err != nil {
-				newErr.error = err.Error()
-				return localVarReturnValue, localVarHTTPResponse, newErr
-			}
-			newErr.model = v
-			return localVarReturnValue, localVarHTTPResponse, newErr
-		}
-		if localVarHTTPResponse.StatusCode == 409 {
-			var v HttpErrorOut
-			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
-			if err != nil {
-				newErr.error = err.Error()
-				return localVarReturnValue, localVarHTTPResponse, newErr
-			}
-			newErr.model = v
-			return localVarReturnValue, localVarHTTPResponse, newErr
-		}
-		if localVarHTTPResponse.StatusCode == 422 {
-			var v HTTPValidationError
-			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
-			if err != nil {
-				newErr.error = err.Error()
-				return localVarReturnValue, localVarHTTPResponse, newErr
-			}
-			newErr.model = v
-			return localVarReturnValue, localVarHTTPResponse, newErr
-		}
-		if localVarHTTPResponse.StatusCode == 429 {
-			var v HttpErrorOut
-			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
-			if err != nil {
-				newErr.error = err.Error()
-				return localVarReturnValue, localVarHTTPResponse, newErr
-			}
-			newErr.model = v
-		}
-		return localVarReturnValue, localVarHTTPResponse, newErr
-	}
-
-	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
-	if err != nil {
-		newErr := GenericOpenAPIError{
-			body:  localVarBody,
-			error: err.Error(),
-		}
-		return localVarReturnValue, localVarHTTPResponse, newErr
-	}
-
-	return localVarReturnValue, localVarHTTPResponse, nil
-}
-
 type ApiV1EndpointCreateRequest struct {
 	ctx _context.Context
 	ApiService *EndpointApiService
@@ -1598,6 +1397,207 @@ func (a *EndpointApiService) V1EndpointListExecute(r ApiV1EndpointListRequest) (
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
+type ApiV1EndpointPatchRequest struct {
+	ctx _context.Context
+	ApiService *EndpointApiService
+	appId string
+	endpointId string
+	endpointPatch *EndpointPatch
+}
+
+func (r ApiV1EndpointPatchRequest) EndpointPatch(endpointPatch EndpointPatch) ApiV1EndpointPatchRequest {
+	r.endpointPatch = &endpointPatch
+	return r
+}
+
+func (r ApiV1EndpointPatchRequest) Execute() (EndpointOut, *_nethttp.Response, error) {
+	return r.ApiService.V1EndpointPatchExecute(r)
+}
+
+/*
+ * V1EndpointPatch Patch Endpoint
+ * Partially update an endpoint.
+ * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ * @param appId The app's ID or UID
+ * @param endpointId The ep's ID or UID
+ * @return ApiV1EndpointPatchRequest
+ */
+func (a *EndpointApiService) V1EndpointPatch(ctx _context.Context, appId string, endpointId string) ApiV1EndpointPatchRequest {
+	return ApiV1EndpointPatchRequest{
+		ApiService: a,
+		ctx: ctx,
+		appId: appId,
+		endpointId: endpointId,
+	}
+}
+
+/*
+ * Execute executes the request
+ * @return EndpointOut
+ */
+func (a *EndpointApiService) V1EndpointPatchExecute(r ApiV1EndpointPatchRequest) (EndpointOut, *_nethttp.Response, error) {
+	var (
+		localVarHTTPMethod   = _nethttp.MethodPatch
+		localVarPostBody     interface{}
+		localVarFormFileName string
+		localVarFileName     string
+		localVarFileBytes    []byte
+		localVarReturnValue  EndpointOut
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "EndpointApiService.V1EndpointPatch")
+	if err != nil {
+		return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/api/v1/app/{app_id}/endpoint/{endpoint_id}/"
+	localVarPath = strings.Replace(localVarPath, "{"+"app_id"+"}", _neturl.PathEscape(parameterToString(r.appId, "")), -1)
+	localVarPath = strings.Replace(localVarPath, "{"+"endpoint_id"+"}", _neturl.PathEscape(parameterToString(r.endpointId, "")), -1)
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := _neturl.Values{}
+	localVarFormParams := _neturl.Values{}
+	if strlen(r.appId) < 1 {
+		return localVarReturnValue, nil, reportError("appId must have at least 1 elements")
+	}
+	if strlen(r.appId) > 256 {
+		return localVarReturnValue, nil, reportError("appId must have less than 256 elements")
+	}
+	if strlen(r.endpointId) < 1 {
+		return localVarReturnValue, nil, reportError("endpointId must have at least 1 elements")
+	}
+	if strlen(r.endpointId) > 256 {
+		return localVarReturnValue, nil, reportError("endpointId must have less than 256 elements")
+	}
+	if r.endpointPatch == nil {
+		return localVarReturnValue, nil, reportError("endpointPatch is required and must be specified")
+	}
+
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{"application/json"}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	// body params
+	localVarPostBody = r.endpointPatch
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		if localVarHTTPResponse.StatusCode == 400 {
+			var v HttpErrorOut
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 401 {
+			var v HttpErrorOut
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 403 {
+			var v HttpErrorOut
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 404 {
+			var v HttpErrorOut
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 409 {
+			var v HttpErrorOut
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 422 {
+			var v HTTPValidationError
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 429 {
+			var v HttpErrorOut
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
 type ApiV1EndpointPatchHeadersRequest struct {
 	ctx _context.Context
 	ApiService *EndpointApiService
diff --git a/go/internal/openapi/api_event_type.go b/go/internal/openapi/api_event_type.go
index 055b78183..38560084f 100644
--- a/go/internal/openapi/api_event_type.go
+++ b/go/internal/openapi/api_event_type.go
@@ -27,194 +27,6 @@ var (
 // EventTypeApiService EventTypeApi service
 type EventTypeApiService service
 
-type ApiPatchEventTypeRequest struct {
-	ctx _context.Context
-	ApiService *EventTypeApiService
-	eventTypeName string
-	eventTypePatch *EventTypePatch
-}
-
-func (r ApiPatchEventTypeRequest) EventTypePatch(eventTypePatch EventTypePatch) ApiPatchEventTypeRequest {
-	r.eventTypePatch = &eventTypePatch
-	return r
-}
-
-func (r ApiPatchEventTypeRequest) Execute() (EventTypeOut, *_nethttp.Response, error) {
-	return r.ApiService.PatchEventTypeExecute(r)
-}
-
-/*
- * PatchEventType Patch Event Type
- * Partially update an event type.
- * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
- * @param eventTypeName The event type's name
- * @return ApiPatchEventTypeRequest
- */
-func (a *EventTypeApiService) PatchEventType(ctx _context.Context, eventTypeName string) ApiPatchEventTypeRequest {
-	return ApiPatchEventTypeRequest{
-		ApiService: a,
-		ctx: ctx,
-		eventTypeName: eventTypeName,
-	}
-}
-
-/*
- * Execute executes the request
- * @return EventTypeOut
- */
-func (a *EventTypeApiService) PatchEventTypeExecute(r ApiPatchEventTypeRequest) (EventTypeOut, *_nethttp.Response, error) {
-	var (
-		localVarHTTPMethod   = _nethttp.MethodPatch
-		localVarPostBody     interface{}
-		localVarFormFileName string
-		localVarFileName     string
-		localVarFileBytes    []byte
-		localVarReturnValue  EventTypeOut
-	)
-
-	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "EventTypeApiService.PatchEventType")
-	if err != nil {
-		return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
-	}
-
-	localVarPath := localBasePath + "/api/v1/event-type/{event_type_name}/"
-	localVarPath = strings.Replace(localVarPath, "{"+"event_type_name"+"}", _neturl.PathEscape(parameterToString(r.eventTypeName, "")), -1)
-
-	localVarHeaderParams := make(map[string]string)
-	localVarQueryParams := _neturl.Values{}
-	localVarFormParams := _neturl.Values{}
-	if strlen(r.eventTypeName) > 256 {
-		return localVarReturnValue, nil, reportError("eventTypeName must have less than 256 elements")
-	}
-	if r.eventTypePatch == nil {
-		return localVarReturnValue, nil, reportError("eventTypePatch is required and must be specified")
-	}
-
-	// to determine the Content-Type header
-	localVarHTTPContentTypes := []string{"application/json"}
-
-	// set Content-Type header
-	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
-	if localVarHTTPContentType != "" {
-		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
-	}
-
-	// to determine the Accept header
-	localVarHTTPHeaderAccepts := []string{"application/json"}
-
-	// set Accept header
-	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
-	if localVarHTTPHeaderAccept != "" {
-		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
-	}
-	// body params
-	localVarPostBody = r.eventTypePatch
-	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
-	if err != nil {
-		return localVarReturnValue, nil, err
-	}
-
-	localVarHTTPResponse, err := a.client.callAPI(req)
-	if err != nil || localVarHTTPResponse == nil {
-		return localVarReturnValue, localVarHTTPResponse, err
-	}
-
-	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
-	localVarHTTPResponse.Body.Close()
-	localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
-	if err != nil {
-		return localVarReturnValue, localVarHTTPResponse, err
-	}
-
-	if localVarHTTPResponse.StatusCode >= 300 {
-		newErr := GenericOpenAPIError{
-			body:  localVarBody,
-			error: localVarHTTPResponse.Status,
-		}
-		if localVarHTTPResponse.StatusCode == 400 {
-			var v HttpErrorOut
-			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
-			if err != nil {
-				newErr.error = err.Error()
-				return localVarReturnValue, localVarHTTPResponse, newErr
-			}
-			newErr.model = v
-			return localVarReturnValue, localVarHTTPResponse, newErr
-		}
-		if localVarHTTPResponse.StatusCode == 401 {
-			var v HttpErrorOut
-			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
-			if err != nil {
-				newErr.error = err.Error()
-				return localVarReturnValue, localVarHTTPResponse, newErr
-			}
-			newErr.model = v
-			return localVarReturnValue, localVarHTTPResponse, newErr
-		}
-		if localVarHTTPResponse.StatusCode == 403 {
-			var v HttpErrorOut
-			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
-			if err != nil {
-				newErr.error = err.Error()
-				return localVarReturnValue, localVarHTTPResponse, newErr
-			}
-			newErr.model = v
-			return localVarReturnValue, localVarHTTPResponse, newErr
-		}
-		if localVarHTTPResponse.StatusCode == 404 {
-			var v HttpErrorOut
-			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
-			if err != nil {
-				newErr.error = err.Error()
-				return localVarReturnValue, localVarHTTPResponse, newErr
-			}
-			newErr.model = v
-			return localVarReturnValue, localVarHTTPResponse, newErr
-		}
-		if localVarHTTPResponse.StatusCode == 409 {
-			var v HttpErrorOut
-			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
-			if err != nil {
-				newErr.error = err.Error()
-				return localVarReturnValue, localVarHTTPResponse, newErr
-			}
-			newErr.model = v
-			return localVarReturnValue, localVarHTTPResponse, newErr
-		}
-		if localVarHTTPResponse.StatusCode == 422 {
-			var v HTTPValidationError
-			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
-			if err != nil {
-				newErr.error = err.Error()
-				return localVarReturnValue, localVarHTTPResponse, newErr
-			}
-			newErr.model = v
-			return localVarReturnValue, localVarHTTPResponse, newErr
-		}
-		if localVarHTTPResponse.StatusCode == 429 {
-			var v HttpErrorOut
-			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
-			if err != nil {
-				newErr.error = err.Error()
-				return localVarReturnValue, localVarHTTPResponse, newErr
-			}
-			newErr.model = v
-		}
-		return localVarReturnValue, localVarHTTPResponse, newErr
-	}
-
-	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
-	if err != nil {
-		newErr := GenericOpenAPIError{
-			body:  localVarBody,
-			error: err.Error(),
-		}
-		return localVarReturnValue, localVarHTTPResponse, newErr
-	}
-
-	return localVarReturnValue, localVarHTTPResponse, nil
-}
-
 type ApiV1EventTypeCreateRequest struct {
 	ctx _context.Context
 	ApiService *EventTypeApiService
@@ -1166,6 +978,194 @@ func (a *EventTypeApiService) V1EventTypeListExecute(r ApiV1EventTypeListRequest
 	return localVarReturnValue, localVarHTTPResponse, nil
 }
 
+type ApiV1EventTypePatchRequest struct {
+	ctx _context.Context
+	ApiService *EventTypeApiService
+	eventTypeName string
+	eventTypePatch *EventTypePatch
+}
+
+func (r ApiV1EventTypePatchRequest) EventTypePatch(eventTypePatch EventTypePatch) ApiV1EventTypePatchRequest {
+	r.eventTypePatch = &eventTypePatch
+	return r
+}
+
+func (r ApiV1EventTypePatchRequest) Execute() (EventTypeOut, *_nethttp.Response, error) {
+	return r.ApiService.V1EventTypePatchExecute(r)
+}
+
+/*
+ * V1EventTypePatch Patch Event Type
+ * Partially update an event type.
+ * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ * @param eventTypeName The event type's name
+ * @return ApiV1EventTypePatchRequest
+ */
+func (a *EventTypeApiService) V1EventTypePatch(ctx _context.Context, eventTypeName string) ApiV1EventTypePatchRequest {
+	return ApiV1EventTypePatchRequest{
+		ApiService: a,
+		ctx: ctx,
+		eventTypeName: eventTypeName,
+	}
+}
+
+/*
+ * Execute executes the request
+ * @return EventTypeOut
+ */
+func (a *EventTypeApiService) V1EventTypePatchExecute(r ApiV1EventTypePatchRequest) (EventTypeOut, *_nethttp.Response, error) {
+	var (
+		localVarHTTPMethod   = _nethttp.MethodPatch
+		localVarPostBody     interface{}
+		localVarFormFileName string
+		localVarFileName     string
+		localVarFileBytes    []byte
+		localVarReturnValue  EventTypeOut
+	)
+
+	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "EventTypeApiService.V1EventTypePatch")
+	if err != nil {
+		return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
+	}
+
+	localVarPath := localBasePath + "/api/v1/event-type/{event_type_name}/"
+	localVarPath = strings.Replace(localVarPath, "{"+"event_type_name"+"}", _neturl.PathEscape(parameterToString(r.eventTypeName, "")), -1)
+
+	localVarHeaderParams := make(map[string]string)
+	localVarQueryParams := _neturl.Values{}
+	localVarFormParams := _neturl.Values{}
+	if strlen(r.eventTypeName) > 256 {
+		return localVarReturnValue, nil, reportError("eventTypeName must have less than 256 elements")
+	}
+	if r.eventTypePatch == nil {
+		return localVarReturnValue, nil, reportError("eventTypePatch is required and must be specified")
+	}
+
+	// to determine the Content-Type header
+	localVarHTTPContentTypes := []string{"application/json"}
+
+	// set Content-Type header
+	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+	if localVarHTTPContentType != "" {
+		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+	}
+
+	// to determine the Accept header
+	localVarHTTPHeaderAccepts := []string{"application/json"}
+
+	// set Accept header
+	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+	if localVarHTTPHeaderAccept != "" {
+		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+	}
+	// body params
+	localVarPostBody = r.eventTypePatch
+	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
+	if err != nil {
+		return localVarReturnValue, nil, err
+	}
+
+	localVarHTTPResponse, err := a.client.callAPI(req)
+	if err != nil || localVarHTTPResponse == nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
+	localVarHTTPResponse.Body.Close()
+	localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+	if err != nil {
+		return localVarReturnValue, localVarHTTPResponse, err
+	}
+
+	if localVarHTTPResponse.StatusCode >= 300 {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: localVarHTTPResponse.Status,
+		}
+		if localVarHTTPResponse.StatusCode == 400 {
+			var v HttpErrorOut
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 401 {
+			var v HttpErrorOut
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 403 {
+			var v HttpErrorOut
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 404 {
+			var v HttpErrorOut
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 409 {
+			var v HttpErrorOut
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 422 {
+			var v HTTPValidationError
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+			return localVarReturnValue, localVarHTTPResponse, newErr
+		}
+		if localVarHTTPResponse.StatusCode == 429 {
+			var v HttpErrorOut
+			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+			if err != nil {
+				newErr.error = err.Error()
+				return localVarReturnValue, localVarHTTPResponse, newErr
+			}
+			newErr.model = v
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+	if err != nil {
+		newErr := GenericOpenAPIError{
+			body:  localVarBody,
+			error: err.Error(),
+		}
+		return localVarReturnValue, localVarHTTPResponse, newErr
+	}
+
+	return localVarReturnValue, localVarHTTPResponse, nil
+}
+
 type ApiV1EventTypeUpdateRequest struct {
 	ctx _context.Context
 	ApiService *EventTypeApiService
diff --git a/java/lib/src/main/java/com/svix/Application.java b/java/lib/src/main/java/com/svix/Application.java
index 13d67bbc1..2fe5a8a4e 100644
--- a/java/lib/src/main/java/com/svix/Application.java
+++ b/java/lib/src/main/java/com/svix/Application.java
@@ -4,6 +4,7 @@
 import com.svix.internal.api.ApplicationApi;
 import com.svix.models.ApplicationIn;
 import com.svix.models.ApplicationOut;
+import com.svix.models.ApplicationPatch;
 import com.svix.models.ListResponseApplicationOut;
 
 public final class Application {
@@ -61,6 +62,14 @@ public ApplicationOut update(final String appId, final ApplicationIn application
 		}
 	}
 
+	public ApplicationOut patch(final String appId, final ApplicationPatch applicationPatch) throws ApiException {
+		try {
+			return api.v1ApplicationPatch(appId, applicationPatch);
+		} catch (com.svix.internal.ApiException e) {
+			throw Utils.wrapInternalApiException(e);
+		}
+	}
+
 	public void delete(final String appId) throws ApiException {
 		try {
 			api.v1ApplicationDelete(appId);
diff --git a/java/lib/src/main/java/com/svix/Endpoint.java b/java/lib/src/main/java/com/svix/Endpoint.java
index 07060216d..cd8a3c646 100644
--- a/java/lib/src/main/java/com/svix/Endpoint.java
+++ b/java/lib/src/main/java/com/svix/Endpoint.java
@@ -7,6 +7,7 @@
 import com.svix.models.EndpointHeadersPatchIn;
 import com.svix.models.EndpointIn;
 import com.svix.models.EndpointOut;
+import com.svix.models.EndpointPatch;
 import com.svix.models.EndpointUpdate;
 import com.svix.models.EndpointSecretOut;
 import com.svix.models.EndpointSecretRotateIn;
@@ -64,6 +65,15 @@ public EndpointOut update(final String appId, final String endpointId, final End
 		}
 	}
 
+	public EndpointOut patch(final String appId, final String endpointId, final EndpointPatch endpointPatch)
+			throws ApiException {
+		try {
+			return api.v1EndpointPatch(appId, endpointId, endpointPatch);
+		} catch (com.svix.internal.ApiException e) {
+			throw Utils.wrapInternalApiException(e);
+		}
+	}
+
 	public void delete(final String appId, final String endpointId) throws ApiException {
 		try {
 			api.v1EndpointDelete(appId, endpointId);
diff --git a/java/lib/src/main/java/com/svix/EventType.java b/java/lib/src/main/java/com/svix/EventType.java
index 8ef77c8cd..492fb8c3e 100644
--- a/java/lib/src/main/java/com/svix/EventType.java
+++ b/java/lib/src/main/java/com/svix/EventType.java
@@ -4,6 +4,7 @@
 import com.svix.internal.api.EventTypeApi;
 import com.svix.models.EventTypeIn;
 import com.svix.models.EventTypeOut;
+import com.svix.models.EventTypePatch;
 import com.svix.models.EventTypeUpdate;
 import com.svix.models.ListResponseEventTypeOut;
 
@@ -50,6 +51,14 @@ public EventTypeOut update(final String eventTypeName, final EventTypeUpdate eve
 		}
 	}
 
+	public EventTypeOut patch(final String eventTypeName, final EventTypePatch eventTypePatch) throws ApiException {
+		try {
+			return api.v1EventTypePatch(eventTypeName, eventTypePatch);
+		} catch (com.svix.internal.ApiException e) {
+			throw Utils.wrapInternalApiException(e);
+		}
+	}
+
 	public void delete(final String eventTypeName) throws ApiException {
 		try {
 			api.v1EventTypeDelete(eventTypeName, null);
diff --git a/javascript/src/index.ts b/javascript/src/index.ts
index 39bedec8e..b17845fae 100644
--- a/javascript/src/index.ts
+++ b/javascript/src/index.ts
@@ -59,6 +59,9 @@ import {
   BackgroundTaskOut,
   ListResponseBackgroundTaskOut,
   BackgroundTasksApi,
+  ApplicationPatch,
+  EndpointPatch,
+  EventTypePatch,
 } from "./openapi/index";
 export * from "./openapi/models/all";
 export * from "./openapi/apis/exception";
@@ -253,6 +256,10 @@ class Application {
     return this.api.v1ApplicationUpdate({ appId, applicationIn });
   }
 
+  public patch(appId: string, applicationPatch: ApplicationPatch): Promise<ApplicationOut> {
+    return this.api.v1ApplicationPatch({ appId, applicationPatch });
+  }
+
   public delete(appId: string): Promise<void> {
     return this.api.v1ApplicationDelete({ appId });
   }
@@ -300,6 +307,18 @@ class Endpoint {
     });
   }
 
+  public patch(
+    appId: string,
+    endpointId: string,
+    endpointPatch: EndpointPatch
+  ): Promise<EndpointOut> {
+    return this.api.v1EndpointPatch({
+      appId,
+      endpointId,
+      endpointPatch,
+    });
+  }
+
   public delete(appId: string, endpointId: string): Promise<void> {
     return this.api.v1EndpointDelete({
       endpointId,
@@ -459,6 +478,16 @@ class EventType {
     });
   }
 
+  public patch(
+    eventTypeName: string,
+    eventTypePatch: EventTypePatch
+  ): Promise<EventTypeOut> {
+    return this.api.v1EventTypePatch({
+      eventTypeName,
+      eventTypePatch,
+    });
+  }
+
   public delete(eventTypeName: string): Promise<void> {
     return this.api.v1EventTypeDelete({ eventTypeName });
   }
diff --git a/kotlin/lib/src/main/kotlin/Application.kt b/kotlin/lib/src/main/kotlin/Application.kt
index ad700fb46..0482eaf1f 100644
--- a/kotlin/lib/src/main/kotlin/Application.kt
+++ b/kotlin/lib/src/main/kotlin/Application.kt
@@ -4,6 +4,7 @@ import com.svix.kotlin.exceptions.ApiException
 import com.svix.kotlin.internal.apis.ApplicationApi
 import com.svix.kotlin.models.ApplicationIn
 import com.svix.kotlin.models.ApplicationOut
+import com.svix.kotlin.models.ApplicationPatch
 import com.svix.kotlin.models.ListResponseApplicationOut
 
 class Application internal constructor(token: String, options: SvixOptions) {
@@ -56,6 +57,14 @@ class Application internal constructor(token: String, options: SvixOptions) {
         }
     }
 
+    suspend fun patch(appId: String, applicationPatch: ApplicationPatch): ApplicationOut {
+        try {
+            return api.v1ApplicationPatch(appId, applicationPatch)
+        } catch (e: Exception) {
+            throw ApiException.wrap(e)
+        }
+    }
+
     suspend fun delete(appId: String) {
         try {
             api.v1ApplicationDelete(appId)
diff --git a/kotlin/lib/src/main/kotlin/Endpoint.kt b/kotlin/lib/src/main/kotlin/Endpoint.kt
index 41736b018..76b9c2ef8 100644
--- a/kotlin/lib/src/main/kotlin/Endpoint.kt
+++ b/kotlin/lib/src/main/kotlin/Endpoint.kt
@@ -7,6 +7,7 @@ import com.svix.kotlin.models.EndpointHeadersOut
 import com.svix.kotlin.models.EndpointHeadersPatchIn
 import com.svix.kotlin.models.EndpointIn
 import com.svix.kotlin.models.EndpointOut
+import com.svix.kotlin.models.EndpointPatch
 import com.svix.kotlin.models.EndpointSecretOut
 import com.svix.kotlin.models.EndpointSecretRotateIn
 import com.svix.kotlin.models.EndpointStats
@@ -84,6 +85,22 @@ class Endpoint internal constructor(token: String, options: SvixOptions) {
         }
     }
 
+    suspend fun patch(
+        appId: String,
+        endpointId: String,
+        endpointPatch: EndpointPatch
+    ): EndpointOut {
+        try {
+            return api.v1EndpointPatch(
+                appId,
+                endpointId,
+                endpointPatch
+            )
+        } catch (e: Exception) {
+            throw ApiException.wrap(e)
+        }
+    }
+
     suspend fun delete(appId: String, endpointId: String) {
         try {
             api.v1EndpointDelete(appId, endpointId)
diff --git a/kotlin/lib/src/main/kotlin/EventType.kt b/kotlin/lib/src/main/kotlin/EventType.kt
index 2f29a1063..8324fc73c 100644
--- a/kotlin/lib/src/main/kotlin/EventType.kt
+++ b/kotlin/lib/src/main/kotlin/EventType.kt
@@ -4,6 +4,7 @@ import com.svix.kotlin.exceptions.ApiException
 import com.svix.kotlin.internal.apis.EventTypeApi
 import com.svix.kotlin.models.EventTypeIn
 import com.svix.kotlin.models.EventTypeOut
+import com.svix.kotlin.models.EventTypePatch
 import com.svix.kotlin.models.EventTypeUpdate
 import com.svix.kotlin.models.ListResponseEventTypeOut
 
@@ -49,6 +50,14 @@ class EventType internal constructor(token: String, options: SvixOptions) {
         }
     }
 
+    suspend fun patch(eventTypeName: String, eventTypePatch: EventTypePatch): EventTypeOut {
+        try {
+            return api.v1EventTypePatch(eventTypeName, eventTypePatch)
+        } catch (e: Exception) {
+            throw ApiException.wrap(e)
+        }
+    }
+
     suspend fun delete(eventTypeName: String) {
         try {
             api.v1EventTypeDelete(eventTypeName, null)
diff --git a/openapi.json b/openapi.json
index 61fae9559..0f15f4e3a 100644
--- a/openapi.json
+++ b/openapi.json
@@ -4015,7 +4015,7 @@
             },
             "patch": {
                 "description": "Partially update an application.",
-                "operationId": "patch_application",
+                "operationId": "v1.application.patch",
                 "parameters": [
                     {
                         "description": "The app's ID or UID",
@@ -4133,6 +4133,68 @@
                 "summary": "Patch Application",
                 "tags": [
                     "Application"
+                ],
+                "x-codeSamples": [
+                    {
+                        "label": "JavaScript",
+                        "lang": "JavaScript",
+                        "source": "const applicationOut = await svix.application.patch(\"app_id\", {\n    rateLimit: null,\n    uid: \"unique-app-identifier\"\n});"
+                    },
+                    {
+                        "label": "TypeScript",
+                        "lang": "JavaScript",
+                        "source": "const applicationOut = await svix.application.patch(\"app_id\", {\n    rateLimit: null,\n    uid: \"unique-app-identifier\"\n});"
+                    },
+                    {
+                        "label": "Python",
+                        "lang": "Python",
+                        "source": "application_out = svix.application.patch(\"app_id\", ApplicationPatch(\n    rate_limit=None,\n    uid=\"unique-app-identifier\"\n))"
+                    },
+                    {
+                        "label": "Python (Async)",
+                        "lang": "Python",
+                        "source": "application_out = await svix.application.patch(\"app_id\", ApplicationPatch(\n    rate_limit=None,\n    uid=\"unique-app-identifier\"\n))"
+                    },
+                    {
+                        "label": "Go",
+                        "lang": "Go",
+                        "source": "applicationOut, err := svixClient.Application.Patch(ctx, \"app_id\", &ApplicationPatch{\n    RateLimit: nil,\n    Uid: \"unique-app-identifier\",\n})"
+                    },
+                    {
+                        "label": "Kotlin",
+                        "lang": "Kotlin",
+                        "source": "val applicationOut = svix.application.patch(\"app_id\", ApplicationPatch()\n    .rateLimit(null)\n    .uid(\"unique-app-identifier\")\n)"
+                    },
+                    {
+                        "label": "Java",
+                        "lang": "Java",
+                        "source": "ApplicationOut applicationOut = svix.getApplication().patch(\"app_id\", new ApplicationPatch()\n    .rateLimit(null)\n    .uid(\"unique-app-identifier\")\n)"
+                    },
+                    {
+                        "label": "Ruby",
+                        "lang": "Ruby",
+                        "source": "application_out = svix.application.patch(\"app_id\", Svix::ApplicationPatch.new({\n    \"rate_limit\": nil,\n    \"uid\": \"unique-app-identifier\"\n}))"
+                    },
+                    {
+                        "label": "Rust",
+                        "lang": "Rust",
+                        "source": "let application_out = svix.application().patch(\"app_id\", ApplicationPatch {\n    rate_limit: None,\n    uid: Some(\"unique-app-identifier\".to_string()),\n}).await?;"
+                    },
+                    {
+                        "label": "C#",
+                        "lang": "C#",
+                        "source": "var applicationOut = await svix.Application.PatchAsync(\"app_id\", new ApplicationPatch{\n    rateLimit: null,\n    uid: \"unique-app-identifier\"\n})"
+                    },
+                    {
+                        "label": "CLI",
+                        "lang": "Shell",
+                        "source": "svix application patch \"app_id\" '{\n    \"rateLimit\": null,\n    \"uid\": \"unique-app-identifier\"\n}'"
+                    },
+                    {
+                        "label": "cURL",
+                        "lang": "Shell",
+                        "source": "curl -X 'PATCH' \\\n  'https://api.svix.com/api/v1/app/{app_id}/' \\\n  -H 'Authorization: Bearer AUTH_TOKEN' \\\n  -H 'Accept: application/json' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n        \"rateLimit\": null,\n        \"uid\": \"unique-app-identifier\"\n    }'"
+                    }
                 ]
             },
             "put": {
@@ -5682,7 +5744,7 @@
             },
             "patch": {
                 "description": "Partially update an endpoint.",
-                "operationId": "patch_endpoint",
+                "operationId": "v1.endpoint.patch",
                 "parameters": [
                     {
                         "description": "The app's ID or UID",
@@ -5815,6 +5877,68 @@
                 "summary": "Patch Endpoint",
                 "tags": [
                     "Endpoint"
+                ],
+                "x-codeSamples": [
+                    {
+                        "label": "JavaScript",
+                        "lang": "JavaScript",
+                        "source": "const endpointOut = await svix.endpoint.patch(\"app_id\", \"endpoint_id\", {\n    rateLimit: null,\n    uid: \"unique-ep-identifier\",\n    filterTypes: null,\n    channels: null,\n    secret: \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"\n});"
+                    },
+                    {
+                        "label": "TypeScript",
+                        "lang": "JavaScript",
+                        "source": "const endpointOut = await svix.endpoint.patch(\"app_id\", \"endpoint_id\", {\n    rateLimit: null,\n    uid: \"unique-ep-identifier\",\n    filterTypes: null,\n    channels: null,\n    secret: \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"\n});"
+                    },
+                    {
+                        "label": "Python",
+                        "lang": "Python",
+                        "source": "endpoint_out = svix.endpoint.patch(\"app_id\", \"endpoint_id\", EndpointPatch(\n    rate_limit=None,\n    uid=\"unique-ep-identifier\",\n    filter_types=None,\n    channels=None,\n    secret=\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"\n))"
+                    },
+                    {
+                        "label": "Python (Async)",
+                        "lang": "Python",
+                        "source": "endpoint_out = await svix.endpoint.patch(\"app_id\", \"endpoint_id\", EndpointPatch(\n    rate_limit=None,\n    uid=\"unique-ep-identifier\",\n    filter_types=None,\n    channels=None,\n    secret=\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"\n))"
+                    },
+                    {
+                        "label": "Go",
+                        "lang": "Go",
+                        "source": "endpointOut, err := svixClient.Endpoint.Patch(ctx, \"app_id\", \"endpoint_id\", &EndpointPatch{\n    RateLimit: nil,\n    Uid: \"unique-ep-identifier\",\n    FilterTypes: nil,\n    Channels: nil,\n    Secret: \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\",\n})"
+                    },
+                    {
+                        "label": "Kotlin",
+                        "lang": "Kotlin",
+                        "source": "val endpointOut = svix.endpoint.patch(\"app_id\", \"endpoint_id\", EndpointPatch()\n    .rateLimit(null)\n    .uid(\"unique-ep-identifier\")\n    .filterTypes(null)\n    .channels(null)\n    .secret(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\")\n)"
+                    },
+                    {
+                        "label": "Java",
+                        "lang": "Java",
+                        "source": "EndpointOut endpointOut = svix.getEndpoint().patch(\"app_id\", \"endpoint_id\", new EndpointPatch()\n    .rateLimit(null)\n    .uid(\"unique-ep-identifier\")\n    .filterTypes(null)\n    .channels(null)\n    .secret(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\")\n)"
+                    },
+                    {
+                        "label": "Ruby",
+                        "lang": "Ruby",
+                        "source": "endpoint_out = svix.endpoint.patch(\"app_id\", \"endpoint_id\", Svix::EndpointPatch.new({\n    \"rate_limit\": nil,\n    \"uid\": \"unique-ep-identifier\",\n    \"filter_types\": nil,\n    \"channels\": nil,\n    \"secret\": \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"\n}))"
+                    },
+                    {
+                        "label": "Rust",
+                        "lang": "Rust",
+                        "source": "let endpoint_out = svix.endpoint().patch(\"app_id\", \"endpoint_id\", EndpointPatch {\n    rate_limit: None,\n    uid: Some(\"unique-ep-identifier\".to_string()),\n    filter_types: None,\n    channels: None,\n    secret: Some(\"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\".to_string()),\n}).await?;"
+                    },
+                    {
+                        "label": "C#",
+                        "lang": "C#",
+                        "source": "var endpointOut = await svix.Endpoint.PatchAsync(\"app_id\", \"endpoint_id\", new EndpointPatch{\n    rateLimit: null,\n    uid: \"unique-ep-identifier\",\n    filterTypes: null,\n    channels: null,\n    secret: \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"\n})"
+                    },
+                    {
+                        "label": "CLI",
+                        "lang": "Shell",
+                        "source": "svix endpoint patch \"app_id\" \"endpoint_id\" '{\n    \"rateLimit\": null,\n    \"uid\": \"unique-ep-identifier\",\n    \"filterTypes\": null,\n    \"channels\": null,\n    \"secret\": \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"\n}'"
+                    },
+                    {
+                        "label": "cURL",
+                        "lang": "Shell",
+                        "source": "curl -X 'PATCH' \\\n  'https://api.svix.com/api/v1/app/{app_id}/endpoint/{endpoint_id}/' \\\n  -H 'Authorization: Bearer AUTH_TOKEN' \\\n  -H 'Accept: application/json' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n        \"rateLimit\": null,\n        \"uid\": \"unique-ep-identifier\",\n        \"filterTypes\": null,\n        \"channels\": null,\n        \"secret\": \"whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD\"\n    }'"
+                    }
                 ]
             },
             "put": {
@@ -15427,7 +15551,7 @@
             },
             "patch": {
                 "description": "Partially update an event type.",
-                "operationId": "patch_event_type",
+                "operationId": "v1.event-type.patch",
                 "parameters": [
                     {
                         "description": "The event type's name",
@@ -15544,6 +15668,68 @@
                 "summary": "Patch Event Type",
                 "tags": [
                     "Event Type"
+                ],
+                "x-codeSamples": [
+                    {
+                        "label": "JavaScript",
+                        "lang": "JavaScript",
+                        "source": "const eventTypeOut = await svix.eventType.patch(\"event_type_name\", {\n    schemas: {\"description\":\"An invoice was paid by a user\",\"properties\":{\"invoiceId\":{\"description\":\"The invoice id\",\"type\":\"string\"},\"userId\":{\"description\":\"The user id\",\"type\":\"string\"}},\"required\":[\"invoiceId\",\"userId\"],\"title\":\"Invoice Paid Event\",\"type\":\"object\"},\n    featureFlag: \"cool-new-feature\"\n});"
+                    },
+                    {
+                        "label": "TypeScript",
+                        "lang": "JavaScript",
+                        "source": "const eventTypeOut = await svix.eventType.patch(\"event_type_name\", {\n    schemas: {\"description\":\"An invoice was paid by a user\",\"properties\":{\"invoiceId\":{\"description\":\"The invoice id\",\"type\":\"string\"},\"userId\":{\"description\":\"The user id\",\"type\":\"string\"}},\"required\":[\"invoiceId\",\"userId\"],\"title\":\"Invoice Paid Event\",\"type\":\"object\"},\n    featureFlag: \"cool-new-feature\"\n});"
+                    },
+                    {
+                        "label": "Python",
+                        "lang": "Python",
+                        "source": "event_type_out = svix.event_type.patch(\"event_type_name\", EventTypePatch(\n    schemas={\"description\": \"An invoice was paid by a user\", \"properties\": {\"invoiceId\": {\"description\": \"The invoice id\", \"type\": \"string\"}, \"userId\": {\"description\": \"The user id\", \"type\": \"string\"}}, \"required\": [\"invoiceId\", \"userId\"], \"title\": \"Invoice Paid Event\", \"type\": \"object\"},\n    feature_flag=\"cool-new-feature\"\n))"
+                    },
+                    {
+                        "label": "Python (Async)",
+                        "lang": "Python",
+                        "source": "event_type_out = await svix.event_type.patch(\"event_type_name\", EventTypePatch(\n    schemas={\"description\": \"An invoice was paid by a user\", \"properties\": {\"invoiceId\": {\"description\": \"The invoice id\", \"type\": \"string\"}, \"userId\": {\"description\": \"The user id\", \"type\": \"string\"}}, \"required\": [\"invoiceId\", \"userId\"], \"title\": \"Invoice Paid Event\", \"type\": \"object\"},\n    feature_flag=\"cool-new-feature\"\n))"
+                    },
+                    {
+                        "label": "Go",
+                        "lang": "Go",
+                        "source": "eventTypeOut, err := svixClient.EventType.Patch(ctx, \"event_type_name\", &EventTypePatch{\n    Schemas: map[string]interface{}{\"description\": \"An invoice was paid by a user\", \"properties\": map[interface{}]interface{}{\"invoiceId\": map[string]interface{}{\"description\": \"The invoice id\", \"type\": \"string\"}, \"userId\": map[string]interface{}{\"description\": \"The user id\", \"type\": \"string\"}}, \"required\": []string{\"invoiceId\", \"userId\"}, \"title\": \"Invoice Paid Event\", \"type\": \"object\"},\n    FeatureFlag: \"cool-new-feature\",\n})"
+                    },
+                    {
+                        "label": "Kotlin",
+                        "lang": "Kotlin",
+                        "source": "val eventTypeOut = svix.eventType.patch(\"event_type_name\", EventTypePatch()\n    .schemas(\"\"\"{\"description\":\"An invoice was paid by a user\",\"properties\":{\"invoiceId\":{\"description\":\"The invoice id\",\"type\":\"string\"},\"userId\":{\"description\":\"The user id\",\"type\":\"string\"}},\"required\":[\"invoiceId\",\"userId\"],\"title\":\"Invoice Paid Event\",\"type\":\"object\"}\"\"\")\n    .featureFlag(\"cool-new-feature\")\n)"
+                    },
+                    {
+                        "label": "Java",
+                        "lang": "Java",
+                        "source": "EventTypeOut eventTypeOut = svix.getEventType().patch(\"event_type_name\", new EventTypePatch()\n    .schemas(\"{\\\"description\\\":\\\"An invoice was paid by a user\\\",\\\"properties\\\":{\\\"invoiceId\\\":{\\\"description\\\":\\\"The invoice id\\\",\\\"type\\\":\\\"string\\\"},\\\"userId\\\":{\\\"description\\\":\\\"The user id\\\",\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"invoiceId\\\",\\\"userId\\\"],\\\"title\\\":\\\"Invoice Paid Event\\\",\\\"type\\\":\\\"object\\\"}\")\n    .featureFlag(\"cool-new-feature\")\n)"
+                    },
+                    {
+                        "label": "Ruby",
+                        "lang": "Ruby",
+                        "source": "event_type_out = svix.event_type.patch(\"event_type_name\", Svix::EventTypePatch.new({\n    \"schemas\": {\"description\":\"An invoice was paid by a user\",\"properties\":{\"invoiceId\":{\"description\":\"The invoice id\",\"type\":\"string\"},\"userId\":{\"description\":\"The user id\",\"type\":\"string\"}},\"required\":[\"invoiceId\",\"userId\"],\"title\":\"Invoice Paid Event\",\"type\":\"object\"},\n    \"feature_flag\": \"cool-new-feature\"\n}))"
+                    },
+                    {
+                        "label": "Rust",
+                        "lang": "Rust",
+                        "source": "let event_type_out = svix.event_type().patch(\"event_type_name\", EventTypePatch {\n    schemas: Some(json!({\"description\":\"An invoice was paid by a user\",\"properties\":{\"invoiceId\":{\"description\":\"The invoice id\",\"type\":\"string\"},\"userId\":{\"description\":\"The user id\",\"type\":\"string\"}},\"required\":[\"invoiceId\",\"userId\"],\"title\":\"Invoice Paid Event\",\"type\":\"object\"})),\n    feature_flag: Some(\"cool-new-feature\".to_string()),\n}).await?;"
+                    },
+                    {
+                        "label": "C#",
+                        "lang": "C#",
+                        "source": "var eventTypeOut = await svix.EventType.PatchAsync(\"event_type_name\", new EventTypePatch{\n    schemas: new {\"description\":\"An invoice was paid by a user\",\"properties\":{\"invoiceId\":{\"description\":\"The invoice id\",\"type\":\"string\"},\"userId\":{\"description\":\"The user id\",\"type\":\"string\"}},\"required\":[\"invoiceId\",\"userId\"],\"title\":\"Invoice Paid Event\",\"type\":\"object\"},\n    featureFlag: \"cool-new-feature\"\n})"
+                    },
+                    {
+                        "label": "CLI",
+                        "lang": "Shell",
+                        "source": "svix event-type patch \"event_type_name\" '{\n    \"schemas\": {\"description\":\"An invoice was paid by a user\",\"properties\":{\"invoiceId\":{\"description\":\"The invoice id\",\"type\":\"string\"},\"userId\":{\"description\":\"The user id\",\"type\":\"string\"}},\"required\":[\"invoiceId\",\"userId\"],\"title\":\"Invoice Paid Event\",\"type\":\"object\"},\n    \"featureFlag\": \"cool-new-feature\"\n}'"
+                    },
+                    {
+                        "label": "cURL",
+                        "lang": "Shell",
+                        "source": "curl -X 'PATCH' \\\n  'https://api.svix.com/api/v1/event-type/{event_type_name}/' \\\n  -H 'Authorization: Bearer AUTH_TOKEN' \\\n  -H 'Accept: application/json' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n        \"schemas\": {\"description\":\"An invoice was paid by a user\",\"properties\":{\"invoiceId\":{\"description\":\"The invoice id\",\"type\":\"string\"},\"userId\":{\"description\":\"The user id\",\"type\":\"string\"}},\"required\":[\"invoiceId\",\"userId\"],\"title\":\"Invoice Paid Event\",\"type\":\"object\"},\n        \"featureFlag\": \"cool-new-feature\"\n    }'"
+                    }
                 ]
             },
             "put": {
diff --git a/python/svix/api.py b/python/svix/api.py
index 21447bb73..8256d9c79 100644
--- a/python/svix/api.py
+++ b/python/svix/api.py
@@ -9,6 +9,7 @@
     v1_application_delete,
     v1_application_get,
     v1_application_list,
+    v1_application_patch,
     v1_application_update,
 )
 from .internal.openapi_client.api.authentication import (
@@ -25,6 +26,7 @@
     v1_endpoint_get_secret,
     v1_endpoint_get_stats,
     v1_endpoint_list,
+    v1_endpoint_patch,
     v1_endpoint_patch_headers,
     v1_endpoint_recover,
     v1_endpoint_replay,
@@ -40,6 +42,7 @@
     v1_event_type_delete,
     v1_event_type_get,
     v1_event_type_list,
+    v1_event_type_patch,
     v1_event_type_update,
 )
 from .internal.openapi_client.api.integration import (
@@ -72,6 +75,7 @@
 from .internal.openapi_client.models.app_portal_access_out import AppPortalAccessOut
 from .internal.openapi_client.models.application_in import ApplicationIn
 from .internal.openapi_client.models.application_out import ApplicationOut
+from .internal.openapi_client.models.application_patch import ApplicationPatch
 from .internal.openapi_client.models.background_task_out import BackgroundTaskOut
 from .internal.openapi_client.models.background_task_status import BackgroundTaskStatus
 from .internal.openapi_client.models.background_task_type import BackgroundTaskType
@@ -82,6 +86,7 @@
 from .internal.openapi_client.models.endpoint_in import EndpointIn
 from .internal.openapi_client.models.endpoint_message_out_payload import EndpointMessageOutPayload
 from .internal.openapi_client.models.endpoint_out import EndpointOut
+from .internal.openapi_client.models.endpoint_patch import EndpointPatch
 from .internal.openapi_client.models.endpoint_secret_out import EndpointSecretOut
 from .internal.openapi_client.models.endpoint_secret_rotate_in import EndpointSecretRotateIn
 from .internal.openapi_client.models.endpoint_stats import EndpointStats
@@ -91,6 +96,7 @@
 from .internal.openapi_client.models.event_example_in import EventExampleIn
 from .internal.openapi_client.models.event_type_in import EventTypeIn
 from .internal.openapi_client.models.event_type_out import EventTypeOut
+from .internal.openapi_client.models.event_type_patch import EventTypePatch
 from .internal.openapi_client.models.event_type_update import EventTypeUpdate
 from .internal.openapi_client.models.integration_in import IntegrationIn
 from .internal.openapi_client.models.integration_key_out import IntegrationKeyOut
@@ -254,6 +260,9 @@ async def get_or_create(
     async def update(self, app_id: str, application_in: ApplicationIn) -> ApplicationOut:
         return await v1_application_update.asyncio(client=self._client, app_id=app_id, json_body=application_in)
 
+    async def patch(self, app_id: str, application_patch: ApplicationPatch) -> ApplicationOut:
+        return await v1_application_patch.asyncio(client=self._client, app_id=app_id, json_body=application_patch)
+
     async def delete(self, app_id: str) -> None:
         return await v1_application_delete.asyncio(client=self._client, app_id=app_id)
 
@@ -276,6 +285,9 @@ def get_or_create(self, application_in: ApplicationIn, options: PostOptions = Po
     def update(self, app_id: str, application_in: ApplicationIn) -> ApplicationOut:
         return v1_application_update.sync(client=self._client, app_id=app_id, json_body=application_in)
 
+    def patch(self, app_id: str, application_patch: ApplicationPatch) -> ApplicationOut:
+        return v1_application_patch.sync(client=self._client, app_id=app_id, json_body=application_patch)
+
     def delete(self, app_id: str) -> None:
         return v1_application_delete.sync(client=self._client, app_id=app_id)
 
@@ -307,6 +319,14 @@ async def update(self, app_id: str, endpoint_id: str, endpoint_update: EndpointU
             json_body=endpoint_update,
         )
 
+    async def patch(self, app_id: str, endpoint_id: str, endpoint_patch: EndpointPatch) -> EndpointOut:
+        return await v1_endpoint_patch.asyncio(
+            client=self._client,
+            app_id=app_id,
+            endpoint_id=endpoint_id,
+            json_body=endpoint_patch,
+        )
+
     async def delete(self, app_id: str, endpoint_id: str) -> None:
         return await v1_endpoint_delete.asyncio(
             client=self._client,
@@ -429,6 +449,14 @@ def update(self, app_id: str, endpoint_id: str, endpoint_update: EndpointUpdate)
             json_body=endpoint_update,
         )
 
+    def patch(self, app_id: str, endpoint_id: str, endpoint_patch: EndpointPatch) -> EndpointOut:
+        return v1_endpoint_patch.sync(
+            client=self._client,
+            app_id=app_id,
+            endpoint_id=endpoint_id,
+            json_body=endpoint_patch,
+        )
+
     def delete(self, app_id: str, endpoint_id: str) -> None:
         return v1_endpoint_delete.sync(
             client=self._client,
@@ -562,6 +590,13 @@ async def update(self, event_type_name: str, event_type_update: EventTypeUpdate)
             json_body=event_type_update,
         )
 
+    async def patch(self, event_type_name: str, event_type_patch: EventTypePatch) -> EventTypeOut:
+        return await v1_event_type_patch.asyncio(
+            client=self._client,
+            event_type_name=event_type_name,
+            json_body=event_type_patch,
+        )
+
     async def delete(self, event_type_name: str) -> None:
         return await v1_event_type_delete.asyncio(
             client=self._client,
@@ -596,6 +631,13 @@ def update(self, event_type_name: str, event_type_update: EventTypeUpdate) -> Ev
             json_body=event_type_update,
         )
 
+    def patch(self, event_type_name: str, event_type_patch: EventTypePatch) -> EventTypeOut:
+        return v1_event_type_patch.sync(
+            client=self._client,
+            event_type_name=event_type_name,
+            json_body=event_type_patch,
+        )
+
     def delete(self, event_type_name: str) -> None:
         return v1_event_type_delete.sync(
             client=self._client,
@@ -1062,6 +1104,7 @@ def message_attempt(self) -> MessageAttempt:
 __all__ = [
     "ApplicationIn",
     "ApplicationOut",
+    "ApplicationPatch",
     "ListResponseApplicationOut",
     "DashboardAccessOut",
     "EndpointHeadersIn",
@@ -1069,11 +1112,13 @@ def message_attempt(self) -> MessageAttempt:
     "EndpointHeadersOut",
     "EndpointIn",
     "EndpointOut",
+    "EndpointPatch",
     "EndpointSecretOut",
     "EndpointSecretRotateIn",
     "ListResponseEndpointOut",
     "EventTypeIn",
     "EventTypeOut",
+    "EventTypePatch",
     "EventTypeUpdate",
     "ListResponseEventTypeOut",
     "ListResponseMessageOut",
diff --git a/ruby/lib/svix/application_api.rb b/ruby/lib/svix/application_api.rb
index b5f75b7da..5c1e9abb7 100644
--- a/ruby/lib/svix/application_api.rb
+++ b/ruby/lib/svix/application_api.rb
@@ -24,6 +24,10 @@ def update(app_id, application_in)
       return @api.v1_application_update(app_id, application_in)
     end
 
+    def patch(app_id, application_patch)
+      return @api.v1_application_patch(app_id, application_patch)
+    end
+
     def delete(app_id)
       return @api.v1_application_delete(app_id)
     end
diff --git a/ruby/lib/svix/endpoint_api.rb b/ruby/lib/svix/endpoint_api.rb
index 11c4e7595..184ed6fd0 100644
--- a/ruby/lib/svix/endpoint_api.rb
+++ b/ruby/lib/svix/endpoint_api.rb
@@ -22,6 +22,10 @@ def update(app_id, endpoint_id, endpoint_update)
       return @api.v1_endpoint_update(app_id, endpoint_id, endpoint_update)
     end
 
+    def patch(app_id, endpoint_id, endpoint_patch)
+      return @api.v1_endpoint_patch(app_id, endpoint_id, endpoint_patch)
+    end
+
     def delete(app_id, endpoint_id)
       return @api.v1_endpoint_delete(app_id, endpoint_id)
     end
diff --git a/ruby/lib/svix/event_type_api.rb b/ruby/lib/svix/event_type_api.rb
index 8f47c6c6a..e17b245a9 100644
--- a/ruby/lib/svix/event_type_api.rb
+++ b/ruby/lib/svix/event_type_api.rb
@@ -22,6 +22,10 @@ def update(event_type_name, event_type_update)
       return @api.v1_event_type_update(event_type_name, event_type_update)
     end
 
+    def patch(event_type_name, event_type_patch)
+      return @api.v1_event_type_patch(event_type_name, event_type_patch)
+    end
+
     def delete(event_type_name)
       return @api.v1_event_type_delete(event_type_name)
     end
diff --git a/rust/src/api.rs b/rust/src/api.rs
index 95f3d6acd..f0a8b8368 100644
--- a/rust/src/api.rs
+++ b/rust/src/api.rs
@@ -226,6 +226,22 @@ impl<'a> Application<'a> {
         .await?)
     }
 
+    pub async fn patch(
+        &self,
+        app_id: String,
+        application_patch: ApplicationPatch,
+        _: Option<PostOptions>,
+    ) -> Result<ApplicationOut> {
+        Ok(application_api::v1_application_patch(
+            self.cfg,
+            application_api::V1ApplicationPatchParams {
+                app_id,
+                application_patch,
+            },
+        )
+        .await?)
+    }
+
     pub async fn delete(&self, app_id: String) -> Result<()> {
         Ok(application_api::v1_application_delete(
             self.cfg,
@@ -326,6 +342,24 @@ impl<'a> Endpoint<'a> {
         .await?)
     }
 
+    pub async fn patch(
+        &self,
+        app_id: String,
+        endpoint_id: String,
+        endpoint_patch: EndpointPatch,
+        _: Option<PostOptions>,
+    ) -> Result<EndpointOut> {
+        Ok(endpoint_api::v1_endpoint_patch(
+            self.cfg,
+            endpoint_api::V1EndpointPatchParams {
+                app_id,
+                endpoint_id,
+                endpoint_patch,
+            },
+        )
+        .await?)
+    }
+
     pub async fn delete(&self, app_id: String, endpoint_id: String) -> Result<()> {
         Ok(endpoint_api::v1_endpoint_delete(
             self.cfg,
@@ -713,6 +747,22 @@ impl<'a> EventType<'a> {
         .await?)
     }
 
+    pub async fn patch(
+        &self,
+        event_type_name: String,
+        event_type_patch: EventTypePatch,
+        _: Option<PostOptions>,
+    ) -> Result<EventTypeOut> {
+        Ok(event_type_api::v1_event_type_patch(
+            self.cfg,
+            event_type_api::V1EventTypePatchParams {
+                event_type_name,
+                event_type_patch,
+            },
+        )
+        .await?)
+    }
+
     pub async fn delete(&self, event_type_name: String) -> Result<()> {
         Ok(event_type_api::v1_event_type_delete(
             self.cfg,


Test patch: