Last updated: 05-27-2026
The Nutanix Enterprise AI (NAI) Management API reference describes the RESTful APIs available to manage entities on the NAI platform. These APIs are currently in the experimental stage.
The API documentation is publicly accessible to all valid users without requiring special permissions, and is intended for viewing purposes only. This document covers the Inference and Management APIs available in the Nutanix Enterprise AI 2.7 release.
The Nutanix Enterprise AI (NAI) Inference API reference describes the RESTful and streaming APIs you can use to interact with the Inference Endpoints deployed on the NAI platform. The REST API is currently in version 1 (v1). The rerank API is supported in version 2 (v2) to allow compatibility with Unified Endpoints.
Standard Base Path : enterpriseai/v1/
The best practice for ensuring consistent behavior and output from a model is to use a pinned model version. Model behaviors tend to change between versions.
All API users should have valid API Key credentials to send API calls to the Inference Endpoint. The Inference APIs are compliant with OpenAI API specifications, where applicable. Nutanix has added new tags to support models from other model catalog providers. You can invoke these APIs using the OpenAI API clients.
For more information on OpenAI Spec, see https://github.com/openai/openai-openapi/
Starting with NAI 2.7, OpenAI APIs served via the AI Gateway will use a new base path. Always verify the Access URL on your Endpoint Overview page.
New Path: enterpriseai/gateway/v1/
Excluding audio type APIs, the new base path applies to all Unified Endpoints, Inference Models and KV-Aware enabled endpoints.
AI Gateway Base Path Examples
The MCP Connectors in Nutanix Enterprise AI (NAI) 2.7 support version specification 2025-06-18 and the APIs: tools/, prompts/, and resources/. For more info on the MCP Specification, refer to: https://modelcontextprotocol.io/specification/2025-06-18
curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/version \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \
{- "data": {
- "version": "string"
}, - "msg": "string"
}Create a new third party credential.
new create credential request object
required | object (dto.CredentialData) |
| name required | string |
| type required | string (enum.CredentialType) Enum: "hf" "ngc" "openai" "anthropic" "cohere" "aws" "azure" "mistral" "google-gemini" "nai" "mcp-server-auth" "mcp-image-registry" "gcp" |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/credentials \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "data": { "anthropic": { "apiKey": "string", "hostname": "string", "port": 65535 }, "aws": { "accessKeyID": "string", "hostname": "string", "port": 65535, "region": "string", "secretAccessKey": "string" }, "azure": { "apiKey": "string", "hostname": "string", "port": 65535 }, "cohere": { "apiKey": "string", "hostname": "string", "port": 65535 }, "gcp": { "hostname": "string", "port": 65535, "projectName": "string", "region": "string", "serviceAccountJson": { "property1": "string", "property2": "string" } }, "googleGemini": { "apiKey": "string", "hostname": "string", "port": 65535 }, "hf": { "token": "string" }, "mcpImageRegistry": { "password": "string", "registryUrl": "string", "username": "string" }, "mcpServer": { "apiKey": "string" }, "mistral": { "apiKey": "string", "hostname": "string", "port": 65535 }, "nai": { "apiKey": "string", "hostname": "string", "port": 65535 }, "ngc": { "apiKey": "string" }, "openai": { "apiKey": "string", "hostname": "string", "port": 65535 } }, "name": "string", "type": "hf" }'
{- "data": {
- "id": "string"
}, - "msg": "string"
}Search and filter third party credentials.
list options object
required | Array of objects (dto.FilterOptions) |
| limit required | integer |
| offset required | integer >= 0 |
required | Array of objects (dto.SortOptions) |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/credentials/search \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "filters": [ { "field": "string", "operation": "startsWith", "values": [ "string" ] } ], "limit": 0, "offset": 0, "sort": [ { "field": "string", "order": "ASCENDING" } ] }'
{- "data": {
- "secrets": [
- {
- "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "data": {
- "anthropic": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "aws": {
- "accessKeyID": "string",
- "hostname": "string",
- "port": 65535,
- "region": "string",
- "secretAccessKey": "string"
}, - "azure": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "cohere": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "gcp": {
- "hostname": "string",
- "port": 65535,
- "projectName": "string",
- "region": "string",
- "serviceAccountJson": {
- "property1": "string",
- "property2": "string"
}
}, - "googleGemini": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "hf": {
- "token": "string"
}, - "mcpImageRegistry": {
- "password": "stringstr",
- "registryUrl": "string",
- "username": "string"
}, - "mcpServer": {
- "apiKey": "string"
}, - "mistral": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "nai": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "ngc": {
- "apiKey": "string"
}, - "openai": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}
}, - "id": "string",
- "name": "string",
- "type": "hf",
- "updatedAt": "string"
}
], - "totalCount": 0
}, - "msg": "string"
}Delete a third party credential by its ID.
| credential_id required | string credential id |
| force | boolean force delete |
curl --request DELETE \ --url https://www.nutanix.dev/api/enterpriseai/v1/credentials/{credential_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "msg": "string"
}Retrieve a specific third party credential by its ID.
| credential_id required | string credential id |
curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/credentials/{credential_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "data": {
- "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "data": {
- "anthropic": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "aws": {
- "accessKeyID": "string",
- "hostname": "string",
- "port": 65535,
- "region": "string",
- "secretAccessKey": "string"
}, - "azure": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "cohere": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "gcp": {
- "hostname": "string",
- "port": 65535,
- "projectName": "string",
- "region": "string",
- "serviceAccountJson": {
- "property1": "string",
- "property2": "string"
}
}, - "googleGemini": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "hf": {
- "token": "string"
}, - "mcpImageRegistry": {
- "password": "stringstr",
- "registryUrl": "string",
- "username": "string"
}, - "mcpServer": {
- "apiKey": "string"
}, - "mistral": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "nai": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "ngc": {
- "apiKey": "string"
}, - "openai": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}
}, - "id": "string",
- "name": "string",
- "type": "hf",
- "updatedAt": "string"
}, - "msg": "string"
}Update an existing third party credential.
| credential_id required | string credential id |
updated credential object
object (dto.CredentialData) | |
| name | string |
curl --request PATCH \ --url https://www.nutanix.dev/api/enterpriseai/v1/credentials/{credential_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "data": { "anthropic": { "apiKey": "string", "hostname": "string", "port": 65535 }, "aws": { "accessKeyID": "string", "hostname": "string", "port": 65535, "region": "string", "secretAccessKey": "string" }, "azure": { "apiKey": "string", "hostname": "string", "port": 65535 }, "cohere": { "apiKey": "string", "hostname": "string", "port": 65535 }, "gcp": { "hostname": "string", "port": 65535, "projectName": "string", "region": "string", "serviceAccountJson": { "property1": "string", "property2": "string" } }, "googleGemini": { "apiKey": "string", "hostname": "string", "port": 65535 }, "hf": { "token": "string" }, "mcpImageRegistry": { "password": "string", "registryUrl": "string", "username": "string" }, "mcpServer": { "apiKey": "string" }, "mistral": { "apiKey": "string", "hostname": "string", "port": 65535 }, "nai": { "apiKey": "string", "hostname": "string", "port": 65535 }, "ngc": { "apiKey": "string" }, "openai": { "apiKey": "string", "hostname": "string", "port": 65535 } }, "name": "string" }'
{- "msg": "string"
}List all licenses.
| expand | Array of strings query param to denote what all extra fields to fetch |
curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/licenses \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "data": {
- "licenses": [
- {
- "dateOfExpiry": "string",
- "daysToExpire": 0,
- "daysToGracePeriodExpiry": 0,
- "id": "string",
- "isTrial": true,
- "isViolated": true,
- "lastUpdated": "string",
- "licenseClusterUuid": "string",
- "licenseKey": "string",
- "meter": {
- "consumption": 0,
- "quantity": 0,
- "type": "VCPU"
}, - "product": "string",
- "tier": "PRO"
}
]
}, - "msg": "string"
}Add a new license.
add licenses object
Array of objects (dto.License) |
curl --request PUT \ --url https://www.nutanix.dev/api/enterpriseai/v1/licenses \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "licenses": [ { "licenseClusterUuid": "string", "licenseKey": "string", "meterType": "VCPU" } ] }'
{- "msg": "string"
}Validate license key.
validate licenses object
Array of objects (dto.License) |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/licenses/validate \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "licenses": [ { "licenseClusterUuid": "string", "licenseKey": "string", "meterType": "VCPU" } ] }'
{- "msg": "string"
}Update one or more catalog entries.
List of catalog entries to update
| adminEnabled | boolean |
| catalogId required | string |
curl --request PATCH \ --url https://www.nutanix.dev/api/enterpriseai/v1/catalogs \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "data": null,
- "msg": "string",
- "status": "Success"
}Get resource requirements for a model.
new catalog requirements object
| acceleratorMemory | number >= 0 |
| acceleratorProduct | string |
| engine | string (enum.BaseEngine) Enum: "vllm" "nim" "custom-model-server" |
| modelName required | string |
| platform required | string (enum.Platform) Enum: "nvidia-gpu-passthrough" "nvidia-vgpu" "nvidia-mig" "intel-amx-cpu" "cpu" |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/catalogs/requirements \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "acceleratorMemory": null, "acceleratorProduct": "string", "engine": "vllm", "modelName": "string", "platform": "nvidia-gpu-passthrough" }'
{- "data": {
- "modelName": "string",
- "modelRevision": "string",
- "modelSizeInGB": 0,
- "modelType": "Text Generation",
- "resourceTable": {
- "property1": [
- {
- "acceleratorCount": 0,
- "contextLength": 0,
- "cpu": 0,
- "ram": 0
}
], - "property2": [
- {
- "acceleratorCount": 0,
- "contextLength": 0,
- "cpu": 0,
- "ram": 0
}
]
}, - "sourceHub": "HuggingFace"
}, - "msg": "string"
}Search and filter models.
list options object
required | Array of objects (dto.FilterOptions) |
| limit required | integer |
| offset required | integer >= 0 |
required | Array of objects (dto.SortOptions) |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/catalogs/search \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "filters": [ { "field": "string", "operation": "startsWith", "values": [ "string" ] } ], "limit": 0, "offset": 0, "sort": [ { "field": "string", "order": "ASCENDING" } ] }'
{- "data": {
- "catalogs": [
- {
- "adminEnabled": true,
- "contextLength": 0,
- "createdAt": "string",
- "createdBy": "string",
- "deprecated": true,
- "description": "string",
- "developer": "string",
- "id": "string",
- "license": "string",
- "modelName": "string",
- "modelRevision": "string",
- "modelSizeInGB": 0,
- "modelType": "Text Generation",
- "modelUrl": "string",
- "quantization": "bits-and-bytes",
- "runtimes": [
- {
- "modelCapabilities": [
- "string"
], - "name": "vllm",
- "supportedPlatforms": {
- "property1": {
- "image": "string"
}, - "property2": {
- "image": "string"
}
}
}
], - "sourceHub": "HuggingFace",
- "tokenRequired": true,
- "updatedAt": "string",
- "validated": true
}
], - "totalCount": 0
}, - "msg": "string"
}Delete a catalog entry by its ID.
| catalog_id required | string catalog id |
curl --request DELETE \ --url https://www.nutanix.dev/api/enterpriseai/v1/catalogs/{catalog_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "msg": "string"
}Retrieve a specific model entry by its ID.
| catalog_id required | string catalog id |
curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/catalogs/{catalog_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "data": {
- "adminEnabled": true,
- "contextLength": 0,
- "createdAt": "string",
- "createdBy": "string",
- "deprecated": true,
- "description": "string",
- "developer": "string",
- "id": "string",
- "license": "string",
- "modelName": "string",
- "modelRevision": "string",
- "modelSizeInGB": 0,
- "modelType": "Text Generation",
- "modelUrl": "string",
- "quantization": "bits-and-bytes",
- "runtimes": [
- {
- "modelCapabilities": [
- "string"
], - "name": "vllm",
- "supportedPlatforms": {
- "property1": {
- "image": "string"
}, - "property2": {
- "image": "string"
}
}
}
], - "sourceHub": "HuggingFace",
- "tokenRequired": true,
- "updatedAt": "string",
- "validated": true
}, - "msg": "string"
}Create a new instance of a model.
new create model request object
object (dto.ModelProvider) | |
| name required | string <= 32 characters |
| sourceFormat required | string (enum.SourceModelFormat) Enum: "hf" "nim" |
object (dto.ModelStorageProvider) |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/models \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "modelProvider": { "catalogId": "string", "customModelDetails": { "developer": "string", "modelCapabilities": [ "string" ], "modelSizeInGB": 0 } }, "name": "string", "sourceFormat": "hf", "storageProvider": { "huggingFaceHub": { "repoId": "string", "repoVersion": "string" }, "nfs": { "dataPath": "string", "serverIp": "string", "sharePath": "string" }, "s3": { "accessKey": "string", "bucket": "string", "dataPath": "string", "endpoint": "string", "secretKey": "string" } } }'
{- "data": {
- "id": "string"
}, - "msg": "string"
}curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/models/capabilities \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "data": {
- "capabilities": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}
}, - "msg": "string"
}Search and filter model instances.
| expand | Array of strings query param to denote what all extra fields to fetch |
list options object
required | Array of objects (dto.FilterOptions) |
| limit required | integer |
| offset required | integer >= 0 |
required | Array of objects (dto.SortOptions) |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/models/search \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "filters": [ { "field": "string", "operation": "startsWith", "values": [ "string" ] } ], "limit": 0, "offset": 0, "sort": [ { "field": "string", "order": "ASCENDING" } ] }'
{- "data": {
- "models": [
- {
- "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "expandValues": { },
- "id": "string",
- "modelDetails": {
- "adminEnabled": true,
- "catalogId": "string",
- "catalogSourceHub": "HuggingFace",
- "deprecated": true,
- "developer": "string",
- "modelCapabilities": [
- "string"
], - "modelSizeInGB": 0,
- "modelUrl": "string",
- "repoName": "string",
- "repoVersion": "string",
- "validated": true
}, - "name": "string",
- "outputFormat": "hf",
- "storageProvider": {
- "huggingFaceHub": {
- "repoId": "string",
- "repoVersion": "string"
}, - "nfs": {
- "dataPath": "string",
- "serverIp": "string",
- "sharePath": "string"
}, - "s3": {
- "accessKey": "string",
- "bucket": "string",
- "dataPath": "string",
- "endpoint": "string",
- "secretKey": "string"
}
}, - "updatedAt": "string"
}
], - "totalCount": 0
}, - "msg": "string"
}Delete a model instance by its ID.
| model_id required | string model id |
| force | boolean force delete |
curl --request DELETE \ --url https://www.nutanix.dev/api/enterpriseai/v1/models/{model_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "msg": "string"
}Retrieve a specific model by its ID.
| model_id required | string model id |
| expand | Array of strings query param to denote what all extra fields to fetch |
curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/models/{model_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "data": {
- "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "expandValues": { },
- "id": "string",
- "modelDetails": {
- "adminEnabled": true,
- "catalogId": "string",
- "catalogSourceHub": "HuggingFace",
- "deprecated": true,
- "developer": "string",
- "modelCapabilities": [
- "string"
], - "modelSizeInGB": 0,
- "modelUrl": "string",
- "repoName": "string",
- "repoVersion": "string",
- "validated": true
}, - "name": "string",
- "outputFormat": "hf",
- "storageProvider": {
- "huggingFaceHub": {
- "repoId": "string",
- "repoVersion": "string"
}, - "nfs": {
- "dataPath": "string",
- "serverIp": "string",
- "sharePath": "string"
}, - "s3": {
- "accessKey": "string",
- "bucket": "string",
- "dataPath": "string",
- "endpoint": "string",
- "secretKey": "string"
}
}, - "updatedAt": "string"
}, - "msg": "string"
}Retrieve logs from pod instances.
| entityType required | string Entity type (endpoint only). Note: In response filenames, this will be lowercase. |
| entityId required | string Entity ID |
| instance required | string Instance name |
| tailLines | integer Number of lines to tail from the end of the logs |
curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/logs \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "data": {
- "entityId": "string",
- "entityType": "endpoint",
- "logs": [
- {
- "message": "string"
}
], - "totalCount": 0
}, - "msg": "string"
}Download logs file from pod instances.
| entityType required | string Entity type (endpoint, model, or data-source). |
| entityId required | string Entity ID |
| instance | string Instance name (required for endpoint, optional for model and data-source) |
curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/logs/download \ --header 'Accept: application/octet-stream' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
Create a new endpoint.
new create endpoint request object
| acceleratorCount required | integer |
| acceleratorProduct | string |
object (dto.InferenceEngineArgs) | |
| apiKeys | Array of strings |
| cpu required | integer |
| description | string |
| enableKVAwareRouting | boolean |
| engine required | string (enum.BaseEngine) Enum: "vllm" "nim" "custom-model-server" |
object (dto.EngineImage) | |
| engineSource required | string (enum.EngineSource) Enum: "nai" "community" "custom" |
| maxInstances | integer >= 1 |
| memoryInGi required | integer |
| minInstances | integer >= 1 |
| modelId required | string |
| name required | string <= 20 characters |
| platform required | string (enum.Platform) Enum: "nvidia-gpu-passthrough" "nvidia-vgpu" "nvidia-mig" "intel-amx-cpu" "cpu" |
| purpose | string (enum.EndpointPurpose) Enum: "real-time" "batch" |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/endpoints \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "acceleratorCount": 0, "acceleratorProduct": "string", "advancedConfig": { "tgiArgs": { "maxNumTokens": 0 }, "vllmArgs": { "customArgs": { "property1": "string", "property2": "string" }, "customEnvVars": { "property1": "string", "property2": "string" }, "maxNumTokens": 0, "speculativeConfig": { "method": null, "ngram": null } } }, "apiKeys": [ "string" ], "cpu": 0, "description": "string", "enableKVAwareRouting": true, "engine": "vllm", "engineImageOverride": { "name": "string", "tag": "string" }, "engineSource": "nai", "maxInstances": 1, "memoryInGi": 0, "minInstances": 1, "modelId": "string", "name": "string", "platform": "nvidia-gpu-passthrough", "purpose": "real-time" }'
{- "data": {
- "id": "string"
}, - "msg": "string"
}List API keys associated with an endpoint.
| endpoint_id required | string endpoint id |
curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/endpoints/apikeys/{endpoint_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "data": {
- "apikeys": [
- {
- "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "endpoints": [
- {
- "id": "string",
- "name": "string"
}
], - "id": "string",
- "key": "string",
- "name": "string",
- "status": "string",
- "unifiedEndpoints": [
- {
- "id": "string",
- "name": "string"
}
], - "updatedAt": "string"
}
], - "totalCount": 0
}, - "msg": "string"
}Search and filter endpoints.
| expand | Array of strings query param to denote what all extra fields to fetch |
list options object
required | Array of objects (dto.FilterOptions) |
| limit required | integer |
| offset required | integer >= 0 |
required | Array of objects (dto.SortOptions) |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/endpoints/search \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "filters": [ { "field": "string", "operation": "startsWith", "values": [ "string" ] } ], "limit": 0, "offset": 0, "sort": [ { "field": "string", "order": "ASCENDING" } ] }'
{- "data": {
- "endpoints": [
- {
- "acceleratorCount": 0,
- "acceleratorProduct": "string",
- "actualInstances": 0,
- "adminEnabled": true,
- "advancedConfig": {
- "customArgs": {
- "property1": "string",
- "property2": "string"
}, - "customEnvVars": {
- "property1": "string",
- "property2": "string"
}, - "maxNumTokens": 0,
- "speculativeConfig": {
- "method": "ngram",
- "ngram": {
- "numSpeculativeTokens": 10,
- "promptLookupMax": 10
}
}
}, - "catalog": {
- "name": "string"
}, - "cpu": 0,
- "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "description": "string",
- "endpointAccess": {
- "prefix": "string",
- "urls": [
- "string"
]
}, - "engine": "vllm",
- "engineSource": "nai",
- "expandValues": { },
- "experimental": true,
- "id": "string",
- "kvAwareRouting": true,
- "maxInstances": 0,
- "memory": 0,
- "minInstances": 0,
- "modelCapabilities": [
- "string"
], - "modelId": "string",
- "modelName": "string",
- "name": "string",
- "platform": "nvidia-gpu-passthrough",
- "purpose": "real-time",
- "runtimeImage": "string",
- "updatedAt": "string",
- "validated": true
}
], - "totalCount": 0
}, - "msg": "string"
}Update the state of an endpoint.
| endpoint_id required | string endpoint id |
update state of existing endpoint object
| state required | string (enum.EndpointStateAction) Enum: "hibernate" "activate" |
curl --request PATCH \ --url https://www.nutanix.dev/api/enterpriseai/v1/endpoints/state/{endpoint_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "state": "hibernate" }'
{- "msg": "string"
}Validate endpoint name availability.
| endpoint_name required | string endpoint name |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/endpoints/validate \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "msg": "string"
}Delete an endpoint by its ID.
| endpoint_id required | string endpoint id |
| force | boolean force delete |
curl --request DELETE \ --url https://www.nutanix.dev/api/enterpriseai/v1/endpoints/{endpoint_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "msg": "string"
}Retrieve a specific endpoint by its ID.
| endpoint_id required | string endpoint id |
| expand | Array of strings query param to denote what all extra fields to fetch |
curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/endpoints/{endpoint_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "data": {
- "acceleratorCount": 0,
- "acceleratorProduct": "string",
- "actualInstances": 0,
- "adminEnabled": true,
- "advancedConfig": {
- "customArgs": {
- "property1": "string",
- "property2": "string"
}, - "customEnvVars": {
- "property1": "string",
- "property2": "string"
}, - "maxNumTokens": 0,
- "speculativeConfig": {
- "method": "ngram",
- "ngram": {
- "numSpeculativeTokens": 10,
- "promptLookupMax": 10
}
}
}, - "catalog": {
- "name": "string"
}, - "cpu": 0,
- "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "description": "string",
- "endpointAccess": {
- "prefix": "string",
- "urls": [
- "string"
]
}, - "engine": "vllm",
- "engineSource": "nai",
- "expandValues": { },
- "experimental": true,
- "id": "string",
- "kvAwareRouting": true,
- "maxInstances": 0,
- "memory": 0,
- "minInstances": 0,
- "modelCapabilities": [
- "string"
], - "modelId": "string",
- "modelName": "string",
- "name": "string",
- "platform": "nvidia-gpu-passthrough",
- "purpose": "real-time",
- "runtimeImage": "string",
- "updatedAt": "string",
- "validated": true
}, - "msg": "string"
}Update an existing endpoint.
| endpoint_id required | string endpoint id |
update existing endpoint object
| description | string |
| maxInstances | integer >= 1 |
| minInstances | integer >= 1 |
curl --request PATCH \ --url https://www.nutanix.dev/api/enterpriseai/v1/endpoints/{endpoint_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "description": "string", "maxInstances": 1, "minInstances": 1 }'
{- "msg": "string"
}List instances for a specific endpoint ID.
| endpoint_id required | string endpoint id |
curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/endpoints/{endpoint_id}/instances \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "data": {
- "instances": [
- {
- "name": "string"
}
]
}, - "msg": "string"
}Create a new API key for authentication.
new apikey create request object
| endpoints | Array of strings |
| name required | string |
| unifiedEndpoints | Array of strings |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/apikeys \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "endpoints": [ "string" ], "name": "string", "unifiedEndpoints": [ "string" ] }'
{- "data": {
- "id": "string",
- "key": "string"
}, - "msg": "string"
}Search and filter API keys.
list options object
required | Array of objects (dto.FilterOptions) |
| limit required | integer |
| offset required | integer >= 0 |
required | Array of objects (dto.SortOptions) |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/apikeys/search \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "filters": [ { "field": "string", "operation": "startsWith", "values": [ "string" ] } ], "limit": 0, "offset": 0, "sort": [ { "field": "string", "order": "ASCENDING" } ] }'
{- "data": {
- "apikeys": [
- {
- "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "endpoints": [
- {
- "id": "string",
- "name": "string"
}
], - "id": "string",
- "key": "string",
- "name": "string",
- "status": "string",
- "unifiedEndpoints": [
- {
- "id": "string",
- "name": "string"
}
], - "updatedAt": "string"
}
], - "totalCount": 0
}, - "msg": "string"
}Delete an API key by its ID.
| apikey_id required | string apikey id |
curl --request DELETE \ --url https://www.nutanix.dev/api/enterpriseai/v1/apikeys/{apikey_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "msg": "string"
}Update API key status and associated endpoint IDs.
| apikey_id required | string apikey id |
apikey update request object
| endpoints | Array of strings |
| status | string |
| unifiedEndpoints | Array of strings |
curl --request PATCH \ --url https://www.nutanix.dev/api/enterpriseai/v1/apikeys/{apikey_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "endpoints": [ "string" ], "status": "string", "unifiedEndpoints": [ "string" ] }'
{- "data": {
- "id": "string",
- "key": "string"
}, - "msg": "string"
}curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/metrics/health \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \
{- "data": {
- "misconfiguredServiceMonitors": [
- "string"
], - "missingServiceMonitors": [
- "string"
], - "reasons": [
- "string"
], - "status": "healthy"
}, - "msg": "string"
}Get Metrics
new metric query object
object (dto.ExtraMetricParams) | |
| metricName required | string (constants.MetricName) Enum: "requestLatencyAverage" "requestLatencyPercentile99" "requestLatencyPercentile95" "requestLatencyPercentile50" "requestCount" "cpuUsage" "memoryUsage" "diskUsage" "gpuUtil" "gpuCount" "usedGpuCount" "gpuMemoryUsage" "endpointStatusCount" "infrastructureSummary" "infrastructureSummaryNode" "timeToFirstTokenAverage" "timeToFirstTokenPercentile99" "timeToFirstTokenPercentile95" "timeToFirstTokenPercentile50" "timePerOutputTokenAverage" "timePerOutputTokenPercentile99" "timePerOutputTokenPercentile95" "timePerOutputTokenPercentile50" "requestThroughput" "inputTokenCount" "outputTokenCount" "cachedTokenCount" "outputTokenThroughput" "numRequestsRunning" "numRequestsWaiting" "mcpConnectorRequestCount" "mcpConnectorRequestLatencyAverage" "mcpConnectorRequestLatencyPercentile99" "mcpConnectorRequestLatencyPercentile95" "mcpConnectorRequestLatencyPercentile50" |
| outputType required | string (constants.MetricOutputType) Enum: "timeseries" "table" |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/metrics/query \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "extraMetricParams": { "downsamplingInterval": 0, "end": 0, "filters": { "property1": [ "string" ], "property2": [ "string" ] }, "groupBy": [ "endpointName" ], "limit": 0, "sortOrder": "ASC", "start": 0 }, "metricName": "requestLatencyAverage", "outputType": "timeseries" }'
{- "data": {
- "outputType": "timeseries",
- "result": null
}, - "msg": "string"
}Search and retrieve audit log entries.
list options object
required | Array of objects (dto.FilterOptions) |
| limit required | integer |
| offset required | integer >= 0 |
required | Array of objects (dto.SortOptions) |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/auditlogs \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "filters": [ { "field": "string", "operation": "startsWith", "values": [ "string" ] } ], "limit": 0, "offset": 0, "sort": [ { "field": "string", "order": "ASCENDING" } ] }'
{- "data": {
- "auditlogs": [
- {
- "createdAt": "string",
- "description": "string",
- "entityAffected": "string",
- "entityType": "User",
- "eventType": "Create",
- "id": "string",
- "userName": "string"
}
], - "totalCount": 0
}, - "msg": "string"
}Initiate a security scan for an entity
create security scan request
object (dto.EndpointScanParams) | |
| entityId required | string |
| entityType required | string (enum.SecurityScanEntityType) Enum: "model" "endpoint" |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/scans \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "endpoint": { "apiKey": "string", "baseUrl": "string" }, "entityId": "string", "entityType": "model" }'
{- "msg": "string"
}List summary of security scans for all models and endpoints
curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/scans/summary \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \
{- "data": {
- "endpoints": {
- "breakdown": {
- "critical": 0,
- "high": 0,
- "low": 0,
- "medium": 0
}, - "scanned": 0,
- "total": 0
}, - "models": {
- "breakdown": {
- "allowed": 0,
- "blocked": 0
}, - "scanned": 0,
- "total": 0
}
}, - "msg": "string"
}Abort a security scan by ID
| scan_id required | string security scan id |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/scans/{scan_id}/abort \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "msg": "string"
}curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/cluster/config \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \
{- "data": {
- "eula": {
- "accepted": true,
- "company": "string",
- "name": "string",
- "updatedAt": "string"
}, - "hfUrlImport": {
- "enabled": true
}, - "manualUpload": {
- "enabled": true
}, - "proxySettings": {
- "name": "string",
- "password": "string",
- "port": 1,
- "protocols": [
- "string"
], - "proxyAddress": "string",
- "username": "string"
}, - "pulse": {
- "accepted": true,
- "updatedAt": "string"
}, - "rsyslogServer": {
- "logConfigs": [
- {
- "logSeverity": 7,
- "logType": "audit"
}
], - "name": "string",
- "port": 1,
- "protocol": "string",
- "serverAddress": "string"
}, - "runtimes": [
- {
- "modelCapabilities": [
- "string"
], - "name": "vllm",
- "supportedPlatforms": {
- "property1": {
- "image": "string"
}, - "property2": {
- "image": "string"
}
}
}
], - "securitySettings": {
- "clientId": "string",
- "clientSecret": "string",
- "enabled": true,
- "hfSecurityGroupUuid": "string",
- "networkChannelUuid": "string",
- "tsgId": "string",
- "updatedAt": "string"
}
}, - "msg": "string"
}Update cluster configuration settings.
new cluster config update request object
object (dto.EULAAcceptRequest) | |
object (dto.HfURLImportEnableUpdateRequest) | |
object (dto.ManualUploadEnableUpdateRequest) | |
object (dto.ProxySettings) | |
object (dto.PulseUpdateRequest) | |
object (dto.RsyslogServerInfo) | |
object (dto.SecuritySettingsUpdateRequest) |
curl --request PATCH \ --url https://www.nutanix.dev/api/enterpriseai/v1/cluster/config \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "eula": { "accepted": true, "company": "string", "name": "string" }, "hfUrlImport": { "enabled": true }, "manualUpload": { "enabled": true }, "proxySettings": { "name": "string", "password": "string", "port": 1, "protocols": [ "string" ], "proxyAddress": "string", "username": "string" }, "pulse": { "accepted": true }, "rsyslogServer": { "logConfigs": [ { "logSeverity": 0, "logType": "audit" } ], "name": "string", "port": 1, "protocol": "string", "serverAddress": "string" }, "securitySettings": { "clientId": "string", "clientSecret": "string", "hfSecurityGroupUuid": "string", "networkChannelUuid": "string", "tsgId": "string" } }'
{- "data": null,
- "msg": "string"
}curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/cluster/health \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "data": {
- "inconsistentResources": [
- {
- "id": "string",
- "name": "string",
- "resourceType": "HfToken"
}
]
}, - "msg": "string"
}curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/cluster/info \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \
{- "data": {
- "acceleratorCount": "string",
- "acceleratorMemory": "string",
- "cpu": "string",
- "disk": "string",
- "memory": "string",
- "name": "string",
- "nodes": [
- {
- "accelerators": [
- {
- "count": "string",
- "machine": "string",
- "memory": "string",
- "platform": "nvidia-gpu-passthrough",
- "product": "string",
- "type": "GPU Passthrough"
}
], - "cpu": {
- "count": "string",
- "memory": "string",
- "platform": "nvidia-gpu-passthrough"
}, - "disk": "string",
- "ip": "string",
- "name": "string",
- "status": "string",
- "version": "string"
}
], - "status": "string",
- "version": "string"
}, - "msg": "string"
}Create a new data source.
new create data source request object
| name required | string <= 32 characters |
| purpose required | string (enum.DataSourcePurpose) Enum: "finetune" "batch-inference" |
| sizeInMB | integer |
object (dto.DataSourceStorageProvider) |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/data-sources \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "name": "string", "purpose": "finetune", "sizeInMB": 0, "storageProvider": { "huggingFaceHub": { "repoId": "string", "repoVersion": "string" }, "nfs": { "dataPath": "string", "serverIp": "string", "sharePath": "string" } } }'
{- "data": {
- "id": "string"
}, - "msg": "string"
}Search and filter data sources.
| expand | Array of strings query param to denote what all extra fields to fetch |
list options object
required | Array of objects (dto.FilterOptions) |
| limit required | integer |
| offset required | integer >= 0 |
required | Array of objects (dto.SortOptions) |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/data-sources/search \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "filters": [ { "field": "string", "operation": "startsWith", "values": [ "string" ] } ], "limit": 0, "offset": 0, "sort": [ { "field": "string", "order": "ASCENDING" } ] }'
{- "data": {
- "dataSources": [
- {
- "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "expandValues": { },
- "id": "string",
- "name": "string",
- "purpose": "finetune",
- "sizeInMB": 0,
- "storageProvider": {
- "huggingFaceHub": {
- "repoId": "string",
- "repoVersion": "string"
}, - "nfs": {
- "dataPath": "string",
- "serverIp": "string",
- "sharePath": "string"
}
}, - "updatedAt": "string"
}
], - "totalCount": 0
}, - "msg": "string"
}Delete a data source by its ID.
| data_source_id required | string data source id |
| force | boolean force delete |
curl --request DELETE \ --url https://www.nutanix.dev/api/enterpriseai/v1/data-sources/{data_source_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "msg": "string"
}Retrieve a specific data source by its ID.
| data_source_id required | string data source ID |
| expand | Array of strings query param to denote what all extra fields to fetch |
curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/data-sources/{data_source_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "data": {
- "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "expandValues": { },
- "id": "string",
- "name": "string",
- "purpose": "finetune",
- "sizeInMB": 0,
- "storageProvider": {
- "huggingFaceHub": {
- "repoId": "string",
- "repoVersion": "string"
}, - "nfs": {
- "dataPath": "string",
- "serverIp": "string",
- "sharePath": "string"
}
}, - "updatedAt": "string"
}, - "msg": "string"
}Create a new fine-tuning job.
new create finetune request object
| baseModelID required | string |
| dataSourceID required | string |
object (dto.FinetuneMethodConfig) | |
| name required | string <= 32 characters |
object (dto.Resources) | |
| seed | integer |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/finetune-jobs \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "baseModelID": "string", "dataSourceID": "string", "methodConfig": { "additionalParams": { "lora": { "alpha": 1, "rank": 1 } }, "hyperparameters": { "batchSize": 1, "epochs": 1, "gradientAccumulationSteps": 1, "learningRate": null }, "type": "supervised-lora" }, "name": "string", "resources": { "acceleratorCount": 0, "acceleratorProduct": "string", "cpu": 0, "memoryInGi": 0 }, "seed": 0 }'
{- "data": {
- "id": "string"
}, - "msg": "string"
}Search and filter fine-tuning jobs.
| expand | Array of strings query param to denote what all extra fields to fetch |
list options object
required | Array of objects (dto.FilterOptions) |
| limit required | integer |
| offset required | integer >= 0 |
required | Array of objects (dto.SortOptions) |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/finetune-jobs/search \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "filters": [ { "field": "string", "operation": "startsWith", "values": [ "string" ] } ], "limit": 0, "offset": 0, "sort": [ { "field": "string", "order": "ASCENDING" } ] }'
{- "data": {
- "finetuneJobs": [
- {
- "baseModel": {
- "id": "string",
- "name": "string"
}, - "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "dataSource": {
- "id": "string",
- "name": "string"
}, - "expandValues": { },
- "finetuneModel": {
- "id": "string",
- "name": "string"
}, - "id": "string",
- "methodConfig": {
- "additionalParams": {
- "lora": {
- "alpha": 1,
- "rank": 1
}
}, - "hyperparameters": {
- "batchSize": 1,
- "epochs": 1,
- "gradientAccumulationSteps": 1,
- "learningRate": 1e-7
}, - "type": "supervised-lora"
}, - "name": "string",
- "resources": {
- "acceleratorCount": 0,
- "acceleratorProduct": "string",
- "cpu": 0,
- "memoryInGi": 0
}, - "seed": 0,
- "updatedAt": "string"
}
], - "totalCount": 0
}, - "msg": "string"
}Delete a fine-tuning job by its ID.
| finetune_job_id required | string finetune job id |
| force | boolean force delete |
curl --request DELETE \ --url https://www.nutanix.dev/api/enterpriseai/v1/finetune-jobs/{finetune_job_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "msg": "string"
}Retrieve a specific fine-tuning job by its ID.
| finetune_job_id required | string finetune job ID |
| expand | Array of strings query param to denote what all extra fields to fetch |
curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/finetune-jobs/{finetune_job_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "data": {
- "baseModel": {
- "id": "string",
- "name": "string"
}, - "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "dataSource": {
- "id": "string",
- "name": "string"
}, - "expandValues": { },
- "finetuneModel": {
- "id": "string",
- "name": "string"
}, - "id": "string",
- "methodConfig": {
- "additionalParams": {
- "lora": {
- "alpha": 1,
- "rank": 1
}
}, - "hyperparameters": {
- "batchSize": 1,
- "epochs": 1,
- "gradientAccumulationSteps": 1,
- "learningRate": 1e-7
}, - "type": "supervised-lora"
}, - "name": "string",
- "resources": {
- "acceleratorCount": 0,
- "acceleratorProduct": "string",
- "cpu": 0,
- "memoryInGi": 0
}, - "seed": 0,
- "updatedAt": "string"
}, - "msg": "string"
}List batches
| after | string Pagination parameters |
| limit | string limit |
| offset | string offset |
curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/batches \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "data": {
- "data": [
- {
- "cancelled_at": 0,
- "cancelling_at": 0,
- "completed_at": 0,
- "completion_window": "string",
- "created_at": 0,
- "endpoint": "/v1/chat/completions",
- "error_file_id": "string",
- "errors": {
- "data": [
- {
- "code": "string",
- "line": 0,
- "message": "string",
- "param": "string"
}
], - "object": "string"
}, - "expired_at": 0,
- "expires_at": 0,
- "failed_at": 0,
- "finalizing_at": 0,
- "id": "string",
- "in_progress_at": 0,
- "input_file_id": "string",
- "metadata": {
- "property1": null,
- "property2": null
}, - "object": "string",
- "output_file_id": "string",
- "request_counts": {
- "completed": 0,
- "failed": 0,
- "total": 0
}, - "status": "string"
}
], - "first_id": "string",
- "has_more": true,
- "last_id": "string",
- "object": "string"
}, - "msg": "string"
}Create a new batch.
new create batch request object
| completion_window | string |
| endpoint | string (openai.BatchEndpoint) Enum: "/v1/chat/completions" "/v1/completions" "/v1/embeddings" |
| input_file_id | string |
object |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/batches \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "completion_window": "string", "endpoint": "/v1/chat/completions", "input_file_id": "string", "metadata": { "property1": {}, "property2": {} } }'
{- "data": {
- "cancelled_at": 0,
- "cancelling_at": 0,
- "completed_at": 0,
- "completion_window": "string",
- "created_at": 0,
- "endpoint": "/v1/chat/completions",
- "error_file_id": "string",
- "errors": {
- "data": [
- {
- "code": "string",
- "line": 0,
- "message": "string",
- "param": "string"
}
], - "object": "string"
}, - "expired_at": 0,
- "expires_at": 0,
- "failed_at": 0,
- "finalizing_at": 0,
- "id": "string",
- "in_progress_at": 0,
- "input_file_id": "string",
- "metadata": {
- "property1": null,
- "property2": null
}, - "object": "string",
- "output_file_id": "string",
- "request_counts": {
- "completed": 0,
- "failed": 0,
- "total": 0
}, - "status": "string"
}, - "msg": "string"
}Search batches
| expand | Array of strings query param to denote what all extra fields to fetch |
list options object
required | Array of objects (dto.FilterOptions) |
| limit required | integer |
| offset required | integer >= 0 |
required | Array of objects (dto.SortOptions) |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/batches/search \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "filters": [ { "field": "string", "operation": "startsWith", "values": [ "string" ] } ], "limit": 0, "offset": 0, "sort": [ { "field": "string", "order": "ASCENDING" } ] }'
{- "data": {
- "batches": [
- {
- "completionWindow": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "datasource": {
- "id": "string",
- "name": "string"
}, - "endpoint": "/v1/chat/completions",
- "endpointId": "string",
- "expandValues": { },
- "id": "string",
- "name": "string",
- "object": "string",
- "outputFileId": "string",
- "outputStorage": {
- "nfs": {
- "dataPath": "string",
- "serverIp": "string",
- "sharePath": "string"
}
}, - "requestCounts": {
- "completed": 0,
- "failed": 0,
- "total": 0
}
}
], - "totalCount": 0
}, - "msg": "string"
}Delete a batch by ID
| batch_id required | string batch ID |
| force | boolean force delete |
curl --request DELETE \ --url https://www.nutanix.dev/api/enterpriseai/v1/batches/{batch_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "msg": "string"
}Get a batch by ID
| batch_id required | string batch ID |
curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/batches/{batch_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "data": {
- "cancelled_at": 0,
- "cancelling_at": 0,
- "completed_at": 0,
- "completion_window": "string",
- "created_at": 0,
- "endpoint": "/v1/chat/completions",
- "error_file_id": "string",
- "errors": {
- "data": [
- {
- "code": "string",
- "line": 0,
- "message": "string",
- "param": "string"
}
], - "object": "string"
}, - "expired_at": 0,
- "expires_at": 0,
- "failed_at": 0,
- "finalizing_at": 0,
- "id": "string",
- "in_progress_at": 0,
- "input_file_id": "string",
- "metadata": {
- "property1": null,
- "property2": null
}, - "object": "string",
- "output_file_id": "string",
- "request_counts": {
- "completed": 0,
- "failed": 0,
- "total": 0
}, - "status": "string"
}, - "msg": "string"
}Cancel a batch by ID
| batch_id required | string batch ID |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/batches/{batch_id}/cancel \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "data": {
- "cancelled_at": 0,
- "cancelling_at": 0,
- "completed_at": 0,
- "completion_window": "string",
- "created_at": 0,
- "endpoint": "/v1/chat/completions",
- "error_file_id": "string",
- "errors": {
- "data": [
- {
- "code": "string",
- "line": 0,
- "message": "string",
- "param": "string"
}
], - "object": "string"
}, - "expired_at": 0,
- "expires_at": 0,
- "failed_at": 0,
- "finalizing_at": 0,
- "id": "string",
- "in_progress_at": 0,
- "input_file_id": "string",
- "metadata": {
- "property1": null,
- "property2": null
}, - "object": "string",
- "output_file_id": "string",
- "request_counts": {
- "completed": 0,
- "failed": 0,
- "total": 0
}, - "status": "string"
}, - "msg": "string"
}Create a new provider.
provider
| credentialId required | string |
| name required | string <= 20 characters |
| type required | string (enum.LLMProviderType) Enum: "anthropic" "awsBedrock" "azureOpenai" "cohere" "gcpVertexAI" "googleGemini" "mistral" "nai" "openai" |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/providers \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "credentialId": "string", "name": "string", "type": "anthropic" }'
{- "data": "string",
- "msg": "string"
}Get requirements for a provider.
provider requirements
| ingressApiSpec | string (enum.AIGatewayAPISpec) Enum: "cohereRerankV2APISpec" "openaiChatV1APISpec" "openaiEmbeddingsV1APISpec" "openaiImageGenerationsV1APISpec" |
| type | string (enum.LLMProviderType) Enum: "anthropic" "awsBedrock" "azureOpenai" "cohere" "gcpVertexAI" "googleGemini" "mistral" "nai" "openai" |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/providers/requirements \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "ingressApiSpec": "awsBedrockConverseV1APISpec", "type": "anthropic" }'
{- "data": {
- "property1": {
- "models": [
- "string"
], - "supportedCredentialType": "hf"
}, - "property2": {
- "models": [
- "string"
], - "supportedCredentialType": "hf"
}
}, - "msg": "string"
}Search and filter providers.
list options object
required | Array of objects (dto.FilterOptions) |
| limit required | integer |
| offset required | integer >= 0 |
required | Array of objects (dto.SortOptions) |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/providers/search \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "filters": [ { "field": "string", "operation": "startsWith", "values": [ "string" ] } ], "limit": 0, "offset": 0, "sort": [ { "field": "string", "order": "ASCENDING" } ] }'
{- "data": {
- "providers": [
- {
- "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "credential": {
- "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "data": {
- "anthropic": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "aws": {
- "accessKeyID": "string",
- "hostname": "string",
- "port": 65535,
- "region": "string",
- "secretAccessKey": "string"
}, - "azure": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "cohere": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "gcp": {
- "hostname": "string",
- "port": 65535,
- "projectName": "string",
- "region": "string",
- "serviceAccountJson": {
- "property1": "string",
- "property2": "string"
}
}, - "googleGemini": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "hf": {
- "token": "string"
}, - "mcpImageRegistry": {
- "password": "stringstr",
- "registryUrl": "string",
- "username": "string"
}, - "mcpServer": {
- "apiKey": "string"
}, - "mistral": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "nai": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "ngc": {
- "apiKey": "string"
}, - "openai": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}
}, - "id": "string",
- "name": "string",
- "type": "hf",
- "updatedAt": "string"
}, - "id": "string",
- "name": "string",
- "type": "anthropic",
- "updatedAt": "string"
}
], - "totalCount": 0
}, - "msg": "string"
}Delete a provider by id.
| provider_id required | string provider id |
| force | boolean force delete |
curl --request DELETE \ --url https://www.nutanix.dev/api/enterpriseai/v1/providers/{provider_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "msg": "string"
}Get a provider by id.
| provider_id required | string provider id |
curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/providers/{provider_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "data": {
- "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "credential": {
- "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "data": {
- "anthropic": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "aws": {
- "accessKeyID": "string",
- "hostname": "string",
- "port": 65535,
- "region": "string",
- "secretAccessKey": "string"
}, - "azure": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "cohere": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "gcp": {
- "hostname": "string",
- "port": 65535,
- "projectName": "string",
- "region": "string",
- "serviceAccountJson": {
- "property1": "string",
- "property2": "string"
}
}, - "googleGemini": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "hf": {
- "token": "string"
}, - "mcpImageRegistry": {
- "password": "stringstr",
- "registryUrl": "string",
- "username": "string"
}, - "mcpServer": {
- "apiKey": "string"
}, - "mistral": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "nai": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "ngc": {
- "apiKey": "string"
}, - "openai": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}
}, - "id": "string",
- "name": "string",
- "type": "hf",
- "updatedAt": "string"
}, - "id": "string",
- "name": "string",
- "type": "anthropic",
- "updatedAt": "string"
}, - "msg": "string"
}Update an provider by id.
| provider_id required | string provider id |
provider
| credentialId | string |
curl --request PATCH \ --url https://www.nutanix.dev/api/enterpriseai/v1/providers/{provider_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "credentialId": "string" }'
{- "msg": "string"
}Create a new unified endpoint.
new create unified endpoint request object
| apiKeys | Array of strings |
| apiSpec required | string (enum.AIGatewayAPISpec) Enum: "cohereRerankV2APISpec" "openaiChatV1APISpec" "openaiEmbeddingsV1APISpec" "openaiImageGenerationsV1APISpec" |
| mode required | string (enum.UnifiedEndpointMode) Enum: "loadbalancer" "fallback" |
| name required | string <= 20 characters |
required | Array of objects (dto.TargetEndpointConfig) <= 16 items |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/unified-endpoints \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "apiKeys": [ "string" ], "apiSpec": "awsBedrockConverseV1APISpec", "mode": "loadbalancer", "name": "string", "targetEndpoints": [ { "endpointType": "internal", "internalEndpointId": "string", "priority": 0, "providerId": "string", "providerModelName": "string", "weight": 0 } ] }'
{- "data": {
- "id": "string"
}, - "msg": "string"
}List API keys for a unified endpoint.
| unified_endpoint_id required | string unified endpoint id |
curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/unified-endpoints/apikeys/{unified_endpoint_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "data": {
- "apikeys": [
- {
- "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "endpoints": [
- {
- "id": "string",
- "name": "string"
}
], - "id": "string",
- "key": "string",
- "name": "string",
- "status": "string",
- "unifiedEndpoints": [
- {
- "id": "string",
- "name": "string"
}
], - "updatedAt": "string"
}
], - "totalCount": 0
}, - "msg": "string"
}Search and filter unified endpoints.
list options object
required | Array of objects (dto.FilterOptions) |
| limit required | integer |
| offset required | integer >= 0 |
required | Array of objects (dto.SortOptions) |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/unified-endpoints/search \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "filters": [ { "field": "string", "operation": "startsWith", "values": [ "string" ] } ], "limit": 0, "offset": 0, "sort": [ { "field": "string", "order": "ASCENDING" } ] }'
{- "data": {
- "totalCount": 0,
- "unifiedEndpoints": [
- {
- "apiKeys": [
- "string"
], - "apiSpec": "cohereRerankV2APISpec",
- "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "id": "string",
- "mode": "loadbalancer",
- "modelCapabilities": [
- "text-to-text"
], - "name": "string",
- "targetEndpoints": [
- {
- "endpointType": "internal",
- "internalEndpointId": "string",
- "priority": 0,
- "providerId": "string",
- "providerModelName": "string",
- "weight": 0
}
], - "unifiedEndpointAccess": {
- "prefix": "string",
- "urls": [
- "string"
]
}, - "updatedAt": "string"
}
]
}, - "msg": "string"
}Delete a unified endpoint by its ID.
| unified_endpoint_id required | string unified endpoint id |
| force | boolean force delete |
curl --request DELETE \ --url https://www.nutanix.dev/api/enterpriseai/v1/unified-endpoints/{unified_endpoint_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "msg": "string"
}Retrieve a specific unified endpoint by its ID.
| unified_endpoint_id required | string unified endpoint id |
curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/unified-endpoints/{unified_endpoint_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "data": {
- "apiKeys": [
- "string"
], - "apiSpec": "cohereRerankV2APISpec",
- "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "id": "string",
- "mode": "loadbalancer",
- "modelCapabilities": [
- "text-to-text"
], - "name": "string",
- "targetEndpoints": [
- {
- "endpointType": "internal",
- "internalEndpointId": "string",
- "priority": 0,
- "providerId": "string",
- "providerModelName": "string",
- "weight": 0
}
], - "unifiedEndpointAccess": {
- "prefix": "string",
- "urls": [
- "string"
]
}, - "updatedAt": "string"
}, - "msg": "string"
}Update an existing unified endpoint.
| unified_endpoint_id required | string unified endpoint id |
update unified endpoint request object
| apiSpec | string (enum.AIGatewayAPISpec) Enum: "cohereRerankV2APISpec" "openaiChatV1APISpec" "openaiEmbeddingsV1APISpec" "openaiImageGenerationsV1APISpec" |
| mode | string (enum.UnifiedEndpointMode) Enum: "loadbalancer" "fallback" |
Array of objects (dto.TargetEndpointConfig) <= 16 items |
curl --request PUT \ --url https://www.nutanix.dev/api/enterpriseai/v1/unified-endpoints/{unified_endpoint_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "apiSpec": "awsBedrockConverseV1APISpec", "mode": "loadbalancer", "targetEndpoints": [ { "endpointType": "internal", "internalEndpointId": "string", "priority": 0, "providerId": "string", "providerModelName": "string", "weight": 0 } ] }'
{- "msg": "string"
}List rate limit configurations for an unified endpoint.
| unified_endpoint_id required | string unified endpoint id |
curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/unified-endpoints/{unified_endpoint_id}/ratelimit \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "data": {
- "apiKeys": [
- {
- "apiKeyId": "string",
- "rateLimitConfig": {
- "cost": "request",
- "durationUnit": "Second",
- "value": 0
}
}
], - "global": {
- "rateLimitConfig": {
- "cost": "request",
- "durationUnit": "Second",
- "value": 0
}
}
}, - "msg": "string"
}Update rate limit configuration on a unified endpoint.
| unified_endpoint_id required | string unified endpoint id |
Rate limit configurations
Array of objects (dto.APIKeySpecificRateLimitConfig) APIKeys specifies API key specific rate limit configurations.
| |
object Global specifies the global rate limit configuration.
|
curl --request PATCH \ --url https://www.nutanix.dev/api/enterpriseai/v1/unified-endpoints/{unified_endpoint_id}/ratelimit \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "apiKeys": [ { "apiKeyId": "string", "rateLimitConfig": { "cost": null, "durationUnit": null, "value": 0 } } ], "global": null }'
{- "msg": "string"
}create a new MCP server
new create MCP server request object
object (dto.LocalMCPServer) | |
| name required | string <= 32 characters |
object (dto.RemoteMCPServer) | |
| serverAuthCredentialId | string |
| serverType required | string (enum.MCPServerType) Enum: "remote" "local" |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/mcp/servers/ \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "localMcpServer": { "args": [ "string" ], "cpuMilliCores": 0, "env": { "property1": "string", "property2": "string" }, "instances": 1, "memoryInMi": 0, "packageName": "string", "packageType": "docker", "port": 1, "registryCredentialId": "string" }, "name": "string", "remoteMcpServer": { "url": "string" }, "serverAuthCredentialId": "string", "serverType": "remote" }'
{- "data": {
- "id": "string"
}, - "msg": "string"
}Search MCP Servers.
| expand | Array of strings query param to denote what all extra fields to fetch |
list options object
required | Array of objects (dto.FilterOptions) |
| limit required | integer |
| offset required | integer >= 0 |
required | Array of objects (dto.SortOptions) |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/mcp/servers/search \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "filters": [ { "field": "string", "operation": "startsWith", "values": [ "string" ] } ], "limit": 0, "offset": 0, "sort": [ { "field": "string", "order": "ASCENDING" } ] }'
{- "data": {
- "mcpServers": [
- {
- "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "expandValues": { },
- "id": "string",
- "localMcpServer": {
- "args": [
- "string"
], - "cpuMilliCores": 0,
- "env": {
- "property1": "string",
- "property2": "string"
}, - "instances": 0,
- "memoryInMi": 0,
- "packageName": "string",
- "packageType": "docker",
- "port": 0,
- "registryCredential": {
- "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "data": {
- "anthropic": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "aws": {
- "accessKeyID": "string",
- "hostname": "string",
- "port": 65535,
- "region": "string",
- "secretAccessKey": "string"
}, - "azure": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "cohere": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "gcp": {
- "hostname": "string",
- "port": 65535,
- "projectName": "string",
- "region": "string",
- "serviceAccountJson": {
- "property1": "string",
- "property2": "string"
}
}, - "googleGemini": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "hf": {
- "token": "string"
}, - "mcpImageRegistry": {
- "password": "stringstr",
- "registryUrl": "string",
- "username": "string"
}, - "mcpServer": {
- "apiKey": "string"
}, - "mistral": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "nai": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "ngc": {
- "apiKey": "string"
}, - "openai": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}
}, - "id": "string",
- "name": "string",
- "type": "hf",
- "updatedAt": "string"
}
}, - "name": "string",
- "remoteMcpServer": {
- "url": "string"
}, - "serverAuthCredential": {
- "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "data": {
- "anthropic": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "aws": {
- "accessKeyID": "string",
- "hostname": "string",
- "port": 65535,
- "region": "string",
- "secretAccessKey": "string"
}, - "azure": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "cohere": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "gcp": {
- "hostname": "string",
- "port": 65535,
- "projectName": "string",
- "region": "string",
- "serviceAccountJson": {
- "property1": "string",
- "property2": "string"
}
}, - "googleGemini": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "hf": {
- "token": "string"
}, - "mcpImageRegistry": {
- "password": "stringstr",
- "registryUrl": "string",
- "username": "string"
}, - "mcpServer": {
- "apiKey": "string"
}, - "mistral": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "nai": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "ngc": {
- "apiKey": "string"
}, - "openai": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}
}, - "id": "string",
- "name": "string",
- "type": "hf",
- "updatedAt": "string"
}, - "serverType": "remote",
- "updatedAt": "string"
}
], - "totalCount": 0
}, - "msg": "string"
}Delete a MCP Server.
| mcp_server_id required | string MCP Server id |
curl --request DELETE \ --url https://www.nutanix.dev/api/enterpriseai/v1/mcp/servers/{mcp_server_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "msg": "string"
}Retrieve a specific MCP server by its ID.
| mcp_server_id required | string MCP server id |
| expand | Array of strings query param to denote what all extra fields to fetch |
curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/mcp/servers/{mcp_server_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "data": {
- "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "expandValues": { },
- "id": "string",
- "localMcpServer": {
- "args": [
- "string"
], - "cpuMilliCores": 0,
- "env": {
- "property1": "string",
- "property2": "string"
}, - "instances": 0,
- "memoryInMi": 0,
- "packageName": "string",
- "packageType": "docker",
- "port": 0,
- "registryCredential": {
- "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "data": {
- "anthropic": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "aws": {
- "accessKeyID": "string",
- "hostname": "string",
- "port": 65535,
- "region": "string",
- "secretAccessKey": "string"
}, - "azure": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "cohere": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "gcp": {
- "hostname": "string",
- "port": 65535,
- "projectName": "string",
- "region": "string",
- "serviceAccountJson": {
- "property1": "string",
- "property2": "string"
}
}, - "googleGemini": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "hf": {
- "token": "string"
}, - "mcpImageRegistry": {
- "password": "stringstr",
- "registryUrl": "string",
- "username": "string"
}, - "mcpServer": {
- "apiKey": "string"
}, - "mistral": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "nai": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "ngc": {
- "apiKey": "string"
}, - "openai": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}
}, - "id": "string",
- "name": "string",
- "type": "hf",
- "updatedAt": "string"
}
}, - "name": "string",
- "remoteMcpServer": {
- "url": "string"
}, - "serverAuthCredential": {
- "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "data": {
- "anthropic": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "aws": {
- "accessKeyID": "string",
- "hostname": "string",
- "port": 65535,
- "region": "string",
- "secretAccessKey": "string"
}, - "azure": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "cohere": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "gcp": {
- "hostname": "string",
- "port": 65535,
- "projectName": "string",
- "region": "string",
- "serviceAccountJson": {
- "property1": "string",
- "property2": "string"
}
}, - "googleGemini": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "hf": {
- "token": "string"
}, - "mcpImageRegistry": {
- "password": "stringstr",
- "registryUrl": "string",
- "username": "string"
}, - "mcpServer": {
- "apiKey": "string"
}, - "mistral": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "nai": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}, - "ngc": {
- "apiKey": "string"
}, - "openai": {
- "apiKey": "string",
- "hostname": "string",
- "port": 65535
}
}, - "id": "string",
- "name": "string",
- "type": "hf",
- "updatedAt": "string"
}, - "serverType": "remote",
- "updatedAt": "string"
}, - "msg": "string"
}List all available tools on an MCP server.
| mcp_server_id required | string MCP server id |
curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/mcp/servers/{mcp_server_id}/tools \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \
{- "data": {
- "availableTools": [
- {
- "description": "string",
- "name": "string"
}
]
}, - "msg": "string"
}Create a new MCP connector.
new create MCP connector request object
| mcpKeys | Array of strings |
required | Array of objects (dto.MCPServerWithTools) non-empty |
| name required | string <= 32 characters |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/mcp/connectors \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "mcpKeys": [ "string" ], "mcpServers": [ { "allowedTools": [ "string" ], "serverId": "string" } ], "name": "string" }'
{- "data": {
- "id": "string"
}, - "msg": "string"
}Search and filter MCP connectors.
| expand | Array of strings query param to denote what all extra fields to fetch |
list options object
required | Array of objects (dto.FilterOptions) |
| limit required | integer |
| offset required | integer >= 0 |
required | Array of objects (dto.SortOptions) |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/mcp/connectors/search \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "filters": [ { "field": "string", "operation": "startsWith", "values": [ "string" ] } ], "limit": 0, "offset": 0, "sort": [ { "field": "string", "order": "ASCENDING" } ] }'
{- "data": {
- "mcpConnectors": [
- {
- "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "id": "string",
- "mcpKeys": [
- "string"
], - "mcpServers": [
- "string"
], - "name": "string",
- "updatedAt": "string"
}
], - "totalCount": 0
}, - "msg": "string"
}Validate an MCP connector name.
| mcp_connector_name required | string MCP connector name |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/mcp/connectors/validate \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "msg": "string"
}Delete an MCP connector by its ID.
| mcp_connector_id required | string MCP connector id |
curl --request DELETE \ --url https://www.nutanix.dev/api/enterpriseai/v1/mcp/connectors/{mcp_connector_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "msg": "string"
}Retrieve a specific MCP connector by its ID.
| mcp_connector_id required | string MCP connector id |
| expand | Array of strings query param to denote what all extra fields to fetch |
curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/mcp/connectors/{mcp_connector_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "data": {
- "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "id": "string",
- "mcpKeys": [
- "string"
], - "mcpServers": [
- "string"
], - "name": "string",
- "updatedAt": "string"
}, - "msg": "string"
}Update an existing MCP connector.
| mcp_connector_id required | string MCP connector id |
update MCP connector request object
| mcpKeys | Array of strings |
Array of objects (dto.MCPServerWithTools) |
curl --request PATCH \ --url https://www.nutanix.dev/api/enterpriseai/v1/mcp/connectors/{mcp_connector_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "mcpKeys": [ "string" ], "mcpServers": [ { "allowedTools": [ "string" ], "serverId": "string" } ] }'
{- "msg": "string"
}List MCP keys for a specific connector.
| mcp_connector_id required | string connector id |
curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/mcp/connectors/{mcp_connector_id}/mcpkeys \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "data": {
- "mcpkeys": [
- {
- "connectors": [
- {
- "id": "string",
- "name": "string"
}
], - "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "id": "string",
- "key": "string",
- "name": "string",
- "status": "string",
- "updatedAt": "string"
}
], - "totalCount": 0
}, - "msg": "string"
}List MCP servers for a specific connector.
| mcp_connector_id required | string connector id |
curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/mcp/connectors/{mcp_connector_id}/mcpservers \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "data": {
- "mcpServers": [
- {
- "allowedTools": [
- "string"
], - "id": "string",
- "name": "string"
}
], - "totalCount": 0
}, - "msg": "string"
}List available and allowed tools for a server within a connector context.
| mcp_connector_id required | string MCP connector id |
| mcp_server_id required | string MCP server id |
curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/mcp/connectors/{mcp_connector_id}/servers/{mcp_server_id}/tools \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \
{- "data": {
- "allowedTools": [
- {
- "description": "string",
- "name": "string"
}
], - "availableTools": [
- {
- "description": "string",
- "name": "string"
}
]
}, - "msg": "string"
}Create a new MCP key.
new MCP key create request object
| connectors | Array of strings |
| name required | string <= 32 characters |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/mcpkeys \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "connectors": [ "string" ], "name": "string" }'
{- "data": {
- "id": "string",
- "key": "string"
}, - "msg": "string"
}Search and filter MCP keys.
list options object
required | Array of objects (dto.FilterOptions) |
| limit required | integer |
| offset required | integer >= 0 |
required | Array of objects (dto.SortOptions) |
curl --request POST \ --url https://www.nutanix.dev/api/enterpriseai/v1/mcpkeys/search \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "filters": [ { "field": "string", "operation": "startsWith", "values": [ "string" ] } ], "limit": 0, "offset": 0, "sort": [ { "field": "string", "order": "ASCENDING" } ] }'
{- "data": {
- "mcpkeys": [
- {
- "connectors": [
- {
- "id": "string",
- "name": "string"
}
], - "createdAt": "string",
- "createdBy": {
- "id": "string",
- "username": "string"
}, - "id": "string",
- "key": "string",
- "name": "string",
- "status": "string",
- "updatedAt": "string"
}
], - "totalCount": 0
}, - "msg": "string"
}Delete MCP key with id.
| mcpkey_id required | string mcpkey id |
curl --request DELETE \ --url https://www.nutanix.dev/api/enterpriseai/v1/mcpkeys/{mcpkey_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \
{- "msg": "string"
}Update MCP key with status and connector id list.
| mcpkey_id required | string mcpkey id |
mcpkey update request object
| connectors | Array of strings |
| status | string |
curl --request PATCH \ --url https://www.nutanix.dev/api/enterpriseai/v1/mcpkeys/{mcpkey_id} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "connectors": [ "string" ], "status": "string" }'
{- "msg": "string"
}Retrieve current user information and system status.
curl --request GET \ --url https://www.nutanix.dev/api/enterpriseai/v1/users/me \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \
{- "data": {
- "meta": {
- "accessControlViolated": {
- "endpointViolated": true,
- "modelViolated": true
}, - "endpointCreated": true,
- "mcpConnectorCreated": true,
- "modelsImported": true,
- "unifiedEndpointCreated": true
}, - "user": {
- "id": "string",
- "role": "MLUser",
- "username": "string"
}
}, - "msg": "string"
}Lists the currently available models and provides basic information, such as the owner and availability
| Authorization required | string Default: Bearer <Add access token here> API key for authentication |
curl --request GET \ --url https://www.nutanix.dev/enterpriseai/v1/models \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <Add access token here>' \ --header 'Content-Type: application/json' \
{- "data": [
- {
- "created": 0,
- "id": "string",
- "object": "string",
- "owned_by": "string"
}
], - "object": "string"
}The chat completions API generates a model response from a list of messages comprising a conversation. This request creates a model response for the given chat conversation.
| Authorization required | string Default: Bearer <Add access token here> API key for authentication |
Parameters required to create the chat completion request.
object ChatTemplateKwargs provides a way to add non-standard parameters to the request body. Additional kwargs to pass to the template renderer. Will be accessible by the chat template. Such as think mode for qwen3. "chat_template_kwargs": {"enable_thinking": false} https://qwen.readthedocs.io/en/latest/deployment/vllm.html#thinking-non-thinking-modes | |
| frequency_penalty | number |
| function_call | any Deprecated: use ToolChoice instead. |
Array of objects (openai.FunctionDefinition) Deprecated: use Tools instead. | |
| guided_choice | Array of strings GuidedChoice is a vLLM-specific extension that restricts the model's output to one of the predefined string choices provided in this field. This feature is used to constrain the model's responses to a controlled set of options, ensuring predictable and consistent outputs in scenarios where specific choices are required. |
| ignore_eos | boolean |
object LogitBias is must be a token id string (specified by their token ID in the tokenizer), not a word string.
incorrect: | |
| logprobs | boolean LogProbs indicates whether to return log probabilities of the output tokens or not. If true, returns the log probabilities of each output token returned in the content of message. This option is currently not available on the gpt-4-vision-preview model. |
| max_completion_tokens | integer MaxCompletionTokens An upper bound for the number of tokens that can be generated for a completion, including visible output tokens and reasoning tokens https://platform.openai.com/docs/guides/reasoning |
| max_tokens | integer MaxTokens The maximum number of tokens that can be generated in the chat completion. This value can be used to control costs for text generated via API. Deprecated: use MaxCompletionTokens. Not compatible with o1-series models. refs: https://platform.openai.com/docs/api-reference/chat/create#chat-create-max_tokens |
Array of objects (openai.ChatCompletionMessage) | |
object Metadata to store with the completion. | |
| min_tokens | integer |
| model | string |
| n | integer |
| parallel_tool_calls | any Disable the default behavior of parallel tool calls by setting it: false. |
object Configuration for a predicted output. | |
| presence_penalty | number |
| reasoning_effort | string Controls effort on reasoning for reasoning models. It can be set to "low", "medium", or "high". |
object (openai.ChatCompletionResponseFormat) | |
| safety_identifier | string A stable identifier used to help detect users of your application that may be violating OpenAI's usage policies. The IDs should be a string that uniquely identifies each user. We recommend hashing their username or email address, in order to avoid sending us any identifying information. https://platform.openai.com/docs/api-reference/chat/create#chat_create-safety_identifier |
| seed | integer |
| service_tier | string Enum: "auto" "default" "flex" "priority" Specifies the latency tier to use for processing the request. |
| stop | Array of strings |
| store | boolean Store can be set to true to store the output of this completion request for use in distillations and evals. https://platform.openai.com/docs/api-reference/chat/create#chat-create-store |
| stream | boolean |
object Options for streaming response. Only set this when you set stream: true. | |
| temperature | number |
| tool_choice | any This can be either a string or an ToolChoice object. |
Array of objects (openai.Tool) | |
| top_logprobs | integer TopLogProbs is an integer between 0 and 5 specifying the number of most likely tokens to return at each token position, each with an associated log probability. logprobs must be set to true if this parameter is used. |
| top_p | number |
| user | string |
| verbosity | string Verbosity determines how many output tokens are generated. Lowering the number of tokens reduces overall latency. It can be set to "low", "medium", or "high". Note: This field is only confirmed to work with gpt-5, gpt-5-mini and gpt-5-nano. Also, it is not in the API reference of chat completion at the time of writing, though it is supported by the API. |
curl --request POST \ --url https://www.nutanix.dev/enterpriseai/v1/chat/completions \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <Add access token here>' \ --header 'Content-Type: application/json' \ --data '{ "chat_template_kwargs": { "property1": {}, "property2": {} }, "frequency_penalty": null, "function_call": null, "functions": [ { "description": "string", "name": "string", "parameters": null, "strict": true } ], "guided_choice": [ "string" ], "ignore_eos": true, "logit_bias": { "property1": 0, "property2": 0 }, "logprobs": true, "max_completion_tokens": 0, "max_tokens": 0, "messages": [ { "content": "string", "function_call": { "arguments": "string", "name": "string" }, "multiContent": [ { "image_url": { "detail": "high", "url": "string" }, "text": "string", "type": "text" } ], "name": "string", "reasoning": "string", "reasoning_content": "string", "refusal": "string", "role": "string", "tool_call_id": "string", "tool_calls": [ { "function": { "arguments": "string", "name": "string" }, "id": "string", "index": 0, "type": "function" } ] } ], "metadata": { "property1": "string", "property2": "string" }, "min_tokens": 0, "model": "string", "n": 0, "parallel_tool_calls": null, "prediction": null, "presence_penalty": null, "reasoning_effort": "string", "response_format": { "json_schema": { "description": "string", "name": "string", "schema": null, "strict": true }, "type": "json_object" }, "safety_identifier": "string", "seed": 0, "service_tier": null, "stop": [ "string" ], "store": true, "stream": true, "stream_options": null, "temperature": null, "tool_choice": null, "tools": [ { "function": { "description": "string", "name": "string", "parameters": null, "strict": true }, "type": "function" } ], "top_logprobs": 0, "top_p": null, "user": "string", "verbosity": "string" }'
{- "choices": [
- {
- "content_filter_results": {
- "hate": {
- "filtered": true,
- "severity": "string"
}, - "jailbreak": {
- "detected": true,
- "filtered": true
}, - "profanity": {
- "detected": true,
- "filtered": true
}, - "self_harm": {
- "filtered": true,
- "severity": "string"
}, - "sexual": {
- "filtered": true,
- "severity": "string"
}, - "violence": {
- "filtered": true,
- "severity": "string"
}
}, - "finish_reason": "string",
- "index": 0,
- "logprobs": {
- "content": [
- {
- "bytes": [
- 0
], - "logprob": 0,
- "token": "string",
- "top_logprobs": [
- {
- "bytes": [
- 0
], - "logprob": 0,
- "token": "string"
}
]
}
]
}, - "message": {
- "content": "string",
- "function_call": {
- "arguments": "string",
- "name": "string"
}, - "multiContent": [
- {
- "image_url": {
- "detail": "high",
- "url": "string"
}, - "text": "string",
- "type": "text"
}
], - "name": "string",
- "reasoning": "string",
- "reasoning_content": "string",
- "refusal": "string",
- "role": "string",
- "tool_call_id": "string",
- "tool_calls": [
- {
- "function": {
- "arguments": "string",
- "name": "string"
}, - "id": "string",
- "index": 0,
- "type": "function"
}
]
}
}
], - "created": 0,
- "id": "string",
- "model": "string",
- "object": "string",
- "prompt_filter_results": [
- {
- "content_filter_results": {
- "hate": {
- "filtered": true,
- "severity": "string"
}, - "jailbreak": {
- "detected": true,
- "filtered": true
}, - "profanity": {
- "detected": true,
- "filtered": true
}, - "self_harm": {
- "filtered": true,
- "severity": "string"
}, - "sexual": {
- "filtered": true,
- "severity": "string"
}, - "violence": {
- "filtered": true,
- "severity": "string"
}
}, - "index": 0
}
], - "service_tier": "auto",
- "system_fingerprint": "string",
- "usage": {
- "completion_tokens": 0,
- "completion_tokens_details": {
- "accepted_prediction_tokens": 0,
- "audio_tokens": 0,
- "reasoning_tokens": 0,
- "rejected_prediction_tokens": 0
}, - "prompt_tokens": 0,
- "prompt_tokens_details": {
- "audio_tokens": 0,
- "cached_tokens": 0
}, - "total_tokens": 0
}
}The embedding API generates a vector representation of a given input that can be easily consumed by machine learning models and algorithms. This request creates an embedding vector representing the input text.
| Authorization required | string Default: Bearer <Add access token here> API key for authentication |
Parameters required to generate a request.
| dimensions | integer Dimensions. The number of dimensions the resulting output embeddings should have. Only supported in text-embedding-3 and later models. |
| encoding_format | string (openai.EmbeddingEncodingFormat) Enum: "float" "base64" |
object The ExtraBody field allows for the inclusion of arbitrary key-value pairs in the request body that may not be explicitly defined in this struct. | |
| input | any |
| input_type | string |
| model | string (openai.EmbeddingModel) Enum: "text-similarity-ada-001" "text-similarity-babbage-001" "text-similarity-curie-001" "text-similarity-davinci-001" "text-search-ada-doc-001" "text-search-ada-query-001" "text-search-babbage-doc-001" "text-search-babbage-query-001" "text-search-curie-doc-001" "text-search-curie-query-001" "text-search-davinci-doc-001" "text-search-davinci-query-001" "code-search-ada-code-001" "code-search-ada-text-001" "code-search-babbage-code-001" "code-search-babbage-text-001" "text-embedding-ada-002" "text-embedding-3-small" "text-embedding-3-large" |
| truncate | string |
| user | string |
curl --request POST \ --url https://www.nutanix.dev/enterpriseai/v1/embeddings \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <Add access token here>' \ --header 'Content-Type: application/json' \ --data '{ "dimensions": 0, "encoding_format": "float", "extra_body": { "property1": {}, "property2": {} }, "input": null, "input_type": "string", "model": "text-similarity-ada-001", "truncate": "string", "user": "string" }'
{- "data": [
- {
- "embedding": [
- 0
], - "index": 0,
- "object": "string"
}
], - "model": "text-similarity-ada-001",
- "object": "string",
- "usage": {
- "completion_tokens": 0,
- "completion_tokens_details": {
- "accepted_prediction_tokens": 0,
- "audio_tokens": 0,
- "reasoning_tokens": 0,
- "rejected_prediction_tokens": 0
}, - "prompt_tokens": 0,
- "prompt_tokens_details": {
- "audio_tokens": 0,
- "cached_tokens": 0
}, - "total_tokens": 0
}
}The image generation API generates images from a text prompt.
| Authorization required | string Default: Bearer <Add access token here> API key for authentication |
Parameters required to create the image generation request
| background | string |
| cfg_scale | number |
| inference_steps | integer |
| model | string |
| moderation | string |
| n | integer |
| output_compression | integer |
| output_format | string |
| prompt | string |
| quality | string |
| response_format | string |
| seed | integer |
| size | string |
| style | string |
| user | string |
curl --request POST \ --url https://www.nutanix.dev/enterpriseai/v1/images/generations \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <Add access token here>' \ --header 'Content-Type: application/json' \ --data '{ "background": "string", "cfg_scale": null, "inference_steps": 0, "model": "string", "moderation": "string", "n": 0, "output_compression": 0, "output_format": "string", "prompt": "string", "quality": "string", "response_format": "string", "seed": 0, "size": "string", "style": "string", "user": "string" }'
{- "artifacts": [
- {
- "base64": "string",
- "finishReason": "string",
- "seed": 0
}
], - "created": 0,
- "data": [
- {
- "b64_json": "string",
- "revised_prompt": "string",
- "url": "string"
}
], - "usage": {
- "input_tokens": 0,
- "input_tokens_details": {
- "image_tokens": 0,
- "text_tokens": 0
}, - "output_tokens": 0,
- "total_tokens": 0
}
}The audio transcription API transcribes audio into text.
| Authorization required | string Default: Bearer <Add access token here> API key for authentication |
| file required | string <binary> The audio file to transcribe (flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm) |
| model required | string Name of the endpoint to use |
| prompt | string Optional text to guide the model's style |
| response_format | string The format of the transcript output (json, text, srt, verbose_json, or vtt) |
| temperature | number The sampling temperature, between 0 and 1 |
| language | string The language of the input audio in ISO-639-1 format |
| timestamp_granularities[] | string The timestamp granularities to populate (segment or word) |
curl --request POST \ --url https://www.nutanix.dev/enterpriseai/v1/audio/transcriptions \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <Add access token here>' \ --header 'Content-Type: multipart/form-data' \ --data '{ "file": null, "language": "string", "model": "string", "prompt": "string", "response_format": "string", "temperature": null, "timestamp_granularities[]": "string" }'
{- "duration": 0,
- "language": "string",
- "segments": [
- {
- "avg_logprob": 0,
- "compression_ratio": 0,
- "end": 0,
- "id": 0,
- "no_speech_prob": 0,
- "seek": 0,
- "start": 0,
- "temperature": 0,
- "text": "string",
- "tokens": [
- 0
], - "transient": true
}
], - "task": "string",
- "text": "string",
- "words": [
- {
- "end": 0,
- "start": 0,
- "word": "string"
}
]
}The audio translation API translates audio into text.
| Authorization required | string Default: Bearer <Add access token here> API key for authentication |
| file required | string <binary> The audio file to translate (flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm) |
| model required | string Name of the endpoint to use |
| prompt | string Optional text to guide the model's style |
| response_format | string The format of the transcript output (json, text, srt, verbose_json, or vtt) |
| temperature | number The sampling temperature, between 0 and 1 |
curl --request POST \ --url https://www.nutanix.dev/enterpriseai/v1/audio/translations \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <Add access token here>' \ --header 'Content-Type: multipart/form-data' \ --data '{ "file": null, "model": "string", "prompt": "string", "response_format": "string", "temperature": null }'
{- "duration": 0,
- "language": "string",
- "segments": [
- {
- "avg_logprob": 0,
- "compression_ratio": 0,
- "end": 0,
- "id": 0,
- "no_speech_prob": 0,
- "seek": 0,
- "start": 0,
- "temperature": 0,
- "text": "string",
- "tokens": [
- 0
], - "transient": true
}
], - "task": "string",
- "text": "string",
- "words": [
- {
- "end": 0,
- "start": 0,
- "word": "string"
}
]
}Rerank documents by relevance to query.
| Authorization required | string Default: Bearer <Add access token here> API key for authentication |
Parameters required to create the rerank request
required | Array of objects (dto.Document) |
| model required | string |
| query required | string |
| return_documents | boolean |
| top_n | integer >= 0 |
| truncate | boolean |
curl --request POST \ --url https://www.nutanix.dev/enterpriseai/v1/rerank \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <Add access token here>' \ --header 'Content-Type: application/json' \ --data '{ "documents": [ { "text": "string" } ], "model": "string", "query": "string", "return_documents": true, "top_n": 0, "truncate": true }'
{- "meta": {
- "tokens": {
- "input_tokens": 0,
- "output_tokens": 0
}
}, - "results": [
- {
- "document": "string",
- "index": 0,
- "relevance_score": 0
}
]
}Rerank documents.
| Authorization required | string Default: Bearer <Add access token here> API key for authentication |
Parameters required to create the rerank request
| documents required | Array of strings Documents to be compared with the query. For best performance, keep under 1000. Long documents may be truncated server-side by max_tokens_per_doc. |
| max_tokens_per_doc | integer >= 0 Optional: truncate long documents to this many tokens. Default: 4096. |
| model required | string Model identifier to use, e.g. "rerank-v3.5". |
| query required | string Query to rank documents against. |
| top_n | integer >= 0 Optional: limit returned results to top_n. |
curl --request POST \ --url https://www.nutanix.dev/enterpriseai/v2/rerank \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <Add access token here>' \ --header 'Content-Type: application/json' \ --data '{ "documents": [ "string" ], "max_tokens_per_doc": 0, "model": "string", "query": "string", "top_n": 0 }'
{- "id": "string",
- "meta": {
- "api_version": {
- "is_deprecated": true,
- "is_experimental": true,
- "version": "string"
}, - "billed_units": {
- "classifications": 0,
- "images": 0,
- "input_tokens": 0,
- "output_tokens": 0,
- "search_units": 0
}, - "cached_tokens": 0,
- "tokens": {
- "input_tokens": 0,
- "output_tokens": 0
}, - "warnings": [
- "string"
]
}, - "results": [
- {
- "index": 0,
- "relevance_score": 0
}
]
}