Profit & Loss
Blocked Tasks
Active Work
Select a property and board to view retro items, or create a new board.
| Name | Description | Properties | Tasks |
|---|
| Name | Type | Brand | URL |
|---|
| Name | Brand | 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://bob.ensomniamedia.com/api/external/tasks
Endpoints
/api/external/tasks
Get all tasks from the kanban board with brand names.
curl -H "X-API-Key: YOUR_API_KEY" \ https://bob.ensomniamedia.com/api/external/tasks
/api/external/tasks/:id
Get a single task by ID.
curl -H "X-API-Key: YOUR_API_KEY" \ https://bob.ensomniamedia.com/api/external/tasks/TASK_ID
/api/external/tasks/assignee/:assignee
Get tasks assigned to a specific person. Assignees: bob, alice, data
curl -H "X-API-Key: YOUR_API_KEY" \ https://bob.ensomniamedia.com/api/external/tasks/assignee/bob
/api/external/tasks/:id/status
Update task status. Valid statuses: backlog, todo, doing, blocked, done
curl -X PATCH \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"status": "done"}' \
https://bob.ensomniamedia.com/api/external/tasks/TASK_ID/status
Support Tickets
Allow users to submit support tickets from your websites. Tickets appear in Bob's Support section, and submitters receive email notifications on updates.
/api/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://bob.ensomniamedia.com/api/external/support-tickets
Response (201 Created):
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"message": "Support ticket created successfully"
}
/api/external/support-tickets/:id
Check ticket status. Use this to let submitters track their ticket.
curl -H "X-API-Key: YOUR_API_KEY" \ https://bob.ensomniamedia.com/api/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"
}
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://bob.ensomniamedia.com/api/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 |
|---|