For the complete documentation index, see llms.txt. This page is also available as Markdown.

Serverless

Create Endpoint

post

Create a new endpoint

Authorizations
x-api-keystringRequired
Body

Elastic Endpoint Create Request v2

namestring · min: 1Required

Deployment name

Pattern: ^(?=[A-Za-z])[A-Za-z0-9@._-]{1,20}$
imageRegistrystring · max: 255Optional

Docker registry URL

imagestring · min: 1 · max: 255Required

Docker image name

Example: vllm/vllm-openai:latest
minSingleCardVramInGbinteger · int32 · max: 1536Optional

Minimum GPU single card VRAM in GB

minSingleCardVcpuinteger · int32Optional

Minimum GPU single card vCPU count

minSingleCardRamInGbinteger · int32 · max: 1536Optional

Minimum GPU single card RAM in GB

workersinteger · int32 · min: 1Required

Number of workers

credentialIdinteger · int64Optional

Credential ID

containerVolumeInGbinteger · int32 · min: 20Required

Container volume in GB

initializationCommandstringOptional

Initialization command

serviceModestring · min: 1Required

Service mode: ALB, QUEUE, CUSTOM

Example: QUEUE
webhookstring · max: 512Optional

Webhook URL for receiving task results

Pattern: ^https?://.*
Responses
200

OK

*/*
messagestringOptional

message

codeinteger · int32Optional

code

post/v2/serverless
POST /v2/serverless HTTP/1.1
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 491

{
  "name": "my-endpoint",
  "imageRegistry": "https://index.docker.io",
  "image": "yottalabsai/pytorch:2.9.0-py3.11-cuda12.8.1-cudnn-devel-ubuntu22.04",
  "resources": [
    {
      "region": "eu-1",
      "gpuType": "NVIDIA_A100_80G",
      "gpuCount": 1
    }
  ],
  "minSingleCardVramInGb": 11,
  "minSingleCardVcpu": 8,
  "minSingleCardRamInGb": 8,
  "workers": 1,
  "containerVolumeInGb": 100,
  "initializationCommand": "/usr/sbin/sshd -D &",
  "envVars": [
    {
      "key": "HF_HOME",
      "value": "/workspace/cache"
    }
  ],
  "expose": {
    "port": 8888,
    "protocol": "http"
  },
  "serviceMode": "ALB"
}
{
  "message": "success",
  "code": 10000,
  "data": {
    "id": "454421436024210042",
    "name": "my-endpoint",
    "creator": "[email protected]",
    "domain": null,
    "imageRegistry": "https://index.docker.io",
    "image": "yottalabsai/pytorch:2.9.0-py3.11-cuda12.8.1-cudnn-devel-ubuntu22.04",
    "resources": [
      {
        "region": "eu",
        "regionDisplayName": "eu",
        "gpuType": "NVIDIA_A100_80G",
        "gpuDisplayName": "A100 80G",
        "gpuCount": 1,
        "singleCardVramInGb": 80,
        "singleCardVcpu": 22,
        "singleCardRamInGb": 120
      }
    ],
    "minSingleCardVramInGb": 11,
    "minSingleCardVcpu": 8,
    "minSingleCardRamInGb": 8,
    "credentialId": null,
    "containerVolumeInGb": 100,
    "initializationCommand": "/usr/sbin/sshd -D &",
    "environmentVars": [
      {
        "key": "HF_HOME",
        "value": "/workspace/cache"
      }
    ],
    "expose": {
      "port": 8888,
      "protocol": "http"
    },
    "totalWorkers": 1,
    "runningWorkers": 0,
    "cost": "0",
    "perSecondPrice": "0",
    "perHourPrice": "0",
    "serviceMode": "ALB",
    "webhook": null,
    "status": "INITIALIZING"
  }
}

Submit Task

post

Submit a task to a QUEUE-mode endpoint

Authorizations
x-api-keystringRequired
Path parameters
idinteger · int64RequiredExample: 454433888363332100
Body

Elastic Endpoint Submit Task Request v2

taskIdstring · max: 255Optional

User-defined task ID. Auto-generated UUID if omitted

Pattern: ^[A-Za-z0-9_]*$
inputanyRequired

Task input data

workerPortinteger · int32 · min: 1 · max: 65535Required

Worker port (1-65535)

Example: 8000
processUristring · max: 255Required

Process URI on the worker

Example: /v1/chat/completions
webhookstring · max: 512Optional

Webhook URL for result delivery

Pattern: ^https?://.*
webhookAuthKeystring · max: 255Optional

Webhook authentication key

Responses
200

OK

*/*
messagestringOptional

message

codeinteger · int32Optional

code

post/v2/serverless/{id}/tasks
POST /v2/serverless/{id}/tasks HTTP/1.1
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 56

{
  "input": "hello",
  "workerPort": 8000,
  "processUri": "/echo"
}
{
  "message": "success",
  "code": 10000,
  "data": {
    "taskId": "45236b935d80405f871d473dfa8af4e6"
  }
}

Start Endpoint

post

Start or resume a stopped endpoint

