> For AI agents: the complete documentation index is available at [llms.txt](https://docs.snaptrade.com/llms.txt). Markdown versions of documentation pages are available by appending .md to the URL path.

# Rotate user secret

POST https://api.snaptrade.com/snapTrade/resetUserSecret

Rotates the secret for a SnapTrade user. You might use this if `userSecret` is compromised. Please note that if you call this endpoint and fail to save the new secret, you'll no longer be able to access any data for this user, and your only option will be to delete and recreate the user, then ask them to reconnect.


Reference: https://docs.snaptrade.com/reference/Authentication/Authentication_resetSnapTradeUserSecret

## Code Examples

### TypeScript

```typescript

import { Snaptrade } from "snaptrade-typescript-sdk";

const snaptrade = new Snaptrade({
  clientId: "PARTNER_CLIENT_ID",
  consumerKey: "CONSUMER_KEY",
});

const response =
  await snaptrade.authentication.resetSnapTradeUserSecret(
    {
      userId: "snaptrade-user-123",
      userSecret:
        "adf2aa34-8219-40f7-a6b3-60156985cc61",
    },
  );
console.log(response.data);

```

### Python

```python

from pprint import pprint
from snaptrade_client import SnapTrade

snaptrade = SnapTrade(
    client_id="PARTNER_CLIENT_ID",
    consumer_key="CONSUMER_KEY"
)

response = snaptrade.authentication.reset_snap_trade_user_secret(
    user_id="snaptrade-user-123",
    user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61"
)
pprint(response.body)

```

## OpenAPI Specification

```yaml

openapi: 3.0.0
info:
  description: Connect brokerage accounts to your app for live positions and trading
  version: 1.0.0
  title: SnapTrade
  termsOfService: N/A
  contact:
    email: api@snaptrade.com
  x-konfig-ignore:
    potential-incorrect-type: true
  x-readme:
    explorer-enabled: false
paths:
  /snapTrade/resetUserSecret:
    post:
      tags:
        - Authentication
      summary: Rotate user secret
      description: >
        Rotates the secret for a SnapTrade user. You might use this if
        `userSecret` is compromised. Please note that if you call this endpoint
        and fail to save the new secret, you'll no longer be able to access any
        data for this user, and your only option will be to delete and recreate
        the user, then ask them to reconnect.
      operationId: Authentication_resetSnapTradeUserSecret
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                userId:
                  description: >-
                    SnapTrade User ID. This is chosen by the API partner and can
                    be any string that is a) unique to the user, and b)
                    immutable for the user. It is recommended to NOT use email
                    addresses for this property because they are usually not
                    immutable.
                  type: string
                  example: snaptrade-user-123
                userSecret:
                  description: >-
                    SnapTrade User Secret. This is a randomly generated string
                    and should be stored securely. If compromised, please rotate
                    it via the [rotate user secret
                    endpoint](/reference/Authentication/Authentication_resetSnapTradeUserSecret).
                  type: string
                  example: adf2aa34-8219-40f7-a6b3-60156985cc61
      responses:
        '200':
          description: New user secret is generated
          content:
            application/json:
              schema:
                type: object
                properties:
                  userId:
                    description: >-
                      SnapTrade User ID. This is chosen by the API partner and
                      can be any string that is a) unique to the user, and b)
                      immutable for the user. It is recommended to NOT use email
                      addresses for this property because they are usually not
                      immutable.
                    type: string
                    example: snaptrade-user-123
                  userSecret:
                    description: >-
                      SnapTrade User Secret. This is a randomly generated string
                      and should be stored securely. If compromised, please
                      rotate it via the [rotate user secret
                      endpoint](/reference/Authentication/Authentication_resetSnapTradeUserSecret).
                    type: string
                    example: adf2aa34-8219-40f7-a6b3-60156985cc61
        '400':
          description: >-
            Bad Request. Could be caused by various reasons. Error message is
            provided in response
          content:
            application/json:
              schema:
                description: Example for failed request response
                type: object
                properties:
                  default_detail:
                    example: Unable to verify data sent
                  default_code:
                    example: 1076
        '401':
          description: Failed authentication. Wrong clientId, userId or userSecret provided
          content:
            application/json:
              schema:
                description: Example for failed request response
                type: object
                properties:
                  default_detail:
                    example: Unable to verify signature sent
                  default_code:
                    example: 1076
        '500':
          description: Unexpected error
          content:
            application/json:
              schema:
                description: Example for a response that failed for unexpected reasons
                type: object
                properties:
                  detail:
                    example: Encountered an unexpected exception.
                  status_code:
                    example: 500
                  code:
                    example: 1000

```