ALL OVER APPS - ADMIN API
Centralized administration API for all ALL OVER APPS applications. Manages multiple Shopify apps from a unified admin panel.
Auth
Back Office authentication
4 endpointsUsers
Admin user management
6 endpointsApps
Application management
1 endpointsAPI Keys
API key management for backend-to-backend authentication
8 endpointsShops
Shopify shop management per app
6 endpointsTemplates
Email template management
9 endpointsMetrics
Metrics and analytics
10 endpointsLogs
Application logs and debugging
8 endpointsFeedback
User feedback management
8 endpointsTickets
Support tickets management
15 endpointsMagic Link
Passwordless authentication for end users
2 endpointsWants
Feature requests with voting system
11 endpointsNewsletter
Newsletter subscribers, campaigns, and templates
19 endpointsContacts
Shared contact model with per-category consent and GDPR compliance
6 endpointsWebhooks
Email provider webhook receivers (Resend, cold-email)
2 endpointsEmail Tracking
Own tracking pixel and click redirect endpoints
2 endpointsEmail Events
Email lifecycle event log and analytics
3 endpointsEmail Analytics
Per-campaign, per-contact, and global email engagement analytics
4 endpointsHealth
Health checks
1 endpointsPlans
9 endpointsAvailable formats
No separate URL to discover. Your AI agent hits this page directly and receives the token-optimized format — no /llms.txt convention required.
curl -H "Accept: text/markdown" https://api.alloverapps.com/
Authentication
This API supports the following authentication methods:
| Method | Header | Use case |
|---|---|---|
| JWT Bearer Token | Authorization: Bearer <token> | Obtain via POST /auth/login. |
| API Key (apiKeyAuth) | X-API-Key: <key> | Key in header. |
Auth
Back Office authentication
| Method | Path | Description | Auth |
|---|---|---|---|
POST | /auth/login | Back Office team login | None required |
POST | /auth/refresh | Refresh JWT token | Bearer Token (JWT) |
POST | /auth/hash-password | [DEV] Generate password hash | None required |
GET | /auth/me | Current user information | Bearer Token (JWT) |
Users
Admin user management
| Method | Path | Description | Auth |
|---|---|---|---|
GET | /users/ | List users | Bearer Token (JWT) |
POST | /users/ | Create user | Bearer Token (JWT) |
GET | /users/{id} | Get user by ID | Bearer Token (JWT) |
PATCH | /users/{id} | Update user | Bearer Token (JWT) |
DELETE | /users/{id} | Delete user | Bearer Token (JWT) |
PATCH | /users/{id}/password | Update user password | Bearer Token (JWT) |
Apps
Application management
| Method | Path | Description | Auth |
|---|---|---|---|
GET | /apps | List of available applications | Bearer Token (JWT) |
API Keys
API key management for backend-to-backend authentication
| Method | Path | Description | Auth |
|---|---|---|---|
GET | /api-keys/stats | API key statistics | Bearer Token (JWT) |
GET | /api-keys/ | List API keys | Bearer Token (JWT) |
POST | /api-keys/ | Create API key | Bearer Token (JWT) |
GET | /api-keys/{keyId} | Get API key | Bearer Token (JWT) |
PATCH | /api-keys/{keyId} | Update API key | Bearer Token (JWT) |
DELETE | /api-keys/{keyId} | Delete API key | Bearer Token (JWT) |
POST | /api-keys/{keyId}/revoke | Revoke API key | Bearer Token (JWT) |
POST | /api-keys/{keyId}/regenerate | Regenerate API key | Bearer Token (JWT) |
Shops
Shopify shop management per app
| Method | Path | Description | Auth |
|---|---|---|---|
GET | /{appId}/shops/stats | Shop statistics | Bearer Token (JWT) |
GET | /{appId}/shops/domains | List of shop domains | Bearer Token (JWT) |
GET | /{appId}/shops/ | List shops | Bearer Token (JWT) |
GET | /{appId}/shops/{shopId} | Get shop by ID | Bearer Token (JWT) |
PATCH | /{appId}/shops/{shopId} | Update shop | Bearer Token (JWT) |
PATCH | /{appId}/shops/{shopId}/status | Change shop status | Bearer Token (JWT) |
Templates
Email template management
| Method | Path | Description | Auth |
|---|---|---|---|
GET | /{appId}/templates/categories | Template languages | Bearer Token (JWT) |
GET | /{appId}/templates/ | List templates | Bearer Token (JWT) |
POST | /{appId}/templates/ | Create template | Bearer Token (JWT) |
GET | /{appId}/templates/{templateId} | Get template by ID | Bearer Token (JWT) |
PUT | /{appId}/templates/{templateId} | Update template (full) | Bearer Token (JWT) |
PATCH | /{appId}/templates/{templateId} | Update template (partial) | Bearer Token (JWT) |
DELETE | /{appId}/templates/{templateId} | Delete template | Bearer Token (JWT) |
PATCH | /{appId}/templates/{templateId}/toggle | Toggle template active status | Bearer Token (JWT) |
POST | /{appId}/templates/{templateId}/duplicate | Duplicate template | Bearer Token (JWT) |
Metrics
Metrics and analytics
| Method | Path | Description | Auth |
|---|---|---|---|
GET | /metrics/aggregate/dashboard | Aggregated dashboard from all apps | Bearer Token (JWT) |
GET | /metrics/aggregate/shops-over-time | Shops over time (all apps) | Bearer Token (JWT) |
GET | /metrics/aggregate/top-shops | Top shops (all apps) | Bearer Token (JWT) |
GET | /metrics/aggregate/activity | Recent activity (all apps) | Bearer Token (JWT) |
GET | /metrics/aggregate/summary | Quick summary (all apps) | Bearer Token (JWT) |
GET | /{appId}/metrics/dashboard | General dashboard | Bearer Token (JWT) |
GET | /{appId}/metrics/shops-over-time | Shops over time | Bearer Token (JWT) |
GET | /{appId}/metrics/top-shops | Top shops | Bearer Token (JWT) |
GET | /{appId}/metrics/activity | Recent activity | Bearer Token (JWT) |
GET | /{appId}/metrics/custom | Custom metrics | Bearer Token (JWT) |
Logs
Application logs and debugging
| Method | Path | Description | Auth |
|---|---|---|---|
GET | /{appId}/logs/stats | Log statistics | Bearer Token (JWT) |
GET | /{appId}/logs/shop-domains | List of shop domains | Bearer Token (JWT) |
GET | /{appId}/logs/modules | List of modules | Bearer Token (JWT) |
GET | /{appId}/logs/over-time | Logs over time | Bearer Token (JWT) |
GET | /{appId}/logs/ | List logs | Bearer Token (JWT) |
DELETE | /{appId}/logs/ | Delete logs | Bearer Token (JWT) |
GET | /{appId}/logs/{logId} | Get log by ID | Bearer Token (JWT) |
DELETE | /{appId}/logs/{logId} | Delete log by ID | Bearer Token (JWT) |
Feedback
User feedback management
| Method | Path | Description | Auth |
|---|---|---|---|
GET | /feedback/ | List all feedback | Bearer Token (JWT) |
GET | /feedback/{feedbackId} | Get feedback by ID | Bearer Token (JWT) |
PATCH | /feedback/{feedbackId} | Update feedback | Bearer Token (JWT) |
DELETE | /feedback/{feedbackId} | Delete feedback | Bearer Token (JWT) |
PATCH | /feedback/{feedbackId}/status | Update feedback status | Bearer Token (JWT) |
GET | /{appId}/feedback/stats | Feedback statistics | Bearer Token (JWT) |
POST | /{appId}/feedback/ | Create feedback | Bearer Token (JWT) |
GET | /{appId}/feedback/ | List feedback | Bearer Token (JWT) |
Tickets
Support tickets management
| Method | Path | Description | Auth |
|---|---|---|---|
GET | /tickets/ | List all tickets | Bearer Token (JWT) |
GET | /tickets/{messageId} | Get ticket by ID | Bearer Token (JWT) |
PATCH | /tickets/{messageId} | Update ticket | Bearer Token (JWT) |
DELETE | /tickets/{messageId} | Delete ticket | Bearer Token (JWT) |
PATCH | /tickets/{messageId}/status | Update ticket status | Bearer Token (JWT) |
GET | /{appId}/tickets/stats | Ticket statistics | Bearer Token (JWT) |
POST | /{appId}/tickets/ | Create ticket with attachments | Bearer Token (JWT) |
GET | /{appId}/tickets/ | List tickets | Bearer Token (JWT) |
DELETE | /{appId}/tickets/ | Bulk delete tickets | Bearer Token (JWT) |
GET | /{appId}/tickets/{messageId} | Get ticket by ID | Bearer Token (JWT) |
PATCH | /{appId}/tickets/{messageId} | Update ticket | Bearer Token (JWT) |
DELETE | /{appId}/tickets/{messageId} | Delete ticket | Bearer Token (JWT) |
PATCH | /{appId}/tickets/{messageId}/status | Update ticket status | Bearer Token (JWT) |
POST | /{appId}/tickets/{messageId}/messages | Add message to ticket | Bearer Token (JWT) |
GET | /{appId}/tickets/{messageId}/messages | Get ticket messages | Bearer Token (JWT) |
Magic Link
Passwordless authentication for end users
| Method | Path | Description | Auth |
|---|---|---|---|
POST | /magic-link/ | Send magic link | None required |
POST | /magic-link/verify | Verify magic link token | None required |
Wants
Feature requests with voting system
| Method | Path | Description | Auth |
|---|---|---|---|
GET | /{appId}/wants/ | List wants | API Key (header: X-API-Key) |
POST | /{appId}/wants/ | Submit a want | API Key (header: X-API-Key) |
GET | /{appId}/wants/{id} | Get want by ID | API Key (header: X-API-Key) |
POST | /{appId}/wants/{id}/vote | Vote on a want | API Key (header: X-API-Key) |
GET | /admin/{appId}/wants/stats | Feature request statistics | Bearer Token (JWT) |
GET | /admin/{appId}/wants/ | List wants (admin) | Bearer Token (JWT) |
GET | /admin/{appId}/wants/{id} | Get want by ID (admin) | Bearer Token (JWT) |
PATCH | /admin/{appId}/wants/{id} | Update want | Bearer Token (JWT) |
DELETE | /admin/{appId}/wants/{id} | Delete want | Bearer Token (JWT) |
PATCH | /admin/{appId}/wants/{id}/status | Update want status | Bearer Token (JWT) |
PATCH | /admin/{appId}/wants/{id}/priority | Update want priority | Bearer Token (JWT) |
Newsletter
Newsletter subscribers, campaigns, and templates
| Method | Path | Description | Auth |
|---|---|---|---|
POST | /{appId}/newsletter/subscribe | Subscribe to newsletter | API Key (header: X-API-Key) |
GET | /{appId}/newsletter/unsubscribe/{token} | Unsubscribe from newsletter | API Key (header: X-API-Key) |
POST | /{appId}/newsletter/unsubscribe/{token} | Unsubscribe from newsletter (POST) | API Key (header: X-API-Key) |
GET | /admin/{appId}/newsletter/subscribers/stats | Subscriber statistics | Bearer Token (JWT) |
GET | /admin/{appId}/newsletter/subscribers | List subscribers | Bearer Token (JWT) |
POST | /admin/{appId}/newsletter/subscribers | Add subscriber manually | Bearer Token (JWT) |
POST | /admin/{appId}/newsletter/subscribers/import | Import subscribers | Bearer Token (JWT) |
DELETE | /admin/{appId}/newsletter/subscribers/{id} | Delete subscriber | Bearer Token (JWT) |
GET | /admin/{appId}/newsletter/campaigns | List campaigns | Bearer Token (JWT) |
POST | /admin/{appId}/newsletter/campaigns | Create campaign | Bearer Token (JWT) |
GET | /admin/{appId}/newsletter/campaigns/{id} | Get campaign | Bearer Token (JWT) |
PATCH | /admin/{appId}/newsletter/campaigns/{id} | Update campaign | Bearer Token (JWT) |
DELETE | /admin/{appId}/newsletter/campaigns/{id} | Delete campaign | Bearer Token (JWT) |
POST | /admin/{appId}/newsletter/campaigns/{id}/send | Send campaign | Bearer Token (JWT) |
POST | /admin/{appId}/newsletter/campaigns/{id}/test | Send test email | Bearer Token (JWT) |
GET | /admin/{appId}/newsletter/templates | List newsletter templates | Bearer Token (JWT) |
POST | /admin/{appId}/newsletter/templates | Create newsletter template | Bearer Token (JWT) |
PATCH | /admin/{appId}/newsletter/templates/{id} | Update newsletter template | Bearer Token (JWT) |
DELETE | /admin/{appId}/newsletter/templates/{id} | Delete newsletter template | Bearer Token (JWT) |
Contacts
Shared contact model with per-category consent and GDPR compliance
| Method | Path | Description | Auth |
|---|---|---|---|
GET | /admin/contacts/ | List contacts | Bearer Token (JWT) |
GET | /admin/contacts/{id} | Get contact by ID | Bearer Token (JWT) |
DELETE | /admin/contacts/{id} | GDPR delete contact | Bearer Token (JWT) |
PATCH | /admin/contacts/{id}/consent | Update consent for a category | Bearer Token (JWT) |
POST | /admin/contacts/{id}/opt-out | Global opt-out | Bearer Token (JWT) |
GET | /admin/contacts/{id}/export | GDPR data export | Bearer Token (JWT) |
Webhooks
Email provider webhook receivers (Resend, cold-email)
| Method | Path | Description | Auth |
|---|---|---|---|
POST | /webhooks/resend | Resend email webhook receiver | None required |
POST | /webhooks/cold-provider | Cold email provider webhook (stub) | None required |
Email Tracking
Own tracking pixel and click redirect endpoints
| Method | Path | Description | Auth |
|---|---|---|---|
GET | /t/o/{token} | Open tracking pixel | None required |
GET | /t/c/{token} | Click tracking redirect | None required |
Email Events
Email lifecycle event log and analytics
| Method | Path | Description | Auth |
|---|---|---|---|
GET | /admin/email-events/ | List email events | Bearer Token (JWT) |
GET | /admin/email-events/message/{messageId} | Get events for a message | Bearer Token (JWT) |
GET | /admin/email-events/campaign/{campaignId}/stats | Campaign event statistics | Bearer Token (JWT) |
Email Analytics
Per-campaign, per-contact, and global email engagement analytics
| Method | Path | Description | Auth |
|---|---|---|---|
GET | /admin/email/analytics/campaigns/{campaignId} | Campaign analytics | Bearer Token (JWT) |
GET | /admin/email/analytics/campaigns/{campaignId}/recipients | Campaign recipients breakdown | Bearer Token (JWT) |
GET | /admin/email/analytics/contacts/{contactId} | Contact engagement history | Bearer Token (JWT) |
GET | /admin/email/analytics/overview | Global email analytics overview | Bearer Token (JWT) |
Health
Health checks
| Method | Path | Description | Auth |
|---|---|---|---|
GET | /health | Server health check | None required |
Plans
| Method | Path | Description | Auth |
|---|---|---|---|
GET | /{appId}/plans/stats | Plan statistics | Bearer Token (JWT) |
GET | /{appId}/plans/active | List active plans | Bearer Token (JWT) |
GET | /{appId}/plans/features | List all features | Bearer Token (JWT) |
GET | /{appId}/plans/ | List plans | Bearer Token (JWT) |
POST | /{appId}/plans/ | Create plan | Bearer Token (JWT) |
GET | /{appId}/plans/{planId} | Get plan by ID | Bearer Token (JWT) |
PATCH | /{appId}/plans/{planId} | Update plan | Bearer Token (JWT) |
DELETE | /{appId}/plans/{planId} | Delete plan | Bearer Token (JWT) |
PATCH | /{appId}/plans/{planId}/toggle | Toggle plan status | Bearer Token (JWT) |