Quickstart
Five minutes from npm install to a profile any agent in
your stack can read.
1. Install
# pick one
npm install @ediccio/sdk
pip install ediccio 2. Make your first profile
Pipe any natural-language signal in. We do the extraction.
curl -X POST https://api.ediccio.ai/v1/enrich_from_text \ -H "Authorization: Bearer $EDICCIO_KEY" \ -d '{ "end_user_id": "pat@acme.com", "text": "we keep reinventing memory for every agent", "channel": "email" }'
Response:
{ "profile_version": 1, "updated_fields": [ { "field": "intent", "value": "Evaluate managed memory layer", ... }, { "field": "pain", "value": "Re-implementing memory per agent", ... } ] }
3. Ask your agent about it
Add Ediccio to any MCP-compatible host’s mcp.json,
restart, and ask:
> What does Pat at Acme care about? Calling tool get_profile(end_user_id="pat@acme.com") ✓ profile retrieved Pat is evaluating managed customer-memory layers. Top pain: re-implementing memory per agent...
API reference
Three endpoints. Every one of them has a cURL example, a Python
example, and an MCP example. Every response includes
request_id for support.
get_profile
Return the current profile. Pass
?projection=intent,pain to subset.
curl https://api.ediccio.ai/v1/profile/pat@acme.com \
-H "Authorization: Bearer $EDICCIO_KEY" enrich_from_text
Update a profile from a natural-language signal. Returns the diff with evidence.
curl -X POST https://api.ediccio.ai/v1/enrich_from_text \ -H "Authorization: Bearer $EDICCIO_KEY" \ -d '{ "end_user_id": "...", "text": "...", "channel": "email" }'
find_profiles
Semantic search across the tenant. Filter by trait, sentiment band, recency.
curl -X POST https://api.ediccio.ai/v1/find_profiles \ -H "Authorization: Bearer $EDICCIO_KEY" \ -d '{ "query": "mentioned multi-agent context this month", "limit": 10 }'
Webhook adapter
Point any source that posts JSON at
/v1/webhook/:source. Configure the field mapping once in
the dashboard. We’ll parse, identify by your mapping, and run
enrich_from_text in the background.
Python & TypeScript SDKs
Thin wrappers around the REST API. Typed responses, async by default,
retry-with-backoff out of the box. pip install ediccio ·
npm install @ediccio/sdk.
Rate limits
- Free. 60 req/min · 5,000 signals/mo · 500 active profiles · hard cap, then read-only.
- Team. 600 req/min · 250,000 signals/mo · then $0.0015 per signal.
- Scale. 1.5M signals/mo · then $0.0011 per signal · SSO, audit logs, EU residency.
- Enterprise. Negotiated.
Errors
Standard HTTP codes. Every error body includes code,
message, request_id, and a docs URL.
{ "code": "profile_not_found", "message": "No profile for end_user_id 'pat@acme.com'", "request_id": "req_01HZX...", "docs": "https://ediccio.ai/docs/errors#profile_not_found" }