Documentation

Introduction

Nimblesite is Agents as a Service. Configure once with JSON, get a stateful HTTP agent endpoint.

Nimblesite Docs

Nimblesite is Agents as a Service. You POST a JSON config once and get back a stable HTTP endpoint that behaves like a stateful agent — with memory, tools, multi-tenancy, and your choice of model — all already wired up.

What problem this solves

Raw LLM APIs are stateless. To turn one into a real assistant, you have to:

  • Store every user and assistant message in your database
  • Re-send the entire history on every call
  • Parse the model's tool-call responses and dispatch them
  • Loop until the model returns a final answer
  • Repeat all of the above per tenant, per conversation, per agent variant

That stack is the same in every AI product on Earth. Nimblesite runs it for you.

The whole product in two HTTP calls

# 1. Define an agent (once)
curl -X POST https://api.nimblesite.dev/api/v1/configs \
  -H "X-API-Key: your-key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Site Editor",
    "system_prompt": "You edit websites.",
    "model_config": {"provider": "anthropic", "model": "claude-sonnet-4-6"},
    "tools_config": ["read_file", "write_file"]
  }'
# 2. Talk to it (forever)
curl -X POST https://api.nimblesite.dev/api/v1/chat/$CONFIG_ID \
  -H "X-API-Key: your-key" \
  -H "Content-Type: application/json" \
  -d '{
    "message": "Update my phone number"
  }'

That's the entire integration.

Two ways to run tools

Pick per agent config:

  • Client-side tools — agent emits tool calls, your app runs them. Same shape as OpenAI function calling or Anthropic tool use, but stateful.
  • Sandboxed agents — we provision a managed sandbox (filesystem, shell, build pipeline) and run the tools inside it. Same idea as Code Interpreter or E2B, but with persistent memory and multi-tenancy.

Read Agent execution modes for the full picture.

Where to next