Tenant

User login

post

Authenticate user with email and password

Body
anyOptional
Responses
chevron-right
200

User authenticated successfully

application/json
Responseany
post
/api/v1/auth/login

No content

User logout

post

Logout user and invalidate authentication tokens

Authorizations
AuthorizationstringRequired

JWT token for authentication

Responses
chevron-right
200

User logged out successfully

application/json
Responseany
post
/api/v1/auth/logout

No content

Refresh access token

post

Generate a new access token using a valid refresh token

Body
anyOptional
Responses
chevron-right
200

Access token refreshed successfully

application/json
Responseany
post
/api/v1/auth/refresh

No content

Forgot password

post

Send password reset email

Body
anyOptional
Responses
chevron-right
200

Password reset email sent

application/json
Responseany
post
/api/v1/auth/forgot-password

No content

Reset password

post

Reset user password using the reset token received via email

Body
anyOptional
Responses
chevron-right
200

Password reset successfully

application/json
Responseany
post
/api/v1/auth/reset-password

No content

Sign up with Google (Option 1)

get

Redirect user to Google OAuth2 authorization URL. Backend generates secure state parameter.

Query parameters
redirect_urlstring · uriOptional

Optional client redirect URL. Must be validated against a backend whitelist (e.g., https://app.neevai.com/, https://staging.neevai.com/). If not provided or invalid, the backend will use a default redirect URL.

Example: https://app.neevai.com/dashboard
invite_tokenstringOptional

Optional invitation token for joining an organization

Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
referral_codestringOptional

Optional referral code for refer-and-earn attribution

Example: AB12CD34EF
Responses
get
/api/v1/auth/oauth/google

No content

Sign up with GitHub (Option 2)

get

Redirect user to GitHub OAuth2 authorization URL. Backend generates secure state parameter.

Query parameters
redirect_urlstring · uriOptional

Optional client redirect URL. Must be validated against a backend whitelist (e.g., https://app.neevai.com/, https://staging.neevai.com/). If not provided or invalid, the backend will use a default redirect URL.

Example: https://app.neevai.com/dashboard
invite_tokenstringOptional

Optional invitation token for joining an organization

Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
referral_codestringOptional

Optional referral code for refer-and-earn attribution

Example: AB12CD34EF
Responses
get
/api/v1/auth/oauth/github

No content

Handle OAuth2 callback

get

Handle OAuth2 callback from providers and return authentication result

Query parameters
codestringRequired

Authorization code from OAuth provider

statestringRequired

State parameter containing redirect URL and security nonce

errorstringOptional

Error code from OAuth provider

error_descriptionstringOptional

Error description from OAuth provider

Responses
get
/api/v1/auth/oauth/callback
302

Redirect to client application with user session token or error information. Success: Redirects to UI with token in query parameter. Error: Redirects to UI with error and error_description in query parameters.

No content

User signup

post

Create a new user account with email, password, and personal details

Query parameters
invite_tokenstringOptional

Optional invitation token for joining an organization

Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
referral_codestringOptional

Optional referral code for refer-and-earn attribution

Example: AB12CD34EF
Body
anyOptional
Responses
post
/api/v1/auth/signup

No content

Verify email address

post

Verify email address using OTP code

Body
anyOptional
Responses
chevron-right
200

Email verified successfully

application/json
Responseany
post
/api/v1/auth/verify-email

No content

Verify phone number

post

Verify phone number using OTP code

Body
anyOptional
Responses
chevron-right
200

Phone number verified successfully

application/json
Responseany
post
/api/v1/auth/verify-phone

No content

Resend verification code

post

Resend verification code for email or phone

Body
anyOptional
Responses
chevron-right
200

Verification code sent successfully

application/json
Responseany
post
/api/v1/auth/resend-verification

No content

Add phone number

post

Add phone number to user account and send verification SMS (required for all users)

Authorizations
AuthorizationstringRequired

JWT token for authentication

Body
anyOptional
Responses
chevron-right
200

Phone number added successfully, verification SMS sent

application/json
Responseany
post
/api/v1/users/add-phone

No content

Get current user's details

get

Retrieve current user's details

Authorizations
AuthorizationstringRequired

JWT token for authentication

Responses
chevron-right
200

Profile retrieved successfully

application/json
Responseany
get
/api/v1/users/me

No content

Delete current user's account

delete

Delete current user's account

Authorizations
AuthorizationstringRequired

JWT token for authentication

Body
anyOptional
Responses
chevron-right
200

Account deleted successfully

application/json
Responseany
delete
/api/v1/users/me

No content

Change password

put

Change current user's password (requires current password verification)

Authorizations
AuthorizationstringRequired

JWT token for authentication

Body
anyOptional
Responses
chevron-right
200

Password changed successfully

application/json
Responseany
put
/api/v1/users/me/change-password

No content

Get user organizations

get

Retrieve all organizations for the current user

Authorizations
AuthorizationstringRequired

JWT token for authentication

Responses
chevron-right
200

Organizations retrieved successfully

application/json
Responseany
get
/api/v1/orgs

No content

Get organization

get

Retrieve organization by ID

Authorizations
AuthorizationstringRequired

JWT token for authentication

Path parameters
org_idstringRequired

Organization ID

Responses
chevron-right
200

Organization retrieved successfully

application/json
Responseany
get
/api/v1/orgs/{org_id}

No content

Get organization members

get

Retrieve all members of an organization

Authorizations
AuthorizationstringRequired

JWT token for authentication

Path parameters
org_idstringRequired

Organization ID

Responses
chevron-right
200

Organization members retrieved successfully

application/json
Responseany
get
/api/v1/orgs/{org_id}/members

No content

Add organization member

post

Add a new member to an organization by sending an invitation or update the role of an existing member to an organization.

Authorizations
AuthorizationstringRequired

JWT token for authentication

Path parameters
org_idstringRequired

Organization ID

Body
anyOptional
Responses
post
/api/v1/orgs/{org_id}/members

No content

Remove organization member

delete

Remove a member from an organization

Authorizations
AuthorizationstringRequired

JWT token for authentication

Path parameters
org_idstringRequired

Organization ID

member_idstringRequired

Member User ID

Responses
chevron-right
200

Member removed successfully

application/json
Responseany
delete
/api/v1/orgs/{org_id}/members/{member_id}

No content

List organization projects

get

Retrieve all projects in an organization with optional filtering

Authorizations
AuthorizationstringRequired

JWT token for authentication

Path parameters
org_idstringRequired

Organization ID

Query parameters
pageinteger · min: 1Optional

The page number to retrieve.

Default: 1
limitinteger · min: 1 · max: 100Optional

Number of items per page

Default: 20
searchstringOptional

Search term to filter projects by name

Responses
chevron-right
200

Organization projects retrieved successfully

application/json
Responseany
get
/api/v1/orgs/{org_id}/projects

No content

Create project in organization

post

Create a new project within an organization

Authorizations
AuthorizationstringRequired

JWT token for authentication

Path parameters
org_idstringRequired

Organization ID

Body
anyOptional
Responses
post
/api/v1/orgs/{org_id}/projects

No content

Get project in organization

get

Retrieve project details by ID within an organization

Authorizations
AuthorizationstringRequired

JWT token for authentication

Path parameters
org_idstringRequired

Organization ID

project_idstringRequired

Project ID

Responses
chevron-right
200

Project retrieved successfully

application/json
Responseany
get
/api/v1/orgs/{org_id}/projects/{project_id}

No content

Delete project in organization

delete

Delete project by ID within an organization

Authorizations
AuthorizationstringRequired

JWT token for authentication

Path parameters
org_idstringRequired

Organization ID

project_idstringRequired

Project ID

Responses
chevron-right
200

Project deleted successfully

application/json
Responseany
delete
/api/v1/orgs/{org_id}/projects/{project_id}

No content

List project members

get

Retrieve all members of a project

Authorizations
AuthorizationstringRequired

JWT token for authentication

Path parameters
org_idstringRequired

Organization ID

project_idstringRequired

Project ID

Responses
chevron-right
200

Project members retrieved successfully

application/json
Responseany
get
/api/v1/orgs/{org_id}/projects/{project_id}/members

No content

Add project member

post

Add a new member to a project

Authorizations
AuthorizationstringRequired

JWT token for authentication

Path parameters
org_idstringRequired

Organization ID

project_idstringRequired

Project ID

Body
anyOptional
Responses
post
/api/v1/orgs/{org_id}/projects/{project_id}/members

No content

Remove project member

delete

Remove a member from a project

Authorizations
AuthorizationstringRequired

JWT token for authentication

Path parameters
org_idstringRequired

Organization ID

project_idstringRequired

Project ID

member_idstringRequired

Member User ID

Responses
chevron-right
200

Member removed successfully

application/json
Responseany
delete
/api/v1/orgs/{org_id}/projects/{project_id}/members/{member_id}

No content

List referrals

get

Get list of all referrals for an organization

Authorizations
AuthorizationstringRequired

JWT token for authentication

Path parameters
org_idstringRequired

Organization ID

Responses
chevron-right
200

List of referrals retrieved successfully

application/json
Responseany
get
/api/v1/orgs/{org_id}/referrals

No content

List API Keys

get

Retrieves a list of API keys for a specific project.

Authorizations
AuthorizationstringRequired

JWT token for authentication

Path parameters
org_idstringRequired

Organization ID

project_idstringRequired

The project ID

Query parameters
pageinteger · min: 1Optional

The page number to retrieve.

Default: 1
limitinteger · min: 1 · max: 100Optional

Number of items per page (defaults to 25 to show all API keys, as projects have a maximum of 25 API keys)

Default: 25
Responses
chevron-right
200

A list of API keys.

application/json
Responseany
get
/api/v1/orgs/{org_id}/projects/{project_id}/api-keys

No content

Create API Key

post

Creates a new API key for a specific project. The API key value will be auto-generated and returned only once in the response.

Authorizations
AuthorizationstringRequired

JWT token for authentication

Path parameters
org_idstringRequired

Organization ID

project_idstringRequired

The project ID

Body
anyOptional
Responses
post
/api/v1/orgs/{org_id}/projects/{project_id}/api-keys

No content

Delete API Key

delete

Soft deletes an API key by setting the deleted_at timestamp. The API key can no longer be used for authentication after deletion.

Authorizations
AuthorizationstringRequired

JWT token for authentication

Path parameters
org_idstringRequired

Organization ID

project_idstringRequired

The project ID

api_key_idstring · uuidRequired

The API key ID

Responses
delete
/api/v1/orgs/{org_id}/projects/{project_id}/api-keys/{api_key_id}

No content

Last updated