Authentication
Project-scoped API keys, rotation, revocation and per-key rate limits.
Developers
Everything the console does is available over REST. Provision compute, register datasets, run tuning jobs, deploy endpoints and read usage — with the same permissions model behind all three surfaces.
Documentation status: the full API reference is published to developers with an active account. The examples below show the shape of the API so you can judge the integration effort before signing up. Endpoint paths are stable; response fields may gain properties.
Every request carries a project-scoped bearer token. Keys are created in the console, can be limited to specific services, and can be rotated or revoked without touching any other key.
Keep keys server-side. A key in browser JavaScript is a key you have published.
export NXAARA_API_KEY="nx_live_..."
curl https://api.nxaara.com/v1/projects \
-H "Authorization: Bearer $NXAARA_API_KEY"
Point an endpoint at a model version, choose a serving mode, and set your scaling floor and ceiling.
curl -X POST https://api.nxaara.com/v1/endpoints \
-H "Authorization: Bearer $NXAARA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"project": "example-assistant",
"model_version": "mv_8f21c4",
"serving_mode": "dedicated",
"min_replicas": 1,
"max_replicas": 4
}'
The inference surface accepts the same request shape as the OpenAI chat completions API, so existing clients work by changing two values.
from openai import OpenAI
client = OpenAI(
base_url="https://api.nxaara.com/v1",
api_key=os.environ["NXAARA_API_KEY"],
)
stream = client.chat.completions.create(
model="ep_commerce_assistant",
messages=[{"role": "user", "content": "Summarise this contract clause."}],
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="")
A job binds a base model to a dataset version and a configuration. All three are recorded, which is what makes the resulting version reproducible.
curl -X POST https://api.nxaara.com/v1/fine-tunes \
-H "Authorization: Bearer $NXAARA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"project": "example-assistant",
"base_model": "catalogue/open-base-8b",
"dataset_version": "ds_4a91e0:v3",
"method": "lora",
"eval_split": "held_out",
"hyperparameters": { "epochs": 3, "learning_rate": 1e-4 }
}'
API surface
If the console can do it, the API can do it. There is no console-only capability by design.
Project-scoped API keys, rotation, revocation and per-key rate limits.
Create projects, invite members, assign roles, set budgets.
Launch, stop, resize and inspect GPU instances and clusters.
Block volumes and S3-compatible object storage, including presigned uploads.
Register, validate and version training datasets.
Create tuning jobs, stream logs and loss curves, retrieve artefacts.
Run held-out scoring and retrieve version-to-version comparisons.
Deploy versions, configure scaling, split traffic, roll back.
Ingest documents, query with citations, manage permissions.
Token counts, compute seconds and cost per project and per key.
Create an account, generate a project-scoped key, and provision your first instance from the CLI in a few minutes.