Agreed API Docs

POST /agreed/api/register

Register a new user. Body: { "username": "...", "password": "...", "phone": "..." }

POST /agreed/api/login

Login. Body: { "username": "...", "password": "..." }

GET /agreed/api/me

Get current user profile.

PUT /agreed/api/me

Update user profile. Body: { "about": "...", "picture_url": "...", "phone": "..." }

GET /agreed/api/users/:username

Get a public user profile.

POST /agreed/api/users/:username/follow

Follow a user.

GET /agreed/api/conversations

List conversations.

POST /agreed/api/conversations

Create conversation. Body: { "topic": "...", "facilitator": "Grasshopper" }

GET /agreed/api/conversations/:id/messages

Get messages for a conversation.

POST /agreed/api/conversations/:id/messages

Send a message. Body: { "text": "..." }

GET /agreed/api/campaigns

List all active campaigns.

POST /agreed/api/campaigns

Create a new campaign. Body: { "title": "...", "topic": "...", "criteria": {...} }