Skip to content

Dashboard Service API

The Dashboard Service provides endpoints for retrieving statistics and data for the main dashboard.

Endpoints

All endpoints in this service require authentication.

GET /api/v1/dashboard/stats

Retrieves overall statistics, including the total number of archived emails, total storage used, and the number of failed ingestions in the last 7 days.

Access: Authenticated

Responses

  • 200 OK: An object containing the dashboard statistics.

    json
    {
    	"totalEmailsArchived": 12345,
    	"totalStorageUsed": 54321098,
    	"failedIngestionsLast7Days": 3
    }

GET /api/v1/dashboard/ingestion-history

Retrieves the email ingestion history for the last 30 days, grouped by day.

Access: Authenticated

Responses

  • 200 OK: An object containing the ingestion history.

    json
    {
    	"history": [
    		{
    			"date": "2023-09-27T00:00:00.000Z",
    			"count": 150
    		},
    		{
    			"date": "2023-09-28T00:00:00.000Z",
    			"count": 200
    		}
    	]
    }

GET /api/v1/dashboard/ingestion-sources

Retrieves a list of all ingestion sources along with their status and storage usage.

Access: Authenticated

Responses

  • 200 OK: An array of ingestion source objects.

    json
    [
    	{
    		"id": "source-id-1",
    		"name": "Google Workspace",
    		"provider": "google",
    		"status": "active",
    		"storageUsed": 12345678
    	},
    	{
    		"id": "source-id-2",
    		"name": "Microsoft 365",
    		"provider": "microsoft",
    		"status": "error",
    		"storageUsed": 87654321
    	}
    ]

GET /api/v1/dashboard/recent-syncs

Retrieves a list of recent synchronization jobs. (Note: This is currently a placeholder and will return an empty array).

Access: Authenticated

Responses

  • 200 OK: An empty array.

    json
    []

GET /api/v1/dashboard/indexed-insights

Retrieves insights from the indexed email data, such as the top senders.

Access: Authenticated

Responses

  • 200 OK: An object containing indexed insights.

    json
    {
    	"topSenders": [
    		{
    			"sender": "[email protected]",
    			"count": 42
    		}
    	]
    }