Skip to content

API Reference

GoServe provides a REST API for model management and inference.

Server Information

GET /

Returns information about the server.

Response:

{
  "name": "GoServe",
  "version": "0.1.0-dev",
  "message": "Welcome to GoServe - Fast ML Model Server"
}

Health Checks

GET /health

Liveness check. Returns 200 OK if the server is running.

GET /ready

Readiness check. Returns 200 OK if the server is ready to accept requests.

Monitoring

GET /metrics

Exposes Prometheus metrics.

Response: Prometheus text format.

Model Management

GET /v1/models

Lists all loaded models.

Response:

{
  "models": [
    {
      "name": "fraud_detector",
      "path": "models/fraud_detector.onnx",
      "input_nodes": ["float_input"],
      "output_nodes": ["label", "probabilities"]
    }
  ]
}

POST /v1/models

Loads a new model.

Request Body:

{
  "name": "my_model",
  "path": "models/my_model.onnx"
}

Inference

POST /v1/models/{model_name}/infer

Executes inference using the specified model.

Generic Request Format (Recommended):

{
  "tensors": {
    "input_node_name": [[1.0, 2.0, ...]],
    "another_node": [[...]]
  }
}

Legacy Request Format (Fraud Detector only):

{
  "inputs": [[0.5, 125.5, ...]]
}

Response Format:

{
  "model_name": "my_model",
  "outputs": {
    "probabilities": [[0.9, 0.1]],
    "label": [0]
  },
  "predictions": [0],
  "is_fraud": [false]
}

Type Support

Currently supports FLOAT32 and INT64 tensor types. Work is in progress for full support of all ONNX types.