Base URL
All endpoints are served from your ProjectMind deployment:
https://your-imemory-host (local dev: http://localhost:8084)Authentication
ProjectMind uses API keys for programmatic access. Create them in the app under Global Settings (global key, prefix imgk_) or Project Settings → MCP client setup (project key, prefix imk_). Pass the key as a bearer token:
Authorization: Bearer imk_your_project_api_key_hereGlobal keys can target a specific project by appending ?projectSlug=your-slug or by setting a default project in Settings → Preferences. Treat keys like passwords — they grant full access to the project’s data. Account-level endpoints (such as /api/account) instead use a Supabase session access token.
Endpoints
| Method | Path | Auth | Description |
|---|---|---|---|
| POST | /api/v1/project-reports | Bearer impr_ (project-reports:write) | Ingest a versioned Project Report JSON document. See /projects-reports for schema, OpenAPI, and examples. |
| GET | /api/v1/projects | Bearer impr_ | List projects visible to the project-report credential. |
| GET | /api/health | None | Health check. Returns service status; useful for uptime monitoring. |
| GET | /api/stats | Admin: Bearer imgk_ (admin-owned) or admin OAuth | ProjectMind stats protocol JSON for the scoped project (members, MCP visitors, tasks, context). Requires an app-admin credential (admin OAuth or admin-owned global API key). Project/bucket keys are rejected. |
| GET | /api/proposals | Admin: Bearer imgk_ (admin-owned) or admin OAuth | Up to 10 pending improvement_proposals for the scoped project (highest priority, then newest). Same admin gate as /api/stats. Satellite apps expose the same path; ProjectMind scrapes via proposals_endpoint_url + syncProjectProposals. |
| GET | /api/errors | Admin: Bearer imgk_ (admin-owned) or admin OAuth | Vercel runtime error clusters for the scoped project (requires a saved Vercel integration with teamId). Admin credentials only. Query: since, until, environment, limit, includeLogs. |
| POST | /api/mcp | Bearer imk_ / imgk_ or OAuth | Streamable HTTP MCP endpoint. Exposes tasks, context, repositories, and team tools scoped to the resolved project. |
| POST | /api/ai-assistant | Signed-in session | AI assistant chat used by the app to answer questions over your context. |
| DELETE | /api/account | Bearer session token | Permanently delete the authenticated user's account. |
Examples
Health check
curl https://your-imemory-host/api/healthProject statistics
curl https://your-imemory-host/api/stats \
-H "Authorization: Bearer imgk_admin_owned_global_key"Point a project’s monitoring settings at /api/health and /api/stats on this host (with a project API key) so ProjectMind can monitor itself via the same protocol used for external apps.
Improvement proposals
curl "https://your-imemory-host/api/proposals?projectSlug=imemory" \
-H "Authorization: Bearer imgk_admin_owned_global_key"Returns up to 10 pending rows from improvement_proposals for the scoped project. Create rows with MCP createImprovementProposal (or agents can call getProjectProposals). Requires the same admin credentials as /api/stats.
Vercel runtime errors
curl "https://your-imemory-host/api/errors?since=24h" \
-H "Authorization: Bearer imgk_admin_owned_global_key"Requires a Vercel integration on the scoped project (API token, team ID, and project match). Returns grouped error clusters from Vercel request logs. Agents can also call MCP getVercelRuntimeErrors.
List MCP tools
curl -X POST https://your-imemory-host/api/mcp \
-H "Authorization: Bearer imk_your_project_api_key_here" \
-H "Content-Type: application/json" \
-d '{ "jsonrpc": "2.0", "id": 1, "method": "tools/list" }'Delete account
curl -X DELETE https://your-imemory-host/api/account \
-H "Authorization: Bearer <supabase_session_access_token>"Using the tools
The richest surface is the MCP endpoint. For the complete list of tools, their arguments, and client setup, see the MCP server docs.