API Changelog

This page tracks all changes to the ProBeya API. Subscribe to this page for notifications when the API evolves.

For the versioning strategy and migration guidance, see API Versioning.


2026-04-13 — v1 (Phase 33: Monte Carlo Simulation)

Added

  • monteCarlo.runSimulation mutation — Execute a Monte Carlo simulation for a PPM project. Accepts schedule data, risk profiles, and iteration count (default 10,000). Returns probability distribution for project completion dates, confidence intervals at P50/P75/P90/P95, and a histogram of outcomes.

  • monteCarlo.getSimulationResults query — Retrieve persisted simulation results by ID. Returns the full probability distribution, critical path risk factors, and sensitivity analysis ranking which tasks contribute most to schedule variance.

  • monteCarlo.listSimulations query — List all simulation runs for a project, ordered by execution date descending. Supports pagination with limit/offset.

  • Monte Carlo UI components — New pages and widgets for visualizing simulation results including S-curve charts, tornado diagrams for sensitivity analysis, and probability distribution histograms.


2026-04-10 — v1 (Phase 32: Routine Runner)

Added

  • routineRunner.create mutation — Create a new routine runner definition with schedule configuration (cron expression), assigned board, and checklist template reference.

  • routineRunner.execute mutation — Trigger a routine execution manually or via the scheduler. Creates execution records with timestamped results.

  • routineRunner.getHistory query — Retrieve execution history for a routine with status, duration, and completion metrics.

  • routineRunner.list query — List all routine runners for a board or organization with optional status filtering.


2026-04-07 — v1 (Phase 31: Benchmarking Enhancements)

Added

  • benchmarking.getRanking query — Rank sites by a specific KPI or overall composite performance score. Returns ordered list with site metadata, average values, and traffic-light status indicators.

  • benchmarking.getTrendComparison query — Time-series overlay of a KPI across multiple sites. Returns daily/weekly/monthly data points per site for charted comparison.

Changed

  • benchmarking.getCategoryBenchmark now accepts an optional dateFrom/dateTo range filter. Previously it always used the trailing 90-day window.

2026-04-01 — v1 (Phase 4: Integration & API Layer)

Added

  • POST /api/v1/ingest/batch — Batch KPI data ingestion endpoint. Accepts up to 500 KPI values per request from external systems (SAP, MES, QMS, LIMS). Each item specifies kpiId, value, source, and optional recordedAt and metadata. Returns per-item results and a summary with success/failure counts.

  • ingest.history query — Paginated ingest history query. Returns audit log entries for all ingestion attempts, filterable by source, dateFrom, dateTo, and status. Supports limit/offset pagination.

  • Webhook event: kpi.value_entered — Dispatched when a KPI value is successfully ingested via the batch endpoint. Payload includes kpiDefinitionId, kpiName, category, value, unit, date, source, and boardId.

  • Webhook event: kpi.threshold_breached — Dispatched when an ingested value breaches the KPI’s red or amber threshold. Payload includes full breach context: alertStatus, direction, thresholds, source, and KPI metadata.

  • ingest_log table — Immutable audit trail for all ingestion attempts. Stores organizationId, source, kpiIdentifier, value, timestamp, status, errorMessage, apiKeyId, and createdAt.

Changed

  • Ingest batch response now includes valueId for each successful item, enabling the calling system to reference the created/updated record.

2026-03-27 — v1 (Phase 8: White-Label & Embeds)