Authorizations
x-api-keystringRequired
Path parameters
idinteger · int64RequiredExample: 454423236680860400
Responses
200

OK

*/*
messagestringOptional

message

Example: success
codeinteger · int32Optional

code

Example: 10000
dataanyOptional

data

post/v2/serverless/{id}/start
POST /v2/serverless/{id}/start HTTP/1.1
x-api-key: YOUR_API_KEY
Accept: */*
{
  "message": "success",
  "code": 10000,
  "data": null
}

Stop Endpoint

post

Stop a running endpoint

Authorizations
x-api-keystringRequired
Path parameters
idinteger · int64RequiredExample: 454423236680860400
Responses
200

OK

*/*
messagestringOptional

message

Example: success
codeinteger · int32Optional

code

Example: 10000
dataanyOptional

data

post/v2/serverless/{id}/stop
POST /v2/serverless/{id}/stop HTTP/1.1
x-api-key: YOUR_API_KEY
Accept: */*
{
  "message": "success",
  "code": 10000,
  "data": null
}

Delete Endpoint

delete

Delete an endpoint

Authorizations
x-api-keystringRequired
Path parameters
idinteger · int64RequiredExample: 454423236680860400
Responses
200

OK

*/*
messagestringOptional

message

Example: success
codeinteger · int32Optional

code

Example: 10000
dataanyOptional

data

delete/v2/serverless/{id}
DELETE /v2/serverless/{id} HTTP/1.1
x-api-key: YOUR_API_KEY
Accept: */*
{
  "message": "success",
  "code": 10000,
  "data": null
}

Get Endpoint

get

Get details of a specific endpoint

Authorizations
x-api-keystringRequired
Path parameters
idinteger · int64RequiredExample: 0
Responses
200

OK

*/*
messagestringOptional

message

codeinteger · int32Optional

code

get/v2/serverless/{id}
GET /v2/serverless/{id} HTTP/1.1
x-api-key: YOUR_API_KEY
Accept: */*
{
  "message": "success",
  "code": 10000,
  "data": {
    "id": "449722593352847668",
    "name": "my-endpoint",
    "status": 1,
    "domain": "https://api.example.yotta.ai"
  }
}

List Tasks

get

Get all tasks of a QUEUE-mode endpoint

Authorizations
x-api-keystringRequired
Path parameters
idinteger · int64RequiredExample: 454433888363332100
Query parameters
statusstringOptional

Filter by status: PROCESSING, DELIVERED, SUCCESS, FAILED

Example: FAILED
pageNumberinteger · int32OptionalDefault: 1Example: 1
pageSizeinteger · int32OptionalDefault: 10Example: 10
Responses
200

OK

*/*
messagestringOptional

message

codeinteger · int32Optional

code

get/v2/serverless/{id}/tasks
GET /v2/serverless/{id}/tasks HTTP/1.1
x-api-key: YOUR_API_KEY
Accept: */*
{
  "message": "success",
  "code": 10000,
  "data": {
    "items": [
      {
        "taskId": "e4d651d217ea4f148acd47c8f7a9dcd8",
        "endpointId": "454433888363332084",
        "endpointName": "serverless_perceptive_gosling",
        "status": "FAILED",
        "workerUrl": "http://localhost:8000/echo",
        "webhook": null,
        "deliveryStatus": "SUCCESS",
        "deliveryAttempts": 0,
        "error": "task processing failed after 4 attempts: HTTP request failed: Post \"http://localhost:8000/echo\": dial tcp [::1]:8000: connect: connection refused",
        "createdAt": "1780848115587",
        "deliveredAt": "1780848215095",
        "updatedAt": "1780848218470"
      }
    ],
    "page": "1",
    "size": "10",
    "total": "1",
    "pages": "1"
  }
}

List Endpoints

get

Get all elastic endpoints

Authorizations
x-api-keystringRequired
Query parameters
statusListstring[]OptionalExample: ["INITIALIZING"]
Responses
200

Success, returns list of endpoints

*/*
messagestringOptional

message

codeinteger · int32Optional

code

get/v2/serverless
GET /v2/serverless HTTP/1.1
x-api-key: YOUR_API_KEY
Accept: */*
{
  "message": "success",
  "code": 10000,
  "data": [
    {
      "id": "453690273806663908",
      "name": "my-endpoint",
      "creator": "[email protected]",
      "domain": "https://3g37s2hcqyg4.yottadeos.com",
      "imageRegistry": "https://index.docker.io",
      "image": "yottalabsai/pytorch:2.9.0-py3.11-cuda12.8.1-cudnn-devel-ubuntu22.04",
      "resources": [
        {
          "region": "eu",
          "regionDisplayName": "eu",
          "gpuType": "NVIDIA_A100_80G",
          "gpuDisplayName": "A100 80G",
          "gpuCount": 2,
          "singleCardVramInGb": 80,
          "singleCardVcpu": 22,
          "singleCardRamInGb": 120
        }
      ],
      "minSingleCardVramInGb": 11,
      "minSingleCardVcpu": 8,
      "minSingleCardRamInGb": 8,
      "credentialId": null,
      "containerVolumeInGb": 100,
      "initializationCommand": "/usr/sbin/sshd -D &",
      "environmentVars": [
        {
          "key": "HF_HOME",
          "value": "/workspace/cache"
        }
      ],
      "expose": {
        "port": 8888,
        "protocol": "http"
      },
      "totalWorkers": 1,
      "runningWorkers": 0,
      "cost": "0.948278",
      "perSecondPrice": "0.001122",
      "perHourPrice": "4.04",
      "serviceMode": "ALB",
      "webhook": null,
      "status": "INITIALIZING"
    }
  ]
}

