Skip to main content

REST API summary

Summary of all REST API endpoints exposed by uxopian-ai. All endpoints are accessible via the gateway at the configured base path. An interactive API explorer (Swagger UI) is available at /swagger-ui/index.html.

Base path

All endpoints use the base path /api/v1. Requests go through the gateway; replace https://your-gateway with your gateway URL.

User endpoints

Requests — /api/v1/requests

MethodPathDescription
POST/api/v1/requestsSend one or more requests in a conversation. Returns the request with the LLM response.
GET/api/v1/requests/{requestId}Retrieve a request by ID.
DELETE/api/v1/requests/{requestId}Delete a request.
PUT/api/v1/requests/{requestId}/feedbackAttach feedback to a request.
POST/api/v1/requests/{requestId}/retryRetry a failed request.

POST /api/v1/requests query parameters:

ParameterTypeDescription
conversationIdstringAttach request to an existing conversation
providerstringOverride LLM provider for this request
modelstringOverride LLM model for this request
disableReasoningbooleanDisable tool calls for this request

Request body schema (Request):

{
"conversation": "optional-conversation-id",
"inputs": [
{
"role": "user",
"content": [
{ "type": "text", "value": "Hello" },
{ "type": "prompt", "value": "promptId", "payload": { "key": "value" } },
{ "type": "goal", "value": "goalGroupId", "payload": { "key": "value" } },
{ "type": "image", "value": "<base64>" }
]
}
]
}

Conversations — /api/v1/conversations

MethodPathDescription
POST/api/v1/conversationsCreate a new conversation.
GET/api/v1/conversationsList conversations for the current user (paginated).
GET/api/v1/conversations/{id}Get a conversation by ID.
DELETE/api/v1/conversations/{id}Delete a conversation.

Prompts (user) — /api/v1/prompts

MethodPathDescription
GET/api/v1/promptsList prompts available to the current user.
GET/api/v1/prompts/{id}Get a prompt by ID.

Files — /api/v1/files

MethodPathDescription
POST/api/v1/filesUpload a file.
GET/api/v1/files/{id}Download a file by ID.

Web component config — /api/v1/webcomponent

MethodPathDescription
GET/api/v1/webcomponentReturns configuration for the web component (prompts available, endpoints).

Admin endpoints

All admin endpoints require the requesting user to have the necessary role if role-based security is configured on the gateway.

LLM providers — /api/v1/admin/llm

MethodPathDescription
GET/api/v1/admin/llm/providersList all available provider type names.
GET/api/v1/admin/llm/providers/{name}/extra-paramsGet extra parameter descriptors for a provider type.
GET/api/v1/admin/llmList all LLM provider configurations for the current tenant.
POST/api/v1/admin/llmCreate a new LLM provider configuration.
PUT/api/v1/admin/llm/{id}Update a provider configuration.
DELETE/api/v1/admin/llm/{id}Delete a provider configuration.

Prompts — /api/v1/admin/prompts

MethodPathDescription
GET/api/v1/admin/promptsList all prompts for the current tenant.
POST/api/v1/admin/promptsCreate a new prompt. Returns 409 if a prompt with the same ID exists.
PUT/api/v1/admin/promptsUpdate an existing prompt.
GET/api/v1/admin/prompts/{id}Get a prompt by ID.
GET/api/v1/admin/prompts/{id}/renderRender a prompt with a payload (body: Map<String, Object>).
GET/api/v1/admin/prompts/{id}/usagesGet usage statistics for a prompt.
DELETE/api/v1/admin/prompts/{id}Delete a prompt.

Goals — /api/v1/admin/goals

MethodPathDescription
GET/api/v1/admin/goalsList all goal groups for the current tenant.
POST/api/v1/admin/goalsCreate a new goal group.
PUT/api/v1/admin/goals/{id}Update a goal group.
GET/api/v1/admin/goals/{id}Get a goal group by ID.
DELETE/api/v1/admin/goals/{id}Delete a goal group.

Users — /api/v1/admin/users

MethodPathDescription
GET/api/v1/admin/usersList users with conversation statistics (paginated).
GET/api/v1/admin/users/{userId}Get details for a specific user.

Conversations (admin) — /api/v1/admin/conversations

MethodPathDescription
GET/api/v1/admin/conversationsList all conversations for the current tenant (paginated).

Requests (admin) — /api/v1/admin/requests

MethodPathDescription
GET/api/v1/admin/requestsList all requests for the current tenant (paginated).

Statistics — /api/v1/admin/stats

MethodPathDescription
GET/api/v1/admin/stats/globalGlobal aggregated statistics (totals).
GET/api/v1/admin/stats/timeseriesActivity time series. Query param: interval (DAY, HOUR, WEEK, MONTH).
GET/api/v1/admin/stats/llm-distributionLLM model usage distribution.
GET/api/v1/admin/stats/feature-adoptionFeature adoption statistics.
GET/api/v1/admin/stats/top-promptsMost frequently used prompts.

Templating — /api/v1/admin/templating

MethodPathDescription
GET/api/v1/admin/templatingTemplating operations (details via Swagger UI).

Health and info

MethodPathAuthDescription
GET/actuator/healthPublicApplication health check
GET/actuator/infoConfiguredBuild info
GET/actuator/loggersConfiguredLogger level management

WebSocket

PathProtocolDescription
/ws/{userId}WebSocketReal-time streaming channel per user

API explorer

The Swagger UI is available at:

http://localhost:8085/swagger-ui/index.html

The OpenAPI spec is at /v3/api-docs. Both paths are served as public in the default gateway configuration.