Profit & Loss
Blocked Tasks
Active Work
Select a property and board to view retro items, or create a new board.
Select a date to view the standup. Standups are generated automatically at 8 AM CST daily.
| Name | Description | Properties | Tasks |
|---|
| Name | Type | Brand | Brain | URL |
|---|
| Name | Brand | Language | URL |
|---|
| Title | Belongs To | Updated |
|---|
| Name | Type | Login | Password | Linked To |
|---|
| App | Name | Monthly Cost | Annual Cost | Status |
|---|
| Source | Description | Est. Monthly | Est. Annual |
|---|
API Key
Use this key to authenticate external API requests.
••••••••••••••••
Authentication
Include your API key in the X-API-Key header with every request.
curl -H "X-API-Key: YOUR_API_KEY" https://alice.ensomniamedia.com/api/core/external/tasks
Endpoints
/api/core/external/tasks
Get all tasks from the kanban board with brand names.
curl -H "X-API-Key: YOUR_API_KEY" \ https://alice.ensomniamedia.com/api/core/external/tasks
/api/core/external/tasks/:id
Get a single task by ID.
curl -H "X-API-Key: YOUR_API_KEY" \ https://alice.ensomniamedia.com/api/core/external/tasks/TASK_ID
/api/core/external/tasks/assignee/:assignee
Get tasks assigned to a specific person.
curl -H "X-API-Key: YOUR_API_KEY" \ https://alice.ensomniamedia.com/api/core/external/tasks/assignee/ASSIGNEE
/api/core/external/tasks/:id/status
Update task status. Valid statuses: backlog, todo, doing, blocked, done, wontdo
curl -X PATCH \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"status": "done"}' \
https://alice.ensomniamedia.com/api/core/external/tasks/TASK_ID/status
Support Tickets
Allow users to submit support tickets from your websites. Tickets appear in the Support section, and submitters receive email notifications on updates.
/api/core/external/support-tickets
Create a new support ticket. The submitter will receive a confirmation email.
| Required Fields | email, name, propertyId, issue |
| Returns | { id, message } |
curl -X POST \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"name": "John Doe",
"propertyId": "PROPERTY_ID",
"issue": "I need help with..."
}' \
https://alice.ensomniamedia.com/api/core/external/support-tickets
Response (201 Created):
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"message": "Support ticket created successfully"
}
/api/core/external/support-tickets/:id
Check ticket status. Use this to let submitters track their ticket.
curl -H "X-API-Key: YOUR_API_KEY" \ https://alice.ensomniamedia.com/api/core/external/support-tickets/TICKET_ID
Response:
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "in_progress",
"createdAt": "2025-01-04T12:00:00.000Z",
"updatedAt": "2025-01-04T14:30:00.000Z"
}
Standup Summaries
/api/core/external/standup-summaries
Submit a daily standup summary from an external property. Multiple submissions per day are allowed.
curl -X POST \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{
"propertyId": "your-property-id",
"date": "2026-01-08",
"summary": "Completed feature X, working on Y, blocked by Z"
}' \
https://alice.ensomniamedia.com/api/core/external/standup-summaries
Response (201 Created):
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"message": "Standup summary logged successfully"
}
Website Integration Example
Add a support form to your website with this JavaScript example:
// Support form submission handler
async function submitSupportTicket(event) {
event.preventDefault();
const response = await fetch(
'https://alice.ensomniamedia.com/api/core/external/support-tickets',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': 'YOUR_API_KEY'
},
body: JSON.stringify({
email: document.getElementById('email').value,
name: document.getElementById('name').value,
propertyId: 'YOUR_PROPERTY_ID', // Get from Properties page
issue: document.getElementById('issue').value
})
}
);
const result = await response.json();
if (response.ok) {
alert('Ticket submitted! ID: ' + result.id);
} else {
alert('Error: ' + result.error);
}
}
Email Notifications
Submitters automatically receive emails when:
- Ticket Created - Confirmation with ticket ID
- Status Updated - When status changes to
in_progress - Ticket Closed - Resolution notification with any notes
Emails are sent from support@ensomniamedia.com
Ticket Statuses
open |
New ticket, awaiting review |
in_progress |
Being worked on |
closed |
Resolved and closed |
Response Formats
All responses are JSON. Example task object:
{
"id": "abc123",
"title": "Build landing page",
"description": "Create initial landing page",
"status": "doing",
"assignee": "data",
"brandId": "xyz789",
"brandName": "TestJeff",
"createdAt": "2025-01-01T00:00:00.000Z",
"updatedAt": "2025-01-02T00:00:00.000Z"
}
| Ticket | Property | From | Issue | Status | Created | Actions |
|---|
| Name | Type | Description | Admin Portal | Account | Status | Actions |
|---|
Cross-Brain Status
Loading jobs...
Loading content sites...
Loading content analytics...
Loading products...
Loading product metrics...
Loading incidents...
Loading roadmap...
Loading portfolio...
Loading risk data...
Loading strategies...
Loading cases...
Loading research...
Loading accounts...
Loading transactions...
Loading bills...
Loading invoices...
Loading tax items...
Loading financial planning...
Loading stacks...
Loading Lambda functions...
Loading costs...
Loading DNS zones...
Loading CDN distributions...
Loading storage...
Loading schedule...
Loading devices...
Loading routines...