Skip to main content

Endpoint Reference

Complete reference of all GenKitKraft API endpoints.

Health

MethodPathDescription
GET/livezLiveness probe — returns 200 if the server is running
GET/readyzReadiness probe — returns 200 if ready, 503 if not

Authentication

MethodPathDescription
GET/api/auth/statusCheck if authentication is required
POST/api/auth/loginLog in with username and password
POST/api/auth/logoutLog out and clear session
GET/api/auth/meGet current authenticated user

POST /api/auth/login

Request:

{"username": "string", "password": "string"}

Responses: 200 (success, sets cookie), 401 (invalid credentials), 429 (rate limited)

Provider Types

MethodPathDescription
GET/api/v1/provider-typesList supported provider types with metadata

Providers

MethodPathDescription
GET/api/v1/settings/providersList all configured providers
POST/api/v1/settings/providersCreate a new provider
GET/api/v1/settings/providers/{id}Get a specific provider
PUT/api/v1/settings/providers/{id}Update a provider
DELETE/api/v1/settings/providers/{id}Delete a provider
POST/api/v1/settings/providers/{id}/testTest provider connectivity

POST /api/v1/settings/providers

Request:

{
"name": "string",
"providerType": "string",
"apiKey": "string"
}

Responses: 201 (created), 409 (conflict)

PUT /api/v1/settings/providers/{id}

Request:

{
"name": "string",
"apiKey": "string"
}

Responses: 200 (updated), 404 (not found), 409 (conflict)

Prompts

MethodPathDescription
GET/api/v1/promptsList prompts (supports limit and offset)
POST/api/v1/promptsCreate a new prompt
GET/api/v1/prompts/{id}Get a specific prompt
PUT/api/v1/prompts/{id}Update a prompt
DELETE/api/v1/prompts/{id}Delete a prompt

POST /api/v1/prompts

Request:

{
"name": "string",
"content": "string"
}

Responses: 201 (created)

Agents

MethodPathDescription
GET/api/v1/agentsList agents (supports limit and offset)
POST/api/v1/agentsCreate a new agent
GET/api/v1/agents/{id}Get a specific agent
PUT/api/v1/agents/{id}Update an agent
DELETE/api/v1/agents/{id}Delete an agent

POST /api/v1/agents

Request:

{
"name": "string",
"providerId": "string",
"model": "string",
"promptId": "string",
"generationConfig": {
"temperature": 0.7,
"topP": 0.9,
"topK": 40
}
}

Responses: 201 (created)

HTTP Tools

MethodPathDescription
GET/api/v1/http-toolsList HTTP tools (supports limit and offset)
POST/api/v1/http-toolsCreate an HTTP tool
GET/api/v1/http-tools/{id}Get a specific HTTP tool
PUT/api/v1/http-tools/{id}Update an HTTP tool
DELETE/api/v1/http-tools/{id}Delete an HTTP tool

POST /api/v1/http-tools

Request:

{
"name": "string",
"description": "string",
"method": "GET | POST | PUT | DELETE | PATCH",
"url": "string",
"headers": { "key": "value" },
"body": "string",
"inputSchema": {}
}

Responses: 201 (created)

MCP Servers

MethodPathDescription
GET/api/v1/mcp-serversList MCP servers (supports limit and offset)
POST/api/v1/mcp-serversCreate an MCP server
GET/api/v1/mcp-servers/{id}Get a specific MCP server
PUT/api/v1/mcp-servers/{id}Update an MCP server
DELETE/api/v1/mcp-servers/{id}Delete an MCP server
GET/api/v1/mcp-servers/{id}/toolsDiscover tools from an MCP server

POST /api/v1/mcp-servers

Request:

{
"name": "string",
"transport": "sse | streamable_http",
"url": "string",
"headers": { "key": "value" }
}

Responses: 201 (created)

Agent Tools

MethodPathDescription
GET/api/v1/agents/{agentId}/toolsGet agent's tool configuration
PUT/api/v1/agents/{agentId}/toolsUpdate agent's tool configuration

PUT /api/v1/agents/{agentId}/tools

Request:

{
"httpToolIds": ["tool-uuid-1", "tool-uuid-2"],
"mcpServers": [
{
"mcpServerId": "server-uuid",
"toolNames": ["tool1", "tool2"]
}
]
}

Responses: 200 (updated)

Deploy (Chat Completions)

MethodPathDescription
POST/api/v1/agents/{agentId}/deploy/chat/completionsStateless chat completions (caller provides full history)
POST/api/v1/agents/{agentId}/deploy/sessionsCreate a new stateful chat session
GET/api/v1/agents/{agentId}/deploy/sessions/{sessionId}Get session metadata
DELETE/api/v1/agents/{agentId}/deploy/sessions/{sessionId}Delete a session and all its messages
POST/api/v1/agents/{agentId}/deploy/sessions/{sessionId}/chat/completionsStateful chat completions (server manages history)

See the full Deploy API documentation for request/response format, authentication, and examples.

Playground

MethodPathDescription
GET/api/v1/agents/{agentId}/playground/sessionsList sessions for an agent
POST/api/v1/agents/{agentId}/playground/sessionsCreate a new session
DELETE/api/v1/agents/{agentId}/playground/sessions/{sessionId}Delete a session
GET/api/v1/agents/{agentId}/playground/sessions/{sessionId}/messagesGet messages in a session
POST/api/v1/agents/{agentId}/playground/chatChat with an agent (SSE streaming)

POST /api/v1/agents/{agentId}/playground/chat

Request:

{
"message": "string",
"sessionId": "string",
"configOverrides": {
"providerId": "string",
"model": "string",
"temperature": 0.7,
"topP": 0.9,
"topK": 40
},
"httpToolIds": ["tool-uuid-1"],
"mcpServers": [
{
"mcpServerId": "server-uuid",
"toolNames": ["tool1"]
}
]
}

Response: Server-Sent Events (SSE) stream with content chunks.