Actian Corporation Admin User API
Create and manage the admin user, login, and authentication settings.
Create and manage the admin user, login, and authentication settings.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/actian:actian-admin-user-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Actian VectorAI DB - Authentication Admin User API
description: Access token and admin user management for VectorAI DB.
version: 1.0.0
contact:
name: Actian Corporation
url: https://www.actian.com
servers:
- url: http://localhost:6573
description: Local development server (REST API)
- url: https://api.vectorai.actian.com
description: Production server
security:
- bearerAuth: []
tags:
- name: Admin User
description: Create and manage the admin user, login, and authentication settings.
paths:
/auth/admin:
post:
tags:
- Admin User
summary: Create admin user
description: 'Creates the built-in admin user with the given password. The username is always fixed to `admin`.
This endpoint can only be called from localhost (the same machine as the server). The password must satisfy the password policy: at least 12 characters, including uppercase, lowercase, digit, and special characters. The password must not be empty, only whitespace, or match the username.'
operationId: create_admin_user
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- password
properties:
password:
type: string
description: Password for the admin user. Must satisfy the password policy.
responses:
'200':
description: Admin user created successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/StatusResponse'
examples:
success:
value:
status: success
message: User registered successfully
'400':
description: Missing or invalid password.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
missing_password:
value:
status: error
message: 'Missing required field: password'
'409':
description: Admin user already exists.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
already_exists:
value:
status: error
message: Username already exists
x-codeSamples:
- lang: cURL
label: Create admin user
source: "curl -X POST http://localhost:6573/auth/admin \\\n -H \"Content-Type: application/json\" \\\n -H 'Authorization: Bearer <admin-jwt-or-access-token>' \\\n -d '{\n \"password\": \"MySecurePwd!1\"\n }'\n"
/auth/admin/reset-password:
post:
tags:
- Admin User
summary: Reset admin password
description: 'Resets the built-in admin user''s password. The username is always fixed to `admin`.
This endpoint can only be called from localhost (the same machine as the server). The new password must satisfy the same password policy as the create endpoint.'
operationId: reset_admin_password
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- password
properties:
password:
type: string
description: New password for the admin user. Must satisfy the password policy.
responses:
'200':
description: Password reset successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/StatusResponse'
examples:
success:
value:
status: success
message: Password reset successfully
'400':
description: Missing or invalid password.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
missing_password:
value:
status: error
message: 'Missing required field: password'
'404':
description: Admin user does not exist.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
not_found:
value:
status: error
message: User not found
x-codeSamples:
- lang: cURL
label: Reset admin password
source: "curl -X POST http://localhost:6573/auth/admin/reset-password \\\n -H \"Content-Type: application/json\" \\\n -H 'Authorization: Bearer <admin-jwt-or-access-token>' \\\n -d '{\n \"password\": \"MyNewSecurePwd!2\"\n }'\n"
/auth/admin/login:
post:
tags:
- Admin User
summary: Admin login
description: 'Authenticates the admin user and returns a JWT token. The username is always fixed to `admin`. No authorization header is required for this endpoint.
When the server starts, it uses `ACTIAN_VECTORAI_JWT_SECRET` if present and persists that value to `server_params.btr`. If the environment variable is absent, the server loads the previously persisted secret or generates and persists a new one automatically.'
operationId: admin_login
security: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- password
properties:
password:
type: string
description: The admin user's password.
responses:
'200':
description: Login successful. Returns a JWT token.
content:
application/json:
schema:
type: object
properties:
token:
type: string
description: JWT token for authenticating subsequent requests.
message:
type: string
description: Human-readable status message.
expires_in:
type: integer
description: Number of seconds until the JWT token expires.
examples:
success:
value:
token: <jwt-token>
message: Login successful
expires_in: 3600
'401':
description: Invalid password.
content:
application/json:
schema:
type: object
properties:
token:
type:
- string
- 'null'
message:
type: string
expires_in:
type: integer
examples:
invalid_password:
value:
token: null
message: Invalid username or password
expires_in: 0
'400':
description: Missing or blank password.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
missing_password:
value:
status: error
message: 'Missing required field: password'
x-codeSamples:
- lang: cURL
label: Admin login
source: "curl -X POST http://localhost:6573/auth/admin/login \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"password\": \"MyNewSecurePwd!2\"\n }'\n"
/auth/admin/exists:
get:
tags:
- Admin User
summary: Check admin exists
description: Returns whether the admin user has been created. No authorization is required for this endpoint.
operationId: check_admin_exists
security: []
responses:
'200':
description: Returns the admin existence status.
content:
application/json:
schema:
type: object
properties:
usage:
type:
- object
- 'null'
time:
type: number
format: double
description: Time spent to process this request, in seconds.
status:
type: string
result:
type: boolean
description: '`true` if the admin user exists, `false` otherwise.'
examples:
exists:
value:
usage: {}
time: 0.0
status: ok
result: true
does_not_exist:
value:
usage: {}
time: 0.0
status: ok
result: false
x-codeSamples:
- lang: cURL
label: Check admin exists
source: "curl -X GET http://localhost:6573/auth/admin/exists \\\n -H \"Accept: application/json\"\n"
/auth/enabled:
patch:
tags:
- Admin User
summary: Set auth enabled
description: 'Enables or disables authentication enforcement for the server. When auth is disabled, endpoints that normally require access tokens or JWT authorization can be called without credentials.
Requires an admin JWT in the `Authorization` header.'
operationId: set_auth_enabled
parameters:
- name: Authorization
in: header
required: true
schema:
type: string
description: Admin JWT. Format `Bearer <admin-jwt>`.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- enabled
properties:
enabled:
type: boolean
description: Set to `true` to enable authentication, `false` to disable it.
responses:
'200':
description: Auth setting updated. The `result` field reflects the current auth-enabled state after the update.
content:
application/json:
schema:
type: object
properties:
usage:
type:
- object
- 'null'
time:
type: number
format: double
description: Time spent to process this request, in seconds.
status:
type: string
result:
type: boolean
description: The current auth-enabled state after the update.
examples:
enabled:
value:
usage: {}
time: 0.0
status: ok
result: true
'400':
description: Missing `enabled` field.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
missing_field:
value:
status: error
message: 'Missing required field: enabled'
x-codeSamples:
- lang: cURL
label: Enable authentication
source: "curl -X PATCH http://localhost:6573/auth/enabled \\\n -H \"Content-Type: application/json\" \\\n -H 'Authorization: Bearer <admin-jwt>' \\\n -d '{\n \"enabled\": true\n }'\n"
- lang: cURL
label: Disable authentication
source: "curl -X PATCH http://localhost:6573/auth/enabled \\\n -H \"Content-Type: application/json\" \\\n -H 'Authorization: Bearer <admin-jwt>' \\\n -d '{\n \"enabled\": false\n }'\n"
components:
schemas:
StatusResponse:
type: object
properties:
status:
type: string
description: Operation result status.
message:
type: string
description: Human-readable status message.
ErrorResponse:
type: object
properties:
status:
type: string
description: Error status indicator.
message:
type: string
description: Human-readable error description.
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: Admin JWT obtained from the login endpoint.