Skip to main content

API Overview

The Plati AI platform provides two main APIs for different use cases:

Plati AI API

The Plati AI API is the main public API for integrating AI-powered conversational capabilities into your applications. It provides comprehensive endpoints for managing assistants, channels, conversations, identities, memory, and more.

Base URL

https://api.plati.ai

Key Features

  • Identity-First Architecture - Create and manage user identities with persistent memory
  • Multi-Channel Support - Deploy conversations across WhatsApp, web widgets, and custom channels
  • Memory System - Maintain context across conversations and sessions
  • Stage Management - Track user journey stages and progression
  • Streaming Conversations - Real-time streaming for enhanced user experience
  • MCP Integration - Extend capabilities with Model Context Protocol servers

API Versioning

The current version of the Plati AI API is 1.0.0.

Crossbow API

The Crossbow API is designed for high-volume marketing campaigns using Meta’s Marketing Messages Lite API. It enables you to create, manage, and execute large-scale messaging campaigns with advanced flow control and monitoring.

Base URL

https://api.plati.ai

Key Features

  • Campaign Management - Create and manage marketing campaigns with templates
  • Flow Execution - Execute message flows to multiple contacts with rate limiting
  • Template Parameters - Dynamic parameter mapping with fallback strategies
  • Flow Monitoring - Track execution status, statistics, and errors in real-time
  • Meta Integration - Direct integration with Meta Marketing Lite API for optimized delivery

Request Format

All request bodies should be sent as JSON with the appropriate Content-Type header:
Content-Type: application/json

Response Format

All responses are returned in JSON format. Successful responses include a message field and typically a data field containing the requested information.
{
  "message": "Operation successful message",
  "data": {
    // Response data
  }
}

Error Handling

The API uses conventional HTTP response codes to indicate the success or failure of an API request:
  • 2xx - Success
  • 4xx - Client error (invalid request)
  • 5xx - Server error
Error responses include a message field with a description of the error:
{
  "message": "Error description"
}
For validation errors, a more detailed structure is provided:
{
  "error": "Validation Error",
  "details": [
    {
      "received": "invalid_value",
      "path": ["field_name"],
      "message": "Detailed error message"
    }
  ]
}

Rate Limiting

The API implements rate limiting to prevent abuse. Rate limit headers are included in all API responses:
  • X-RateLimit-Limit: Maximum number of requests per minute
  • X-RateLimit-Remaining: Number of requests remaining in the current window
  • X-RateLimit-Reset: Time until the rate limit resets (in seconds)

Pagination

List endpoints return paginated results. The response includes pagination information:
{
  "message": "Success",
  "data": [...],
  "meta": {
    "total": 100,
    "per_page": 10,
    "current_page": 1,
    "last_page": 10
  }
}
Some endpoints use cursor-based pagination:
{
  "data": [...],
  "nextCursor": "eyJpZCI6MTIzNDV9",
  "prevCursor": "eyJpZCI6MTIzNDQ5",
  "total": 100
}

Authentication

Both APIs use Bearer token authentication. See the Authentication page for details.

Next Steps