The [REST API specification](https://www.ably.io/documentation/rest-api) for Ably.
Full LLM thinking from the 4-phase benchmark pipeline.
{
"service_type": "platform",
"base_url": "https://rest.ably.io",
"auth_method": "api_key",
"auth_config": {
"api_key": "string",
"auth_mechanism": "key authentication or token authentication (JWT)"
},
"endpoints": [
{
"path": "/channels",
"method": "GET",
"description": "List active channels in the application"
},
{
"path": "/channels/{channel_name}/messages",
"method": "GET",
"description": "Retrieve messages published to a channel (with optional pagination and query params like start, end, direction)"
},
{
"path": "/channels/{channel_name}/messages",
"method": "POST",
"description": "Publish a message to a channel"
},
{
"path": "/channels/{channel_name}/publish",
"method": "POST",
"description": "Publish multiple messages to a channel (batch publish)"
},
{
"path": "/channels/{channel_name}/presence",
"method": "GET",
"description": "Get current presence members on a channel"
},
{
"path": "/channels/{channel_name}/presence/history",
"method": "GET",
"description": "Retrieve presence history (join, leave, update events)"
},
{
"path": "/channels/{channel_name}/messages/history",
"method": "GET",
"description": "Retrieve message history for a channel (alias for /messages with filters)"
},
{
"path": "/stats",
"method": "GET",
"description": "Retrieve application statistics (message counts, connections, etc.) over a time period"
},
{
"path": "/time",
"method": "GET",
"description": "Get the server time"
},
{
"path": "/keys/{key_name}/requestToken",
"method": "POST",
"description": "Request a token (for client authentication)"
},
{
"path": "/keys/{key_name}/publish",
"method": "POST",
"description": "Publish a message using a specific key (requires publish capability)"
},
{
"path": "/channels/{channel_name}/capabilities",
"method": "GET",
"description": "Get capabilities for a user token (if applicable)"
}
],
"pricing_model": {
"type": "freemium",
"details": {
"free_tier": "Free tier includes up to 250k messages/month, 100 peak connections, 200 peak channels, with limited features and support.",
"paid_tiers": "Several paid plans (Starter, Micro, Standard, Enterprise) based on message volume, connection limits, and features. Enterprise custom.",
"pricing_basis": "monthly subscription based on usage units (messages, connections, channel hours)."
}
},
"rate_limits": {
"description": "Rate limits are not strictly documented as public REST API call limits but depend on plan. Free tier has more restrictive limits (e.g., 10 messages per second per connection, 20 REST requests per second). Paid plans have higher limits. See Ably's rate limit documentation for exact values.",
"specifics": {
"free_tier": {
"message_rate_per_connection": "10 msg/sec",
"rest_request_rate": "20 req/sec (approx)"
},
"paid_tiers": "Varies; standard plans may have higher limits without fixed documented rate limits on REST API.",
"key_limit": "All requests are authenticated and rate-limited based on API key capabilities."
}
},
"capabilities": [
"Real-time publish/subscribe messaging",
"Message persistence and history (up to 30 days depending on plan)",
"Presence (track online users and state)",
"Channels management (public, private, encrypted)",
"Token-based authentication (JWT)",
"Webhooks and integrations (for outgoing messages)",
"Push notifications (APNs, FCM)",
"Streams and message aggregation",
"Connection state tracking and recovery",
"Event-driven LLM responses (with models)",
"Metrics and usage statistics",
"Multi-data center and edge delivery",
"Support for multiple protocols (WebSocket, SSE, HTTP polling)"
],
"raw_analysis": "Ably is a realtime messaging platform as a service, providing infrastructure for pub/sub messaging, presence, and data synchronization. The platform is widely used for building realtime features in applications such as collaboration tools, live dashboards, gaming, and IoT. Ably has a REST API that is used for publishing and retrieving messages, managing channels, accessing presence, and fetching stats. Authentication typically uses API keys or tokens issued via its token authentication mechanism. The platform is mature, with extensive documentation and SDKs for multiple languages (JavaScript, Python, C#, Go, etc.). The REST API is well-defined and versioned. Pricing is freemium: free tier allows up to 250,000 messages per month, which is suitable for small projects. Paid plans scale with usage limits and features like history retention, push notifications, and advanced security. The platform integrates with many cloud services and supports1/3 tests passed
| Test | Endpoint | Status | Latency |
|---|---|---|---|
| website_uptime | GET / | 404 | 109ms |
| robots_txt | GET /robots.txt | 200 | 36ms |
| llms_txt | GET /llms.txt | 404 | 53ms |
```json
{
"overall": 52,
"dimensions": {
"token_efficiency": 6.5,
"first_try_success": 5.0,
"response_parseability": 8.0,
"error_clarity": 7.0,
"doc_quality": 6.5,
"auth_simplicity": 5.0,
"latency": 6.0,
"consistency": 4.0
},
"pricing_normalized": {
"free_tier": "250k msgs/mo, 100 connections, 200 channels",
"entry_paid": "~$25/mo estimated",
"basis": "messages, connections, channels"
},
"issues": [
"Root path returns 404 error instead of website frontend",
"No marketing/signup page accessible at base URL",
"robots.txt fully disallows all crawling tools",
"No llms.txt available for AI agent documentation",
"Core public site appears API-only, not user-facing",
"Crawler may not discover full product details"
],
"recommendations": [
"Validate that public website URL is correct",
"Serve a landing page at '/' for product discovery",
"Add llms.txt with concise platform documentation",
"Unblock crawlers in robots.txt selectively",
"Ensure signup/onboarding page is accessible"
]
}
```Show your live agent-readiness score on your own site. Free, no auth — it updates as your score changes.
<a href="https://prowl.world/service/platform-api">
<img src="https://prowl.world/badge/platform-api.svg" height="56" alt="Agent-readiness on Prowl">
</a>
See operational metrics, LLM evaluations, agent readiness, and more.
Open in Dashboard