## Rotate OAuth Client Secret `client.IAM.OAuthClients.RotateSecret(ctx, oauthClientID, body) (*OAuthClientRotateSecretResponse, error)` **post** `/accounts/{account_id}/oauth_clients/{oauth_client_id}/rotate_secret` Creates a second client secret so you can update your client configuration before deleting the old one. The `has_rotated_secret` field on the client will be set to `true`. ### Parameters - `oauthClientID string` The unique identifier for an OAuth client. - `body OAuthClientRotateSecretParams` - `AccountID param.Field[string]` Account identifier tag. ### Returns - `type OAuthClientRotateSecretResponse struct{…}` - `ClientSecret string` The new client secret. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/iam" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.IAM.OAuthClients.RotateSecret( context.TODO(), "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4", iam.OAuthClientRotateSecretParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.ClientSecret) } ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "client_secret": "cf-oauth-secret-new-example" } } ```