MATIH Platform is in active MVP development. Documentation reflects current implementation status.
7. Tenant Lifecycle
Provisioning Endpoints

Provisioning Endpoints

The provisioning endpoints provide visibility into the asynchronous tenant provisioning process, including real-time status streaming, step details, retry capabilities, and rollback. Served by ProvisioningController at /api/v1/tenants/:tenantId/provisioning.


Endpoints

MethodEndpointDescription
GET.../provisioning/statusGet provisioning status
GET.../provisioning/status/detailedGet detailed status with phases
GET.../provisioning/status/streamSSE stream for real-time updates
GET.../provisioning/phasesGet phase breakdown
GET.../provisioning/timelineGet timeline and durations
GET.../provisioning/eventsGet recent events
GET.../provisioning/stepsGet all provisioning steps
GET.../provisioning/steps/:stepIdGet step details
POST.../provisioning/retryRetry from last failed step
POST.../provisioning/rollbackRollback all resources
POST.../provisioning/reprovisionFull reprovision (rollback + start)

Real-Time Status Stream

The SSE endpoint provides real-time provisioning updates every 2 seconds:

GET /api/v1/tenants/:tenantId/provisioning/status/stream
Accept: text/event-stream

Events:

EventDescription
statusPeriodic status update with full detail
completeFinal event when provisioning finishes or fails

The stream has a 30-minute timeout and auto-completes when provisioning reaches COMPLETED or FAILED state.


Detailed Status Response

The detailed status includes phase breakdown, timeline, estimates, and resource summary:

{
  "progress": {
    "status": "IN_PROGRESS",
    "percentComplete": 45,
    "currentPhase": "DATA_PLANE",
    "currentStep": "DEPLOY_QUERY_ENGINE"
  },
  "phases": [
    {
      "name": "INFRASTRUCTURE",
      "status": "COMPLETED",
      "steps": 5,
      "completedSteps": 5
    }
  ],
  "timeline": {
    "startedAt": "2026-02-12T10:00:00Z",
    "estimatedCompletionAt": "2026-02-12T10:15:00Z",
    "elapsedSeconds": 420
  },
  "recentEvents": []
}

Retry and Rollback

Retry (POST .../retry): Resumes provisioning from the last failed step. Returns 400 if no steps are in a failed state.

Rollback (POST .../rollback): Reverses all provisioned resources in the opposite order of provisioning.

Reprovision (POST .../reprovision): Performs a full rollback followed by a fresh provisioning start.

All three operations return 202 Accepted with the updated provisioning status.