Share this
Introduction
The SHARON AI Client API allows users to interact with the SHARON AI platform, providing functionalities such as retrieving product lists, managing services, and creating virtual machines and containers.
Base URL
All API requests should be made to:
https://billing.sharonai.com/api
Authentication
This API requires authentication via an API key, which should be included in the request headers:
x-api-key: {your_api_key}
An API Token can be created by creating an account at SHARON AI Billing.
API Endpoints
1. List Products
Method: POST
Request Body:
{
"action": "ListProducts"
}
Response Example:
{
"success": true,
"products": [
{
"id": 44,
"name": "OD-LIN-H100-SSD-GPU-VM-1",
"description": "1x NVIDIA H100 NVL GPU | 14 vCores | 90GB of RAM | 1 Public IP Address | 5TB Monthly Data Transfer",
"pricing": [
{
"type": "hourly",
"price": "$1.9500000000 / H"
},
{
"type": "disk_size",
"price": "$0.0000000821 / GB/hr"
}
]
},
{
"id": 55,
"name": "GPU Container",
"description": "NVIDIA H100 NVL or NVIDIA L40s GPUs",
"pricing": [
{
"type": "l40s_hourly",
"price": "$0.8500000000 / H"
},
{
"type": "h100_hourly",
"price": "$1.9500000000 / H"
}
]
},
{
"id": 56,
"name": "S3 Bucket",
"description": "",
"pricing": [
{
"type": "disk_hourly",
"price": "$0.0000109000 / GB/h"
}
]
}
]
}
2. List VM Templates
Method: POST
Request Body:
{
"action": "ListVmTemplates",
"productid": 2
}
Response Example:
{
"success": true,
"templates": [
{
"id": 121,
"template": "Ubuntu 18.04 LTS"
},
{
"id": 122,
"template": "Ubuntu 20.04 LTS"
},
{
"id": 123,
"template": "Ubuntu 22.04 LTS"
},
{
"id": 124,
"template": "Ubuntu 24.04 LTS"
},
{
"id": 186,
"template": "Ubuntu 24.10"
}
]
}
3. List VM Applications
Method: POST
Request Body:
{
"action": "ListVmApplications",
"productid": 2
}
Response Example:
{
"success": true,
"applications": [
{
"id": 176,
"template": "No Pre Installed Application"
},
{
"id": 178,
"template": "DeepSeek-R1"
},
{
"id": 182,
"template": "JupyterHub PyTorch"
},
{
"id": 183,
"template": "Docker, Portainer, NVIDIA Container Toolkit"
},
{
"id": 188,
"template": "Ollama Integrations"
}
]
}
4. Get Service Details
Method: POST
Request Body:
{
"action": "GetService",
"serviceid": 133
}
Response Example:
{
"success": true,
"service": {
"id": 133,
"domain": "SAIVM133",
"name": "OD-LIN-SSD-CPU-VM-4",
"domainstatus": "Active",
"dedicatedip": "192.168.1.1",
"username": "ubuntu",
"password": "XXXXXXXXXXXX"
}
}
5. List Services
Method: POST
Request Body:
{
"action": "ListServices"
}
Response Example:
{
"success": true,
"services": [
{
"id": 90,
"name": "",
"product": "S3 Bucket",
"status": "Active"
},
{
"id": 133,
"name": "SAIVM133",
"product": "OD-LIN-SSD-CPU-VM-4",
"status": "Active"
}
]
}
6. Create Container
Method: POST
Request Body:
{
"action": "CreateContainer",
"productid": 55,
"image": "nginx:latest",
"gputype": "L40s",
"gpucount": 1,
"ports": [
80,
443
],
"environment": [
"APP_NAME=app1",
"APP_PORT=80"
]
}
Response Example:
{
"success": true,
"message": "Successfully created service"
}
7. Create Virtual Machine
Method: POST
Request Body:
{
"action": "CreateVM",
"productid": 7,
"templateid": 122,
"applicationid": 176,
"disksize": 32,
"sshkey": "ssh-rsa AAAAB3..."
}
NB: applicationid and sshkey are optional.
Response Example:
{
"success": true,
"message": "Successfully created ServiceID 130"
}
8. Delete Service
Method: POST
Request Body:
{
"action": "DeleteService",
"serviceid": 131
}
Response Example:
{
"success": true
}
9. Start Service
Method: POST
Request Body:
{
"action": "StartService",
"serviceid": 133
}
Response Example:
{
"success": true
}
10. Stop Service
Method: POST
Request Body:
{
"action": "StopService",
"serviceid": 133
}
Response Example:
{
"success": true
}
NB: Stopped services will still incur charges. if you wish to stop billing for an instance, request a cancelation or delete the service via the API.