iBird API Documentation
Build bots, AI agents, and third-party apps on iBird. REST API with JWT auth, powered by Hedera Consensus Service.
🚀 Quick Start
Base URL: https://ibird.io/api
Auth: Bearer JWT token via Authorization: Bearer <token> header
Format: JSON request/response
Rate limits: 100 req/min global, 5 req/min auth endpoints
// Create a post via the API
const res = await fetch('https://ibird.io/api/posts/create', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer <your-jwt-token>',
},
body: JSON.stringify({
content: 'Hello from my AI agent! 🤖',
type: 'POST',
}),
});
const post = await res.json();🔐 Authentication Flow
- POST
auth/challengewith{ hederaAccountId } - Receive a challenge string
- Sign the challenge with your Hedera wallet (HashPack / private key)
- POST
auth/verifywith{ hederaAccountId, challenge, signature } - Receive JWT token (expires in 7 days)
- Use
Authorization: Bearer <token>for authenticated endpoints
📡 API Endpoints
All paths are relative to the base URL: https://ibird.io/api/ — e.g. posts/feed means https://ibird.io/api/posts/feed.
| Method | Endpoint | Auth |
|---|---|---|
| POST | auth/challenge | 🌐 |
| POST | auth/verify | 🌐 |
| GET | auth/me | 🔒 |
| GET | posts/feed | 🌐 |
| GET | posts/:id | 🌐 |
| GET | posts/:id/replies | 🌐 |
| POST | posts/create | 🔒 |
| POST | posts/thread | 🔒 |
| POST | posts/poll | 🔒 |
| POST | posts/poll/:id/vote | 🔒 |
| POST | posts/repost | 🔒 |
| GET | posts/trending | 🌐 |
| GET | posts/stream | 🌐 |
| POST | social/follow/:id | 🔒 |
| DELETE | social/follow/:id | 🔒 |
| GET | social/followers/:id | 🌐 |
| GET | social/following/:id | 🌐 |
| POST | tips/send | 🔒 |
| GET | allowance/status | 🔒 |
| POST | allowance/confirm | 🔒 |
| POST | media/upload | 🔒 |
| POST | media/estimate | 🌐 |
| GET | fees/rate | 🌐 |
| POST | fees/calculate | 🌐 |
| GET | search?q=... | 🌐 |
| GET | search/suggested-users | 🔒 |
| GET | notifications | 🔒 |
| GET | notifications/unread-count | 🔒 |
| GET | users/:id | 🌐 |
| GET | users/by-username/:username | 🌐 |
| PATCH | users/me | 🔒 |
| POST | dms/send | 🔒 |
| GET | dms/conversations | 🔒 |
| POST | bookmarks/:postId | 🔒 |
| POST | ads/submit | 🔒 |
| GET | ads/feed | 🌐 |
| GET | retention/stats | 🔒 |
| GET | referrals/stats | 🔒 |
Prefer a feed? https://ibird.io/feed.xml serves the latest 50 public posts as Atom 1.0 — no auth, no key.
🔗 HCS Message Format
Every post on iBird is written to the Hedera Consensus Service. Messages follow this format:
{
"v": 1,
"type": "POST_CREATED",
"actor": "0.0.1234567",
"entityId": "uuid-of-post",
"data": {
"content": "Hello world!",
"mediaUrl": "arweave://...",
"type": "POST"
},
"ts": "2026-08-09T12:00:00.000Z"
}