Smart Capital Center API reference

register

POST
/api/v2/auth/register

Creates a new evaluation account and returns an access token and refresh token right away. No confirmation email is sent, so the account works immediately.

Auth: None

Use when: The user has no SCC account and has asked you to create one for them.

Don't use when: The user already has an account (use login), or already has an API key (skip auth and call the API directly). Never register an account the user did not ask for.

Request body

Content type: application/json

Field Type Required Description
email string yes Account email. Example: agent@example.com.
password string yes Account password (plain — sent over TLS). Example: s3cret!.
firstName string no Optional first name. Example: Ada.
lastName string no Optional last name. Example: Lovelace.
phone string no Optional phone number. Example: +1 415 555 0100.

Notes for agents

  • Only email and password are required.
  • A 409 means the email is already registered. Switch to login and do not retry register.
  • The access token expires after 900 seconds (15 minutes). Use it right away to create an API key.
  • A 429 means too many sign-ups from this IP address. Wait before retrying; do not loop.

Example request

curl -X POST https://app.smartcapitalcenter.com/api/v2/auth/register \
  -H "Content-Type: application/json" \
  -d '{"email": "agent@example.com", "password": "s3cret!"}'

Response 200

Account created — tokens issued.

{
  "status": "success",
  "data": {
    "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...signature",
    "refresh_token": "def50200b8f1aA-9V0pQrSt...",
    "expires_in": 900,
    "token_type": "Bearer"
  },
  "message": null,
  "code": null
}

Errors

Code Meaning
400 Validation error — missing or malformed fields
409 A user with this email already exists
429 Too many registration attempts from this IP address; wait before retrying

Next: Call createApiKey with Authorization: Bearer <access_token>.

# register `POST /api/v2/auth/register` Creates a new evaluation account and returns an access token and refresh token right away. No confirmation email is sent, so the account works immediately. **Auth:** None **Use when:** The user has no SCC account and has asked you to create one for them. **Don't use when:** The user already has an account (use `login`), or already has an API key (skip auth and call the API directly). Never register an account the user did not ask for. ## Request body Content type: `application/json` | Field | Type | Required | Description | |---|---|---|---| | `email` | string | yes | Account email. Example: `agent@example.com`. | | `password` | string | yes | Account password (plain — sent over TLS). Example: `s3cret!`. | | `firstName` | string | no | Optional first name. Example: `Ada`. | | `lastName` | string | no | Optional last name. Example: `Lovelace`. | | `phone` | string | no | Optional phone number. Example: `+1 415 555 0100`. | ## Notes for agents - Only `email` and `password` are required. - A `409` means the email is already registered. Switch to `login` and do not retry `register`. - The access token expires after 900 seconds (15 minutes). Use it right away to create an API key. - A `429` means too many sign-ups from this IP address. Wait before retrying; do not loop. ## Example request ```bash curl -X POST https://app.smartcapitalcenter.com/api/v2/auth/register \ -H "Content-Type: application/json" \ -d '{"email": "agent@example.com", "password": "s3cret!"}' ``` ## Response `200` Account created — tokens issued. ```json { "status": "success", "data": { "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...signature", "refresh_token": "def50200b8f1aA-9V0pQrSt...", "expires_in": 900, "token_type": "Bearer" }, "message": null, "code": null } ``` ## Errors | Code | Meaning | |---|---| | 400 | Validation error — missing or malformed fields | | 409 | A user with this email already exists | | 429 | Too many registration attempts from this IP address; wait before retrying | **Next:** Call `createApiKey` with `Authorization: Bearer <access_token>`.