ATI Tooling API

This reference covers Eden's ATI (Adam tool interface) endpoints. ATI servers expose tool APIs that can be used by LLM clients and automation.

Overview

Each database endpoint can expose one or more ATI servers. Clients discover the available servers, then connect using the streamable HTTP transport. Streamable HTTP uses:

  • POST for client-to-server JSON-RPC messages
  • GET for server-to-client Server-Sent Events (SSE)
  • DELETE to close the session

List ATI servers

Get the ATI servers available for an endpoint.

Request

http
GET /api/v1/endpoints/{id}/tools
Authorization: Bearer <token>

Example

bash
curl http://{host}:8000/api/v1/endpoints/{id}/tools \
  -H "Authorization: Bearer $TOKEN"

Response

json
{
  "servers": [
    {
      "name": "mongodb",
      "description": "MongoDB ATI server"
    }
  ]
}

Streamable HTTP transport

Use the ATI server name to connect over streamable HTTP.

Base URL

/api/v1/endpoints/{id}/tools/{tools_server}

Required headers

POST requests:

  • Authorization: Bearer
  • Accept: application/json, text/event-stream
  • Content-Type: application/json

GET requests:

  • Authorization: Bearer
  • Accept: text/event-stream

Session headers:

  • The server returns a session ID header that must be sent on subsequent requests
  • Last-Event-Id is optional and used to resume SSE streams

Session flow (high level)

  1. Send an ATI initialize request with POST and no session ID header.
  2. The response opens an SSE stream and returns a session ID.
  3. Include that session ID on subsequent POST and GET requests.
  4. Use GET to open an SSE stream for server notifications and progress.
  5. Send DELETE with the session ID when you are done.

Notes

  • POST responses may be a single JSON response or an SSE stream, depending on the request.
  • Use an ATI client library when possible to manage SSE streaming and reconnects.

Built-in ATI servers

Migrations ATI server

Base URL:

/api/v1/tools/migrations

This server exposes migration management tools over ATI. Use the same streamable HTTP headers and session flow described above.

Available tools:

  • list_migrations (optional verbose, updated_since, status, limit, cursor)
  • get_migration (migration_id, optional verbose)
  • define_migration (id, optional description, strategy, data, failure_handling, optional apis, optional interlays)
  • run_migration (migration_id, mode = test|migrate, optional wait)
Last updated: October 20, 2018
Size: 2.51 KB
    Eden