Scale Workers

put

Scale the number of workers for an endpoint

Authorizations
x-api-keystringRequired
Path parameters
idinteger · int64RequiredExample: 454433888363332100
Query parameters
countinteger · int32RequiredExample: 2
Responses
200

OK

*/*
messagestringOptional

message

Example: success
codeinteger · int32Optional

code

Example: 10000
dataanyOptional

data

put/v2/serverless/{id}/workers
PUT /v2/serverless/{id}/workers?count=1 HTTP/1.1
x-api-key: YOUR_API_KEY
Accept: */*
{
  "message": "success",
  "code": 10000,
  "data": null
}

Get Task

get

Get details of a specific task

Authorizations
x-api-keystringRequired
Path parameters
idinteger · int64RequiredExample: 454433888363332100
taskIdstringRequiredExample: e4d651d217ea4f148acd47c8f7a9dcd8
Responses
200

OK

*/*
messagestringOptional

message

codeinteger · int32Optional

code

get/v2/serverless/{id}/tasks/{taskId}
GET /v2/serverless/{id}/tasks/{taskId} HTTP/1.1
x-api-key: YOUR_API_KEY
Accept: */*
{
  "message": "success",
  "code": 10000,
  "data": {
    "taskId": "e4d651d217ea4f148acd47c8f7a9dcd8",
    "endpointId": "454433888363332084",
    "endpointName": "serverless_perceptive_gosling",
    "status": "DELIVERED",
    "workerUrl": "http://localhost:8000/echo",
    "webhook": null,
    "deliveryStatus": "SUCCESS",
    "deliveryAttempts": 0,
    "error": null,
    "input": "hello",
    "output": null,
    "headers": null,
    "createdAt": "1780848115587",
    "updatedAt": "1780848115603",
    "deliveredAt": "1780848115603"
  }
}

Update Endpoint

patch

Update a specific endpoint

Authorizations
x-api-keystringRequired
Path parameters
idinteger · int64RequiredExample: 454423236680860400
Body

Elastic Endpoint Update Request v2

namestring · min: 1Required

Deployment name

Pattern: ^(?=[A-Za-z])[A-Za-z0-9@._-]{1,20}$
minSingleCardVramInGbinteger · int32Optional

Minimum GPU single card VRAM in GB

minSingleCardVcpuinteger · int32Optional

Minimum GPU single card vCPU count

minSingleCardRamInGbinteger · int32Optional

Minimum GPU single card RAM in GB

workersinteger · int32 · min: 1Required

Number of workers

credentialIdinteger · int64Optional

Credential ID

containerVolumeInGbinteger · int32 · min: 20Required

Container volume in GB

initializationCommandstringOptional

Initialization command

webhookstring · max: 512Optional

Webhook URL for receiving task results

Pattern: ^https?://.*
Responses
200

OK

*/*
messagestringOptional

message

codeinteger · int32Optional

code

patch/v2/serverless/{id}
PATCH /v2/serverless/{id} HTTP/1.1
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 475

{
  "name": "serverless_methodical_newton",
  "imageRegistry": "https://index.docker.io",
  "image": "ynzh0119/pytorch:latest",
  "resources": [
    {
      "region": "us-central-7",
      "gpuType": "NVIDIA_PRO6000_96G",
      "gpuCount": 1
    }
  ],
  "minSingleCardVramInGb": 11,
  "minSingleCardVcpu": 8,
  "minSingleCardRamInGb": 8,
  "workers": 1,
  "containerVolumeInGb": 100,
  "initializationCommand": "/usr/sbin/sshd -D &",
  "envVars": [
    {
      "key": "HF_HOME",
      "value": "/workspace/cache"
    }
  ],
  "expose": {
    "port": 8888,
    "protocol": "http"
  },
  "serviceMode": "ALB"
}
{
  "message": "success",
  "code": 10000,
  "data": {
    "id": "449722593352847668",
    "name": "my-endpoint",
    "status": 1,
    "domain": "https://api.example.yotta.ai"
  }
}

Get Task Count

get

Get task statistics grouped by status

Authorizations
x-api-keystringRequired
Path parameters
idinteger · int64RequiredExample: 454433888363332100
Responses
200

OK

*/*
messagestringOptional

message

codeinteger · int32Optional

code

get/v2/serverless/{id}/tasks/count
GET /v2/serverless/{id}/tasks/count HTTP/1.1
x-api-key: YOUR_API_KEY
Accept: */*
{
  "message": "success",
  "code": 10000,
  "data": {
    "processing": 3
  }
}

Last updated

Was this helpful?