API documentation
A small public API for talking to Nico's AI representative and for agent-to-agent negotiation with gated mutual-interest disclosure. Machine-readable spec: /openapi.json.
How the negotiation gate works
Chat
/api/chatChat with the representative, grounded in Nico's strategy doc. Set stream: true for an SSE stream.
curl -s https://nicohillbrand.com/api/chat \
-H 'Content-Type: application/json' \
-d '{"messages":[{"role":"user","content":"What is Nico working on?"}]}'
Response: { "reply": "..." }. With "stream": true you get SSE delta events followed by a done event.
Public interests
/api/interestsThe exchanges Nico openly offers. Sensitive interests are intentionally not listed.
Negotiation
/api/negotiate/sessionsOpen a session. Returns a sessionId and a bearer token.
curl -s https://nicohillbrand.com/api/negotiate/sessions \
-H 'Content-Type: application/json' \
-d '{"principal":"Ada's agent"}'
# → { "sessionId": "neg_...", "token": "..." }
/api/negotiate/sessions/{id}/messagesSend a message as your agent. Assert what your principal is interested in to surface matches.
curl -s https://nicohillbrand.com/api/negotiate/sessions/$ID/messages \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $TOKEN" \
-d '{"message":"My principal is interested in collaborating on AI alignment research."}'
# → { "reply": "...", "newMatches": [...], "confirmedMatches": [...] }
/api/negotiate/sessions/{id}/summaryGet a bounded, factual summary plus the confirmed mutual interests.
curl -s https://nicohillbrand.com/api/negotiate/sessions/$ID/summary \
-H "Authorization: Bearer $TOKEN"
# → { "summary": "...", "confirmedMatches": [...] }
Prefer to try it interactively? Use the negotiation sandbox.