Authentication
Authenticate with the Nexora API using JWT tokens or API keys.
POST
/api/auth/registerNo AuthRegister
Create a new user account.
Request Body
| Name | Type | Required | Description |
|---|---|---|---|
| first_name | string | Required | User's first name |
| last_name | string | Required | User's last name |
| string | Required | User's email address | |
| password | string | Required | Password (min 8 characters) |
Response
json
{
"data": {
"user": {
"id": "uuid",
"first_name": "John",
"last_name": "Doe",
"email": "john@example.com"
},
"tokens": {
"access_token": "eyJhbG...",
"refresh_token": "eyJhbG...",
"expires_at": 1710000000
},
"workspaces": [
{ "id": "uuid", "name": "John's Workspace", "plan": "free" }
]
}
}POST
/api/auth/loginNo AuthLogin
Authenticate with email and password.
Request Body
| Name | Type | Required | Description |
|---|---|---|---|
| string | Required | User's email | |
| password | string | Required | User's password |
Response
json
{
"data": {
"user": { "id": "uuid", "email": "john@example.com" },
"tokens": {
"access_token": "eyJhbG...",
"refresh_token": "eyJhbG...",
"expires_at": 1710000000
}
}
}POST
/api/auth/refreshNo AuthRefresh Token
Exchange a refresh token for a new token pair.
Request Body
| Name | Type | Required | Description |
|---|---|---|---|
| refresh_token | string | Required | Current refresh token |
Response
json
{
"data": {
"access_token": "eyJhbG...",
"refresh_token": "eyJhbG...",
"expires_at": 1710000000
}
}