Added

  • branding.get query — Retrieve the organization’s branding configuration including primary/accent colors, logos, favicon, login welcome text, and custom CSS availability.

  • branding.update mutation — Update branding configuration with partial merge semantics. Requires Pro plan or higher. Validates hex colors and sanitizes custom CSS to prevent XSS.

  • branding.getUploadUrl mutation — Generate presigned S3 upload URLs for branding assets (logo, favicon, login background). Supports JPEG, PNG, and SVG formats.

  • branding.preview query — Compute CSS custom properties from branding input without persisting. Three-layer merge: input values, current org branding, system defaults.

  • embeds.create mutation — Generate embed tokens for boards, KPI charts, portfolios, and dashboards. Returns the token, embed URL, and ready-to-paste iframe HTML snippet.

  • embeds.list query — List all embed tokens for the organization with optional entity ID filter and revoked token inclusion.

  • embeds.revoke mutation — Soft-revoke an embed token by setting expiresAt to the current timestamp. Preserves the record for audit trail.

  • embeds.getPublicData query — Public endpoint (no auth required) to fetch embed data by token. Rate-limited to 60 requests/minute per token. Strips sensitive fields.

  • customDomains.create mutation — Register a custom domain for branded access. Generates CNAME target ({orgSlug}.custom.probeya.com) and returns setup instructions.

  • customDomains.verify mutation — Server-side DNS CNAME lookup to verify domain configuration. Updates status to dns_verified on success.

  • customDomains.provisionSsl mutation — Initiate SSL certificate provisioning for verified domains. Updates status to ssl_provisioning.

  • customDomains.delete mutation — Remove a custom domain registration. Requires owner role (stricter than create, which allows admin).


2026-03-24 — v1 (Phase 6-7: AI Insights & Time Tracking)

Added

  • aiInsights.detectKpiAnomalies query — Run z-score and moving average anomaly detection on a KPI’s time series. Configurable window size, standard deviation multiplier, and deviation threshold.

  • aiInsights.predictKpiTrend query — Linear regression trend prediction for a KPI. Returns direction (improving/declining/stable), slope, confidence, and predicted values. Adjusts direction for lower_is_better KPIs.

  • aiInsights.getInsights query — Combined anomalies and trends for all KPIs on a board. Returns per-KPI analysis plus summary statistics (total anomalies, critical count, trend distribution).

  • aiInsights.runAnomalyDetection mutation — Run detection, persist results to kpiAnomalies table, and trigger notifications for medium-severity or higher anomalies.

  • aiInsights.acknowledgeAnomaly mutation — Mark an anomaly as acknowledged in the triage workflow.

  • aiInsights.dismissAnomaly mutation — Mark an anomaly as dismissed (false positive).

  • timeTracking.startTimer mutation — Start a live timer. One active timer per user enforced at application level.

  • timeTracking.stopTimer mutation — Stop a running timer. Duration computed server-side to prevent clock drift.

  • timeTracking.getWeeklyTimesheet query — Aggregate time by day for a week (ISO Monday-Sunday). Returns daily totals, billable breakdowns, and entry counts.


2026-03-20 — v1 (Phase 2-3: Platform Foundation)

Added

  • API Key authentication — Bearer token auth via Authorization: Bearer probeya_sk_live_... header. Keys support fine-grained scopes and expiration dates.

  • Webhook management endpoints — CRUD for outgoing webhook subscriptions: webhook.create, webhook.update, webhook.delete, webhook.list, webhook.test, webhook.getDeliveryLog.

  • Slack & Teams integrations — integration.create, integration.update, integration.delete, integration.list, integration.test for incoming webhook notifications.

  • 14 webhook event types — item.created, item.updated, item.deleted, item.moved, board.created, board.updated, board.deleted, project.created, project.deleted, member.invited, member.joined, member.removed, form.submitted, comment.created.


2026-03-19 — v1 (Initial Release)

Added

  • Core tRPC API — Type-safe procedures for workspaces, projects, boards, items, columns, comments, notifications, search, and dashboard.
  • Batch request support — Multiple tRPC procedure calls in a single HTTP request.
  • OpenAPI specification — Auto-generated from tRPC router metadata at /api/v1/openapi.json.

Subscribing to Changes

To stay informed about API changes:

  1. Watch this page — Bookmark and check regularly before integration releases.
  2. Monitor Sunset headers — Deprecated endpoints include Sunset and Deprecation headers in responses.
  3. Check the OpenAPI spec — The auto-generated specification at /api/v1/openapi.json always reflects the current API surface.

Change Frequency

ProBeya follows a continuous deployment model. Non-breaking (additive) changes are shipped as they are ready. Breaking changes are batched into version increments with a minimum 6-month deprecation window. See API Versioning for the full policy.