API Reference v1.0.0

Deeplogix API

A unified REST API for model catalog discovery, inference, and account management. All endpoints return consistent JSON responses with an ok field and structured error codes.

Base URL https://deeplogix.io/api

Authentication

Deeplogix supports two authentication methods. Most API calls require Bearer token authentication. Public endpoints (catalog, providers) require no authentication.

Bearer Token

Pass your API key in the Authorization header.

Authorization: Bearer YOUR_API_KEY

Obtain your key from the account dashboard or via POST /user/api-keys.

Cookie Session

Authenticate via a session cookie named session. Used primarily by browser-based integrations and the IFTTT connector.

Set automatically after a successful login flow.

Quickstart

From zero to inference in two API calls - no GPU setup, no model hosting required.

01

Browse available models

Call GET /public/catalog?is_live=true to list all available models. No API key required. Each model returns an id (UUID) you'll use for inference.

02

Get your API key

Sign in to your Deeplogix account and generate an API key from the dashboard, or call POST /user/api-keys with a valid session.

03

Run inference

POST to /model/{model_id}/chat with your Bearer token and message. That's it.

// 1. Find a live model (no auth required) const catalog = await fetch( 'https://deeplogix.io/api/public/catalog?is_live=true' ) const { data } = await catalog.json() const modelId = data.models[0].id // 2. Run inference (Bearer token required) const res = await fetch( `https://deeplogix.io/api/model/${modelId}/chat`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_API_KEY' }, body: JSON.stringify({ message: 'Summarize this document...' }) } ) const result = await res.json()

Health

Monitor server, database, and Redis status. No authentication required.

GET /health Server, database, and Redis health

Returns health status of the server and all connected services including database and Redis. No authentication required.

Responses
200 object All services healthy. Returns status, timestamp, uptime (seconds), and per-service latency.
503 object One or more services unhealthy. Same structure with error details per service.
// 200 Response { "status": "healthy", "timestamp": "2026-04-20T12:00:00Z", "uptime": 86400, "services": { "database": { "status": "healthy", "latency": 3.2 }, "redis": { "status": "healthy", "latency": 0.8 } } }
GET / Uptime check

Simple uptime check. Returns a boolean status. No authentication required.

{ "status": true }

Public endpoints

Browse available models and providers. No authentication required.

GET /public/catalog List models

Returns a filtered list of available models. All query parameters are optional.

Query Parameters
provider optional string Filter by provider name (e.g. "Ollama").
host_id optional uuid Filter by host identifier.
name optional string Filter by model name.
is_live optional boolean Filter to only live/active models. Pass true for production use.
// 200 Response { "ok": true, "data": { "models": [ { "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "name": "mistral-7b-instruct", "provider": "Ollama", "ts_created": "2026-01-15T08:30:00Z", "host_id": "7c8d9e0f-1234-5678-abcd-ef0123456789", "is_living": true } ], "count": 100, "limit": 10 } }
GET /public/model/{id} Get model details

Returns detailed information about a specific model by its UUID.

Path Parameters
id required uuid Unique identifier of the model. Obtain from GET /public/catalog.
GET /public/model-providers List providers

Returns a list of all supported model providers available on the platform.

{ "ok": true, "data": [ { "provider": "Ollama" } ] }

Model inference

Run inference against any available model. All inference endpoints require Bearer token authentication.

POST /model/{id}/chat Run inference

Send a message to a specific model and receive a generated response. This is the primary inference endpoint.

Path Parameters
id required uuid Model UUID from GET /public/catalog.
Request Body
message required string The input message or prompt to send to the model.
// Request const res = await fetch( 'https://deeplogix.io/api/model/MODEL_UUID/chat', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_API_KEY' }, body: JSON.stringify({ message: 'Explain the key points of this contract...' }) } )
GET /model/{id}/info Get model metadata

Returns metadata about a specific model. Requires authentication.

Path Parameters
id required uuid The model UUID.
POST /model/{id}/load Load model onto host

Loads a model onto a host to make it available for inference. Call this before running inference if the model is not currently live.

POST /model/{id}/unload Unload model from host

Unloads a model from its host, freeing resources. The model will no longer be available for inference until reloaded.

User & account

Manage your account, API keys, and OAuth applications. All endpoints require authentication.

GET /user/info Get current user

Returns profile information for the currently authenticated user.

{ "ok": true, "data": { "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "email": "user@example.com", "ts_created": "2026-01-01T00:00:00Z" } }
GET /user/api-keys List API keys

Returns all API keys associated with the authenticated user's account.

POST /user/api-keys Create API key

Creates a new API key for the authenticated user. Store the returned key securely — it will not be shown again.

DELETE /user/api-keys/{id} Delete API key

Permanently deletes the specified API key. Any applications using this key will immediately lose access.

Path Parameters
id required uuid The API key identifier to delete.

OAuth applications

Create and manage OAuth 2.0 applications for third-party integrations. Requires authentication.

GET /user/oauth List OAuth apps

Returns all OAuth applications created by the authenticated user.

POST /user/oauth Create OAuth app

Creates a new OAuth application. Returns a client_secret — store it securely as it cannot be retrieved again.

Request Body
name required string Display name of the OAuth application.
redirect_uris required string[] List of allowed redirect URIs (must be valid URIs).
scopes optional string[] List of permission scopes the application can request.
// 201 Response { "ok": true, "data": { "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "client_secret": "sk_live_..." } }
POST /user/oauth/{id}/reset Reset client secret

Resets and reissues the client_secret for the specified OAuth application. The previous secret is immediately invalidated.

Error reference

All errors return consistent JSON with a status code and error identifier. Error codes follow the pattern E_<FIELD>-<TYPE>.

Status Code Description
200 - Successful response. Returns ok: true and a data object.
400 E_<FIELD>-BAD_REQUEST The request is malformed or contains invalid parameters. Check field names and types.
401 Unauthorized Missing or invalid Bearer token. Ensure your API key is correctly passed in the Authorization header.
403 E_<FIELD>-FORBIDDEN Authenticated but not permitted to access this resource.
404 E_<FIELD>-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 /health for details.