Eldric 5.0.x ↗ eldric.ai

API Reference · Developers · Public Edge surface · Applies to 5.0.x

API reference

This page consolidates the previous API pages into one maintainable reference. It documents only the customer-facing public API reachable through the Edge with API-key or session authentication.

Authentication and access#

Public API calls use an API key or an authenticated session. Tenant scope is enforced by the Edge. Cross-tenant access returns an authorization error even when the path shape is otherwise valid.

HeaderUse
X-API-KeyTenant-scoped API access for integrations.
Content-Type: application/jsonRequired for JSON request bodies.
Authorization: Bearer Session/JWT access where enabled by the deployment.

OpenAI-compatible#

GET/v1/models

Return the model catalogue available to the caller.

GET/v1/models/{id}

Return public model detail for one model.

POST/v1/chat/completions

Create a chat completion. Supports streaming and compatible tool fields where enabled.

POST/v1/completions

Legacy completions for older compatible clients.

POST/v1/embeddings

Create embeddings.

POST/api/v1/models/show

Return model detail by request body.

Chat and conversations#

GET/chat

Open the browser chat shell.

GET/login

Open the login form when session authentication is used.

GET/api/v1/health

Public health check for the Edge surface.

GET/api/v1/conversations

List conversations visible to the caller.

POST/api/v1/conversations

Create a conversation.

GET/api/v1/conversations/{id}

Fetch a conversation and its visible metadata.

PATCH/api/v1/conversations/{id}

Update title, pin state or metadata.

DELETE/api/v1/conversations/{id}

Delete a conversation.

POST/api/v1/conversations/{id}/messages

Append a message.

GET/api/v1/conversations/{id}/messages

Page through messages.

POST/api/v1/conversations/{id}/branch

Branch a conversation from a message.

POST/api/v1/conversations/{id}/share

Create a signed read-only share link.

GET/api/v1/share/{token}

Resolve a shared transcript.

GET/api/v1/conversations/{id}/artifacts

List inline artifacts.

GET/api/v1/conversations/{id}/artifacts/{artifactId}

Fetch one artifact.

Account, identity and auth#

GET/api/v1/me/settings

Read caller settings.

PUT/api/v1/me/settings

Update caller settings.

GET/api/v1/me/preferences

Read webchat preferences.

PUT/api/v1/me/preferences

Update webchat preferences.

GET/api/v1/me/quotas

Read quota and usage snapshot.

GET/api/v1/me/tools

List tools allowed for the caller.

GET/api/v1/me/models

List models allowed for the caller.

GET/api/v1/identity/me

Read caller identity namespace mapping.

POST/api/v1/identity/register

Register a device under the caller tenant.

DELETE/api/v1/identity/{id}

Unregister a device identity.

POST/api/v1/auth/login

Create an authenticated session.

POST/api/v1/auth/refresh

Refresh a session token.

POST/api/v1/auth/logout

Invalidate a session.

POST/api/v1/auth/2fa/enroll

Enroll a second factor where enabled.

POST/api/v1/auth/2fa/verify

Verify a second factor code.

Data and uploads#

GET/api/v1/data/storage/{tenant}/{path}

Read a tenant-scoped file.

PUT/api/v1/data/storage/{tenant}/{path}

Write a tenant-scoped file.

DELETE/api/v1/data/storage/{tenant}/{path}

Delete a tenant-scoped file.

GET/api/v1/data/storage/{tenant}

List tenant-scoped files.

POST/api/v1/upload/init

Reserve a chunked upload.

POST/api/v1/upload/chunk

Upload one chunk.

POST/api/v1/upload/finalize

Commit an upload.

GET/api/v1/upload/{id}/progress

Read upload progress.

DELETE/api/v1/upload/{id}

Cancel an upload.

Vector and RAG#

GET/api/v1/vector/namespaces/{tenant}

List vector namespaces.

POST/api/v1/vector/namespaces/{tenant}

Create a namespace.

DELETE/api/v1/vector/namespaces/{tenant}/{namespace}

Delete a namespace.

POST/api/v1/vector/documents/{tenant}/{namespace}

