Angelos API Documentation

Integrate with our communication platform using our RESTful API

Introduction

Welcome to the Angelos API documentation. Our API allows you to integrate multiple communication channels into your application through a single, unified interface.

Our API follows REST principles and uses standard HTTP response codes and verbs. All API requests use JSON for request and response bodies.

Authentication

All API requests require an API key in the Authorization header. You can find your API key in your dashboard after signing up.

Authorization: Bearer YOUR_API_KEY

Example request:

curl -X GET https://api.angelos.gisoftzambia.com/v1/account \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

WhatsApp API

Send and receive WhatsApp messages programmatically.

Send Message

POST /v1/send-whatsapp

Send a WhatsApp message to a recipient.

Request Body

{
  "to": "+260972479108",
  "message": "Hello from Angelos platform!",
  "type": "text"
}

Response

{
  "success": true,
  "message_id": "msg_1234567890",
  "status": "sent",
  "timestamp": "2026-01-06T16:00:30Z"
}

Send Media

POST /v1/send-whatsapp-media

Send media content via WhatsApp.

Request Body

{
  "to": "+260972479108",
  "type": "media",
  "media_url": "https://example.com/image.jpg",
  "caption": "Check out this image!"
}

SMS API

Send SMS messages to recipients.

Send SMS

POST /v1/send-sms

Request Body

{
  "to": "+260972479108",
  "message": "Your SMS message here",
  "sender_id": "YourBrand"
}

Response

{
  "success": true,
  "message_id": "sms_1234567890",
  "status": "queued",
  "cost": 0.05
}

Email API

Send emails programmatically.

Send Email

POST /v1/send-email

Request Body

{
  "to": "recipient@example.com",
  "subject": "Your Subject Here",
  "html": "<h1>Hello World</h1><p>This is your email content.</p>",
  "text": "Plain text version of your email",
  "from": "sender@example.com"
}

Webhooks

Set up webhooks to receive real-time notifications about message status changes.

Configuring Webhooks

You can configure webhook URLs in your dashboard or via the API.

Events

  • message.sent - Message has been sent
  • message.delivered - Message has been delivered
  • message.failed - Message failed to send
  • message.read - Message has been read (where supported)

Webhook Payload Example

{
  "event": "message.delivered",
  "message_id": "msg_1234567890",
  "recipient": "+260972479108",
  "timestamp": "2026-01-06T16:00:30Z",
  "channel": "whatsapp"
}

Error Codes

Code Message Description
400 Bad Request The request was invalid or cannot be served
401 Unauthorized Invalid or missing API key
403 Forbidden Access to the requested resource is forbidden
404 Not Found The requested resource could not be found
429 Too Many Requests Rate limit exceeded
500 Internal Server Error An error occurred on our server