Danvas
Danvas
DashboardSupportWelcome

👤 USER DOCS

User Guides

Getting Started

Getting StartedDashboard & OnboardingApp Settings

Tutorials

Tutorial: Setting Up Shift Tasks & ClosersTutorial: Managing Incidents in the InboxTutorial: Tracking Compliance & Sync StatusTutorial: Operational Workflows with the AI AssistantTutorial: Building & Deploying Custom Checklists

Daily Operations (Staff)

Shift Workspace & TasksService Day SetupDaily Line-UpStaff Service Day ReportsForms

Communication & Chat

Messages & AnnouncementsUnified Operations InboxAI Assistant

Manager & Admin Guides

Daily Line-Up SetupStaff SchedulingManaging LocationsNPS and Guest FeedbackCouponsContacts and Guest HistoryManager CloseoutsDaily Line-Up & ComplianceAnalyticsIncident ReportingWhistleblower Concerns & FeedbackAdmin Tools

⚙️ DEVELOPER DOCS

Getting Started

Getting StartedDevelopmentDeployment Guide

Architecture

Architecture OverviewExplanation: AI Integration & Tenant SecurityExplanation: Dynamic Forms Engine DesignExplanation: Compliance Ledger DesignExplanation: Live Sync & Data FreshnessData FlowArchitecture Decision Records

Core Domain

Core DomainDatabase ReferenceLocations DomainAuth & RBACScheduling DomainReports DomainIncidents DomainUnified Operations InboxLive Sync Data FreshnessToast Sync PipelineNotifications DomainCoupons and Guest NPSAudit Log & Compliance ArchitectureDesign Audit FindingsAI Chat IntegrationAnalytics & Tips Integration

Frontend

Frontend ArchitectureFormsLoading SkeletonsComponentsPWA & Offline ShellScreenshots

API Reference

API Reference

Endpoints

POS Sales APIOptimization Data APISchedule Shifts APIEmployee Export APIReports APIIncidents APIAI Chat APIPush Notifications APIWebhooks APICron API

Contributing

ContributingCode Examples

Security

Security & Compliance

Release Notes

What's New

Employee Export API

Employee data for import and bulk operations

Returns employee data for import operations, bulk invitations, and employee directory features.

The live API returns up to 50 flat employee rows for authenticated administrative search. Use the optional q query parameter to search by name, email, or employeeKey; short queries under two characters return no rows.

GET
/api/analytics/employees

Query Parameters

q?|

Search term — fuzzy matches against full_name, source_name, and employee_key prefix

location_slug?|

Filter to employees who work at this location slug (e.g., cobbsmchenry)

is_active?|

Filter by active status. Defaults to active only. Pass null for all.

Defaulttrue
employee_type?|

Filter by type: 'employee' or 'virtual'

limit?Limit

Maximum results to return

Range1 <= value <= 500
Default50
offset?Offset

Number of results to skip for pagination

Range0 <= value
Default0

Response Body

Successful Response

application/json
  1. response
  1. response
  2. …

Response wrapper for employee search.

employees*array<>
total*Total
query?|

The search term used, if any. Null means list-all mode.

note?|

User-facing message (e.g., 'No matches — try partial name or check unmapped')

curl -X GET "https://example.com/api/analytics/employees"
{
  "employees": [
    {
      "employee_key": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4",
      "full_name": "Jane Doe",
      "first_name": "Jane",
      "last_name": "Doe",
      "employee_type": "employee",
      "primary_location_slug": "cobbsmchenry",
      "is_active": true,
      "active": true,
      "email": "jane.doe@example.com",
      "phone": "555-123-4567",
      "locations": [
        {
          "location_slug": "cobbsmchenry",
          "is_primary": true
        }
      ],
      "jobs": []
    }
  ],
  "total": 5,
  "query": "jane",
  "note": "5 employees found"
}

Related Files

FilePurpose
apps/app/src/app/api/analytics/employees/route.tsAuthenticated employee search and flat response mapping
packages/database/src/schema/Employee-related database tables

Schedule Shifts API

Imported schedule data from external systems

Reports API

Endpoints for submitting and retrieving shift and manager reports

On this page

Related Files