Skip to content

Latest commit

 

History

History
116 lines (94 loc) · 3.03 KB

signup.mdx

File metadata and controls

116 lines (94 loc) · 3.03 KB
title Sign Up
description Register a new user in your project's users collection.

POST /api/userAuth/signup

Creates a new user account and returns an access token. Any extra fields defined in your users collection schema are accepted and validated automatically.

Your project must have a `users` collection with at least an `email` (String, required, unique) and a `password` (String, required) field before this endpoint will work.

Required Header

x-api-key: your pk_live_… key.

Request Body

The user's email address. Must be unique within the project. The user's password. Stored as a bcrypt hash — the raw value is never persisted. The user's display name. Any additional fields your `users` collection schema defines (e.g., `username`, `avatar`, `preferences`). urBackend validates them against your schema automatically.

Response Fields

MongoDB ObjectId of the newly created user. The registered email address. The user's name, if provided. Any other fields stored during signup. A short-lived JWT to use in `Authorization: Bearer` headers. Prefer `accessToken` over the deprecated `token` alias.

Code Examples

const res = await fetch('https://api.urbackend.in/api/userAuth/signup', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'x-api-key': 'pk_live_YOUR_KEY'
  },
  body: JSON.stringify({
    email: 'alice@example.com',
    password: 'securePassword123',
    name: 'Alice',
    username: 'alice_dev',
    preferences: { theme: 'dark', notifications: true }
  })
});

const { user, accessToken } = await res.json();
curl -X POST "https://api.urbackend.in/api/userAuth/signup" \
  -H "Content-Type: application/json" \
  -H "x-api-key: pk_live_YOUR_KEY" \
  -d '{
    "email": "alice@example.com",
    "password": "securePassword123",
    "name": "Alice"
  }'

Success Response

{
  "user": {
    "_id": "64fd1234abcd5678ef901234",
    "email": "alice@example.com",
    "name": "Alice",
    "username": "alice_dev"
  },
  "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}

Errors

Status Cause
400 Bad Request Missing required fields or schema validation failure
409 Conflict An account with that email address already exists