API Reference v1.0.0
Deeplogix API
Documentation for the Deeplogix platform. The platform consists of two separate services — the API for account management and catalog, and the Dispatcher for model inference via WebSocket and HTTP proxy. All API responses return consistent JSON with an ok field and structured error codes.
Architecture
Deeplogix exposes two independent services with different base URLs, authentication methods, and responsibilities.
| Service | Base URL | Purpose | Authorization |
|---|---|---|---|
| API | https://deeplogix.io/api |
Account management, model catalog, OAuth applications | JWT session (cookie), set automatically on login |
| Dispatcher | https://deeplogix.io/dispatcher |
Model inference via WebSocket and HTTP proxy (Ollama, Triton) | Token from profile — see Authentication |
Authentication
Authentication differs by service and connection type. Your token is available on the profile page under Connected Hosts → View Data → Host Token.
Session (cookie)
The API uses session-based authentication. Sign in via the platform UI — the JWT token is set automatically in a cookie and attached to all subsequent requests. No manual header is needed.
auth.token at socket init
Pass your token in the auth field when creating the Socket.IO connection:
extraHeaders.token at socket init
Pass your token in extraHeaders when connecting as a host:
TOKEN header
Pass your token in the TOKEN request header (no "Bearer" prefix) along with HOST-ID:
Quickstart — Dispatcher
Everything you need to start running inference through the Deeplogix Dispatcher.
Sign up
Create an account at deeplogix.io/app.
Copy your token
Open your profile → Connected Hosts → View Data and copy the token field. This token is required for every Dispatcher request.
Choose a host (optional)
Copy the host-id from the same page if you want to target a specific machine. If omitted, the Dispatcher picks an available host automatically.
Option 1 — Ollama HTTP API
Base URL: https://deeplogix.io/dispatcher/ollama/api/...
The Dispatcher proxies requests directly to the Ollama API — the request body format is identical to the official Ollama docs.
Generate (single prompt)
With "stream": true the response is NDJSON — one object per line:
With "stream": false a single JSON object is returned with the full response.
Chat (with message history)
List models on the host
Response follows the standard Ollama format: { "models": [ { "name", "size", "details", ... } ] }
Python example
Option 2 — JSON-RPC
Call arbitrary methods on the host over a single HTTP endpoint.
Request body fields
| Field | Type | Description |
|---|---|---|
| jsonrpc | string | Always "2.0" |
| method | string | Method name to call on the host |
| id | string | number | Request identifier |
| params | object | array | null | Method parameters. If any required field is missing, returns 400 with the expected schema. |
Headers reference
| Header | Required | Description |
|---|---|---|
| token | Yes | Your token from profile → Connected Hosts → View Data |
| host-id | No | UUID of a specific host. If omitted, the Dispatcher selects an available host automatically. |
| Content-Type | Yes | application/json |
Health
Monitor server, database, and Redis status. No authentication required.
Returns health status of the server and all connected services. Returns 200 when all services are healthy. Returns 503 when one or more services are unhealthy — the affected service entry will include an error field.
error field on the failing service.
Simple uptime check. Returns a boolean status. No authentication required.
Public endpoints
Browse available models and providers. No authentication required.
Returns a filtered list of available models. All query parameters are optional.
true for production use.
Returns detailed information about a specific model by its UUID.
GET /api/public/catalog.
Returns a list of all supported model providers available on the platform.
User & account
Manage your account and OAuth applications. Authentication via session cookie (set automatically on login).
Returns profile information for the currently authenticated user.
Returns the user's permanent Dispatcher token. This is the token used to authenticate WebSocket connections and HTTP proxy requests to the Dispatcher service.
OAuth applications
Create and manage OAuth 2.0 applications for third-party integrations. Requires authentication.
Returns all OAuth applications created by the authenticated user.
Creates a new OAuth application. Returns a client_secret — store it securely as it cannot be retrieved again.
Resets and reissues the client_secret for the specified OAuth application. The previous secret is immediately invalidated.
WebSocket (Dispatcher)
The Dispatcher uses Socket.IO over WebSocket for real-time model inference. Connect as a client to send prompts and receive streamed responses, or as a host/agent to serve models from your machine.
Connection
Use the hostId and type query parameters. Client auth goes in auth; host auth goes in extraHeaders.
Event: ready
Emitted by the server immediately after a successful connection. Wait for this event before sending requests.
Event: ping client only
Measure latency to the server and the connected host.
Event: is_live client only
Check whether the connected host is currently online.
Event: message — send client → server
Send an inference request. Two modes: generate (single prompt) and chat (conversation history).
Event: message — receive server → client
The server streams response chunks. Parse data separately as it is a raw JSON string from the Ollama API.
Host/agent events for agent developers
When connected as a host, your agent receives requests from the Dispatcher and responds with model lists and inference results.
HTTP Proxy (Dispatcher)
The Dispatcher also accepts direct HTTP requests as an alternative to WebSocket. All proxy requests require the TOKEN and HOST-ID headers.
Ollama proxy
Forwards requests to the Ollama instance running on the specified host. Request bodies follow the standard Ollama API format.
| Method | Path | Description |
|---|---|---|
| POST | /dispatcher/ollama/api/generate | Generate (single prompt) |
| POST | /dispatcher/ollama/api/chat | Chat with history |
| GET | /dispatcher/ollama/api/tags | List available models on the host |
Triton proxy
Forwards requests to a Triton Inference Server running on the specified host. Supports the standard Triton HTTP API.
| Method | Path |
|---|---|
| GET | /dispatcher/v2/health/live |
| GET | /dispatcher/v2/models/:model_name |
| GET / POST | /dispatcher/v2/repository/index |
| POST | /dispatcher/v2/models/:model_name/infer |
Error reference
All errors return consistent JSON with a status code and error identifier. Error codes follow the pattern E_FIELD_NAME-ERROR_CODE.
| Status | Code example | Description |
|---|---|---|
| 200 | — | Successful response. Returns ok: true and a data object. |
| 400 | E_HOST_ID_OR_TOKEN-INVALID | The request contains invalid parameters (e.g. a malformed UUID). Check field names and types. |
| 401 | E_TOKEN-ACCESS_DENIED | Token is missing or invalid. Ensure your token is correctly provided. |
| 403 | E_<FIELD>-FORBIDDEN | Authenticated but not permitted to access this resource. |
| 404 | E_HOST-NOT_FOUND | The requested resource does not exist. Verify the UUID or path parameter. |
| 500 | Internal Server Error | An unexpected server error occurred. If this persists, contact support. |
| 503 | Service Unavailable | One or more dependent services (database, Redis) are unhealthy. Check GET /api/health for details. |