Skip to main content

Overview

The ART REST API provides direct HTTP access to the platform's real-time capabilities without requiring SDK installation. This enables integration with any programming language, framework, or platform that supports HTTP requests.

When to use the REST API:

  • Building integrations in languages without native ART SDK support
  • Server-side operations where WebSocket connections are not required
  • Testing and debugging ART features using tools like cURL or Postman
  • Lightweight implementations with minimal dependencies
  • Quick prototyping and proof-of-concept development

For applications requiring persistent real-time connections, we recommend using the ART Development Kit (ADK) which provides WebSocket-based bidirectional communication, automatic reconnection, and optimized performance.

API Workflow

The REST API follows a sequential 4-step process:

  1. Generate Passcode - Create a secure passcode for your user
  2. Get Authentication Token - Exchange credentials for a JWT access token
  3. Create New Connection - Establish a connection using your JWT token (returns connection_id)
  4. Push Message - Send messages using your JWT token and connection_id
Quick Start

Each endpoint page includes code examples and details about required headers and request/response formats.

Base URL

https://dev.arealtimetech.com/ws

Error Responses

All endpoints return standard HTTP status codes:

Status CodeDescription
200Success
400Bad Request - Invalid parameters
401Unauthorized - Invalid credentials or missing authentication
403Forbidden - Insufficient permissions or RBAC access denied
404Not Found - Resource does not exist
500Internal Server Error

Standard Error Response Format:

Most error responses follow this simple format:

{
"error": "Error message description"
}

Examples:

  • Invalid credentials: {"error": "Invalid token"}
  • Missing headers: {"error": "Missing tenant or Org-Title"}

Permission Error Response Format (403):

RBAC and permission-related errors use an extended format:

{
"status": 403,
"error_code": "",
"message": "[RBAC] Access forbidden",
"errors": [...]
}