Message Integration with Athena Vision AR Glasses Platform

Modified on Fri, May 23 at 7:06 AM

Overview

This guide is intended for customers and third-party developers who want to integrate with Athena Security’s messaging API to send messages and alerts to Athena’s AR Glasse.  The  goal is to send alert messages—such as weapon detection alerts—to selected  groups and users associated with the groups on the account.

This is especially useful for organizations that require communication to dissemination of critical alerts through secure, automated messaging to smart glass devices. 

The integration includes secure API key generation, group metadata export, and structured message dispatching and retrieving message statuses. This document outlines each step in detail, along with examples of payloads, headers, and responses.

Step 1: Generate API Key

To authenticate and use the API, you’ll first need to generate an API key.

Instructions:

  1. Login to the Athena Control Center

  2. Navigate to Integrations → Settings

  3. Under the API Keys section, click Create API Key

  4. Give your key a name (e.g., "Messaging Integration") and click Create

  5. You can either:

    • Export the key securely as a .txt file

    • Or Copy the key directly

Security Tip: Store your API key securely. 

Step 2: Export Group Details

To send messages to specific groups, you need their unique identifiers.

Instructions:

  1. From the Integrations page, select the groups tab

  2. Select one or more groups for message targeting

  3. Click Export

  4. Choose your preferred format: CSV or JSON

Example CSV Export

account_id,group_name,group_id

Acme Corp,1234,Main Entrance,001

Acme Corp,1234,Second Gate,002

Example JSON Export

[

  {

    "account_id": "1234",

    "group_name": "Main Entrance",

    "group_id": "001"

  },

  {

    "account_id": "1234",

    "group_name": "Second Gate2",

    "group_id": "002"

  }

]



Step 3: API Authentication & Message Delivery

Endpoint

POST https://wds.athena-security.com/api/v1/accounts/{account_id}/messages/send

✅ Note: Include account_id in the URL.

Authentication Header

Authorization: Bearer <your_api_key>

Content-Type: application/json

Example Alert Message Request

{

  "groups": ["001", "002"],

  "message": [

    "ALERT: Weapon",

    "Detected at Gate",

    "Evacuate Area",

    "Security Notified",

    "Stay Indoors Now"

  ]

}

Message Format Guidelines

  • May contain up to 5 lines

  • Each line must be less than 23 characters

  • Plain text only (no emojis, markdown, or special characters)

  • Based on the number of groups, message objects are created and notified to glasses.

Success Response Example

{

  "status": "success",

  "message": "Message accepted for processing.",

  "received_at": "2025-04-11T18:21:00Z",

  "created_messages": [

       {

           "message_id": 37,

           "group_id": 924,

           "alert_id": 20196289,

           "alert_type": "Glasses-Alert"

       },

       {

           "message_id": 38,

           "group_id": 923,

           "alert_id": 20196290,

           "alert_type": "Glasses-Alert"

       }

   ],

   "failed_groups": []


}

Error Response Example

{

  "status": "error",

  "error": "Each message must have 5 lines with max 23 characters per line."

}



Step 4: Retrieving Message Status

  • Message status can be retrieved from Athena security

  • Respective Message id needs to be used in order to retrieve the statuses from Glasses.

  • Based on the number of groups, message objects are created and notified to glasses. 

  • After a message is received for processing with /messages/send API, successful response is provided along with “message_id”. 

  • Use the message_id based on groups to retrieve statuses from glasses. 

Endpoint

GET https://wds.athena-security.com/api/v1/accounts/{account_id}/get-status/{message_id}

✅ Note: Include account_id and message_id in the URL. Use the API Key originated for the specific account.

Authentication Header

Authorization: Bearer <your_api_key>

Content-Type: application/json

Get Status Response Example 

{

   "message_id": 19,

   "statuses": [

       {

           "user_id": 1187,

           "username": "test1",

           "received_from_phone": true,

           "failed_from_phone": false,

           "acknowledged_from_glass": false,

           "ignored_from_glass": true

       },

       {

           "user_id": 1185,

           "username": "test2",

           "received_from_phone": true,

           "failed_from_phone": false,

           "acknowledged_from_glass": true,

           "ignored_from_glass": false

       }

   ]

}



Support & Contact

If you have questions or require integration assistance:

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article