Skip to Content
API Reference

API Reference

The NeoEngine API provides programmatic access to the network for submitting jobs, managing providers, and querying data.

The API is in beta and subject to change. Pin your client to a specific version.

Base URL

https://api.neoengine.dev/v1

Authentication

All requests require a Bearer token in the Authorization header:

curl -H "Authorization: Bearer <your-token>" \ https://api.neoengine.dev/v1/jobs

Get your API token from the dashboard .

Rate Limits

TierRequests/minuteRequests/day
Free601,000
Pro30010,000
EnterpriseCustomCustom

Endpoints

Jobs

Submit Job

POST /jobs

Request Body:

{ "image": "python:3.11-slim", "command": ["python", "-c", "print('Hello')"], "resources": { "cpu": 2, "memory": "4Gi", "gpu": 0 }, "maxPrice": "1.0", "timeout": "1h" }

Response:

{ "id": "job_abc123", "status": "pending", "createdAt": "2026-01-15T12:00:00Z" }

Get Job Status

GET /jobs/{jobId}

Response:

{ "id": "job_abc123", "status": "running", "provider": "prov_xyz789", "startedAt": "2026-01-15T12:01:00Z", "progress": 45 }

Get Job Logs

GET /jobs/{jobId}/logs

Get Job Results

GET /jobs/{jobId}/results

Cancel Job

POST /jobs/{jobId}/cancel

List Jobs

GET /jobs?status=running&limit=20

Providers

List Providers

GET /providers?gpu=true&minReputation=500

Get Provider Details

GET /providers/{providerId}

Market

Get Prices

GET /market/prices

Response:

{ "cpu": { "min": 0.01, "avg": 0.025, "max": 0.05 }, "memory": { "min": 0.005, "avg": 0.012, "max": 0.02 }, "gpu": { "nvidia-a100": { "min": 0.50, "avg": 0.75, "max": 1.20 } } }

Get Network Stats

GET /market/stats

Wallet

Get Balance

GET /wallet/balance

Get Earnings

GET /wallet/earnings

Withdraw

POST /wallet/withdraw

SDKs

Official SDKs are available for:

  • Rustcargo add neoengine-sdk
  • TypeScriptnpm install @neoengine/sdk
  • Pythonpip install neoengine
  • Gogo get github.com/neoengine-labs/neoengine-go

Errors

CodeDescription
400Bad Request — Invalid parameters
401Unauthorized — Invalid or missing token
403Forbidden — Insufficient permissions
404Not Found — Resource doesn’t exist
429Rate Limited — Too many requests
500Internal Error — Server-side issue

Error Response Format:

{ "error": { "code": "INVALID_PARAMETERS", "message": "cpu must be at least 1", "details": { "field": "resources.cpu", "value": 0 } } }