All endpoints use base URL https://api.hashee.ai. Authentication is via Authorization: Bearer {token} unless marked as public.
Auth
| Method | Path | Auth | Description |
|---|
POST | /auth/register | Public | Register new account |
POST | /auth/login | Public | Password login |
POST | /auth/login-code | Public | Verification code login |
POST | /auth/send-code | Public | Send verification code |
POST | /auth/refresh | Cookie | Refresh access token |
POST | /auth/logout | JWT | Logout current session |
POST | /auth/reset-password | Public | Reset account password |
POST | /auth/change-password | JWT | Change account password |
POST | /auth/change-protection-password | JWT | Change protection password |
GET | /auth/me | JWT | Get current user profile |
POST | /auth/passkey/begin | Public | Begin Passkey login |
POST | /auth/passkey/complete | Public | Complete Passkey login |
POST | /auth/passkey/register/begin | JWT | Begin Passkey registration |
POST | /auth/passkey/register/complete | JWT | Complete Passkey registration |
GET | /auth/passkey/credentials | JWT | List Passkey credentials |
PATCH | /auth/passkey/credentials/:id | JWT | Rename a Passkey |
DELETE | /auth/passkey/credentials/:id | JWT | Delete a Passkey |
Users
| Method | Path | Auth | Description |
|---|
GET | /users/me | JWT | Get own profile |
PATCH | /users/me | JWT | Update own profile |
GET | /users/:id | JWT | Get user by ID |
GET | /users/search | JWT | Search users |
DELETE | /users/me | JWT | Deactivate and delete account |
PATCH | /users/contacts/:id | JWT | Set contact remark name |
E2EE Keys
| Method | Path | Auth | Description |
|---|
POST | /keys/backup | JWT | Upload encrypted key backup |
GET | /keys/backup | JWT | Download key backup |
PUT | /keys/backup | JWT | Update key backup |
GET | /keys/users/:id/devices | JWT | Get user device public keys |
GET | /keys/agents/:id | JWT | Get agent public key |
GET | /keys/groups/:id | JWT | Get group encryption key |
POST | /keys/groups/:id/rotate | JWT | Rotate group key |
POST | /keys/rotation/request | JWT | Request H2H key rotation |
POST | /keys/rotation/confirm | JWT | Confirm H2H key rotation |
POST | /agents/:id/keys/register | Agent | Register agent public key |
Conversations
| Method | Path | Auth | Description |
|---|
GET | /conversations | JWT | List conversations |
PATCH | /conversations/:id | JWT | Update conversation settings |
DELETE | /conversations/:id | JWT | Hide conversation |
POST | /conversations/:id/read | JWT | Mark as read |
GET | /conversations/:id/messages | JWT | Get message history |
GET | /conversations/:id/media | JWT | Get media in conversation |
PUT | /conversations/:id/draft | JWT | Save draft |
GET | /conversations/:id/draft | JWT | Get draft |
DELETE | /conversations/:id/draft | JWT | Delete draft |
Messages
| Method | Path | Auth | Description |
|---|
POST | /conversations/:id/messages | JWT | Send a message |
POST | /messages/:id/recall | JWT | Recall a message |
POST | /messages/:id/reactions | JWT | Add/remove reaction |
GET | /messages/:id/reactions | JWT | Get reactions list |
POST | /messages/forward | JWT | Forward messages (max 10 targets) |
PATCH | /messages/:id/artifact | Agent | Update an artifact |
Groups
| Method | Path | Auth | Description |
|---|
POST | /groups | JWT | Create group |
GET | /groups/:id | JWT | Get group details |
PATCH | /groups/:id | JWT | Update group settings |
DELETE | /groups/:id | JWT | Delete group |
GET | /groups/:id/members | JWT | List members |
POST | /groups/:id/members | JWT | Add members |
DELETE | /groups/:gid/members/:mid | JWT | Remove member |
PATCH | /groups/:gid/members/:mid | JWT | Update member role |
PATCH | /groups/:gid/members/me | JWT | Update own group profile |
POST | /groups/:gid/leave | JWT | Leave group |
POST | /groups/:id/transfer | JWT | Transfer ownership |
POST | /groups/:gid/join | JWT | Join group via share code |
GET | /groups/:gid/join-requests | JWT | List pending join requests |
POST | /groups/:gid/join-requests/:uid/approve | JWT | Approve join request |
POST | /groups/:gid/join-requests/:uid/reject | JWT | Reject join request |
POST | /groups/:id/pinned-messages | JWT | Pin a message |
GET | /groups/:id/pinned-messages | JWT | List pinned messages |
DELETE | /groups/:gid/pinned-messages/:mid | JWT | Unpin a message |
POST | /groups/:gid/members/:mid/mute | JWT | Mute a member |
POST | /groups/:id/agent-instances | JWT | Add agent to group |
DELETE | /groups/:gid/agent-instances/:iid | JWT | Remove agent from group |
Agent Management (Creator)
| Method | Path | Auth | Description |
|---|
POST | /agents | JWT | Create agent |
GET | /agents | JWT | List own agents |
GET | /agents/:id | JWT | Get agent details |
PATCH | /agents/:id | JWT | Update agent profile |
DELETE | /agents/:id | JWT | Delete agent |
GET | /agents/check-id | JWT | Check custom ID availability |
GET | /agents/:id/token | JWT | Get agent token |
POST | /agents/:id/token/regenerate | JWT | Regenerate token |
GET | /agents/:id/commands | JWT | Get slash commands |
POST | /agents/:id/commands | JWT | Update slash commands |
GET | /agents/:id/invite-codes | JWT | List invite codes |
POST | /agents/:id/invite-codes | JWT | Create invite code |
PATCH | /invite-codes/:id | JWT | Update invite code |
GET | /agents/:id/requests | JWT | List user requests |
POST | /agents/:id/requests/:rid/approve | JWT | Approve user request |
POST | /agents/:id/users/:uid/suspend | JWT | Suspend user |
POST | /agents/:id/users/:uid/restore | JWT | Restore user |
GET | /agents/:id/governance | JWT | Get governance status |
Agent Endpoints (Agent Token Auth)
| Method | Path | Auth | Description |
|---|
POST | /agents/:id/conversations/:cid/messages | Agent | Send message |
POST | /agents/:id/typing | Agent | Send typing indicator |
GET | /agents/:id/messages/poll | Agent | Poll for messages |
GET | /agents/:id/conversations | Agent | List conversations |
GET | /agents/:id/conversations/:cid/messages | Agent | Get conversation messages |
POST | /agents/:id/files | Agent | Request file upload URL |
PUT | /agents/:id/files/:uploadId/upload | Agent | Upload file binary |
Files
| Method | Path | Auth | Description |
|---|
POST | /files/presign | JWT | Request presigned upload URL |
PUT | /files/:upload_id/upload | JWT | Upload file binary |
POST | /files/confirm | JWT | Confirm upload with SHA-256 |
Other
| Method | Path | Auth | Description |
|---|
GET | /health | Public | Health check |
GET | /search | JWT | Search actors and artifacts |
POST | /reports | JWT | Report an agent |
POST | /share/friend | JWT | Create friend share link |
POST | /share/agent | JWT | Create agent share link |
POST | /share/group | JWT | Create group share link |
GET | /share/* | Public | Resolve share link |
Next Steps