> 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.

# Register user

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

Registers a new SnapTrade user under your Client ID. A user secret will be automatically generated for you and must be properly stored in your system.
Most SnapTrade operations require a user ID and user secret to be passed in as parameters.


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

## 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.registerSnapTradeUser(
    { userId: "snaptrade-user-123" },
  );
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.register_snap_trade_user(
    user_id="snaptrade-user-123"
)
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/registerUser:
    post:
      tags:
        - Authentication
      summary: Register user
      description: >
        Registers a new SnapTrade user under your Client ID. A user secret will
        be automatically generated for you and must be properly stored in your
        system.

        Most SnapTrade operations require a user ID and user secret to be passed
        in as parameters.
      operationId: Authentication_registerSnapTradeUser
      requestBody:
        required: true
        content:
          application/json:
            schema:
              description: Data required to register a user via SnapTrade Partner
              type: object
              required:
                - userId
              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
      responses:
        '200':
          description: OK
          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
          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
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                description: Example for failed request response
                type: object
                properties:
                  default_detail:
                    example: The requested resource does not exist.
                  default_code:
                    example: 1011
        '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

```