Ivy← Back to Ivy

DEVELOPERS

Ivy API & Connector

Ivy exposes a small REST surface for the web app and a remote MCP endpoint for supported AI assistants.

Production endpoints

REST API: https://fb35-157-20-14-158.ngrok-free.app /v1OpenAPI: https://fb35-157-20-14-158.ngrok-free.app /openapi.jsonInteractive docs: https://fb35-157-20-14-158.ngrok-free.app /docsMCP: https://fb35-157-20-14-158.ngrok-free.app /mcpHealth: https://fb35-157-20-14-158.ngrok-free.app /health

Core V1 actions

  • Upload a meal image using a presigned object-storage URL.
  • Queue asynchronous meal analysis and receive a job ID.
  • Read or stream analysis progress.
  • Read a day's meal ledger and calorie totals.
  • Set a daily calorie target.
  • Correct a previously logged meal.

Asynchronous behavior

Image analysis is asynchronous. The API returns 202 Accepted with a job ID, while durable workers process the meal. Clients can poll job state or subscribe to the Server-Sent Events progress endpoint.

Authentication

Production Ivy is an OAuth 2.1 resource server. Muse authenticates with Authorization Code + PKCE through the configured authorization server, then sends a scoped bearer token to the MCP endpoint. Ivy validates the token signature, issuer, audience, expiry, subject, and scopes. Do not publish a production connector with AUTH_DISABLED=true.

Example assistant prompts

  • “Log this meal.”
  • “How many calories have I eaten today?”
  • “How many calories do I have left?”
  • “That portion was actually half as much.”
  • “What did I eat yesterday?”