Add documents.

GET/api/v1/vector/documents/{tenant}/{namespace}/{document}

Get a document.

PUT/api/v1/vector/documents/{tenant}/{namespace}/{document}

Replace and re-index a document.

DELETE/api/v1/vector/documents/{tenant}/{namespace}/{document}

Delete a document.

POST/api/v1/vector/search

Run semantic search.

POST/api/v1/vector/hybrid-search

Run hybrid lexical and vector search.

POST/api/v1/vector/ingest

Ingest and index content.

Memory, agents and tools#

POST/api/v1/memory/store

Store an association for later recall.

POST/api/v1/memory/recall

Recall stored context.

POST/api/v1/memory/forget

Remove one stored entry.

GET/api/v1/agent/sessions

List agent sessions.

POST/api/v1/agent/sessions

Create an agent session.

GET/api/v1/agent/sessions/{id}

Read agent session detail.

DELETE/api/v1/agent/sessions/{id}

Delete an agent session.

POST/api/v1/agent/chat

Run agentic RAG chat.

POST/api/v1/agent/multi

Run a multi-agent task.

POST/api/v1/agent/decompose

Break a query into sub-questions.

GET/api/v1/agent/knowledge-bases

List knowledge bases.

POST/api/v1/agent/knowledge-bases

Create a knowledge base.

POST/api/v1/agent/knowledge-bases/{id}/search

Search a knowledge base.

Media, communication, science, IoT and swarm#

POST/api/v1/stt/transcribe

Transcribe audio.

POST/api/v1/stt/stream

Stream transcription.

POST/api/v1/tts/synthesize

Synthesize speech.

POST/api/v1/tts/stream

Stream synthesized audio.

GET/api/v1/tts/voices

List voices.

POST/api/v1/voice/chat

Run voice chat.

POST/api/v1/video/transcribe

Transcribe video audio.

GET/api/v1/comm/accounts

List communication accounts.

POST/api/v1/comm/messages

Send a message through an enabled channel.

POST/api/v1/comm/search

Search messages.

POST/api/v1/comm/calls/start

Start an outbound voice call.

GET/api/v1/science/sources

List enabled science sources.

GET/api/v1/science/sources/categories

List science source categories.

POST/api/v1/science/sources/request

Request source enablement.

GET/api/v1/science/tools

List role-filtered science tool schemas.

POST/api/v1/science/tools/execute

Execute a science tool.

GET/api/v1/{category}/sources

List enabled sources through a category alias.

GET/api/v1/iot/devices

List IoT devices.

POST/api/v1/iot/devices/{id}/read

Read a device attribute.

POST/api/v1/iot/devices/{id}/write

Write a device attribute.

GET/api/v1/swarms

List swarms.

POST/api/v1/swarms

Create a swarm.

POST/api/v1/swarms/{id}/goal

Set a swarm goal.

GET/api/v1/tenants/{tenantId}/theme

Read tenant theme.

GET/api/v1/tenants/{tenantId}/branding/logo

Read tenant logo.

Endpoint detail pattern#

Each endpoint should stay maintainable by following the same reference shape. This answers the annotated concern directly: the template is not placeholder UI; it is the required structure for real endpoint entries.

POST /example/path

Purpose
When to use this endpoint and which user or system action it supports.
Auth and permission
Required API key/session, tenant scope and role/capability expectation.
Parameters
Path, query and body fields with type, required state and short notes.
Request example
Copyable curl and JSON example using placeholder host and key variables.
Response
Status codes, response schema summary and a compact example.
Errors
Common failure cases and sanitized public meanings.
Notes
Tenant, version and compatibility notes without internal implementation details.

Errors#

StatusMeaning
400Request shape or validation failed.
401Missing or invalid authentication, or intentionally private path.
403Authenticated but not allowed in this tenant or role.
404Resource not found or not visible in this tenant.
429Rate limit or quota exceeded.
503Public Edge cannot serve the requested capability.

Slug migration#

Older API slugs remain valid. api-endpoints.html, api-endpoint-reference.html and api-wave22.html point back here with context. api-public.html opens the public surface subsection.