Storage

Preview — pending review

This reference is generated from the platform API contract and is still under review. Operations, fields, and descriptions can change before publication.

Get a backup plan with its assignments and recent runs

GET
/scopes/{scopeId}/storage/backup-plans/{planId}

Returns the plan, the volumes currently assigned to it with each volume's real protection health, and its most recent runs. Carries a weak ETag the caller echoes as If-Match on PATCH and DELETE. Validation: unknown / soft-deleted / not-visible planId → 404 NOT_FOUND. RBAC: any scope role may read. Async & state: Synchronous read; no state change. Errors: 401; 403; 404; 500. Idempotency/Concurrency: Safe; the ETag is the concurrency token for the writes.

Authorization

bearerToken
headerAuthorizationBearer <token>

An API token (pc_live_…) or a service-account key (sak_live_…), created in Identity & Access Management and sent as Authorization: Bearer <token>. Requests are rate limited per credential and per tenant: every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset, and a refused request gets 429 RATE_LIMITED with Retry-After.

Path Parameters

scopeId*string

Opaque ownership+authorization scope resolving to tenant + subscription + project.

planId*string

Backup plan identifier.

Response Body

The backup plan detail read model.

application/json
  1. response

Detail read model for a backup plan — the plan plus its assignments and its most recent runs.

plan*

A reusable backup POLICY. A plan is created once and volumes are assigned to it; the schedule and the retention window then apply to every assigned volume. The plan itself carries nothing about a volume, a size or a provider object.

assignments*array<>
recentRuns*array<>

The plan's most recent runs, newest first.

curl -X GET "https://example.com/scopes/string/storage/backup-plans/string"
{  "plan": {    "id": "string",    "name": "string",    "description": "string",    "scheduleKind": "MANUAL",    "weekday": "mon",    "dayOfMonth": 0,    "time": "string",    "scheduleDetail": "string",    "retentionDays": 0,    "incremental": true,    "state": "ENABLED",    "origin": "CUSTOMER",    "assignedVolumeCount": 0,    "lastRunAt": "2019-08-24T14:15:22Z",    "lastRunStatus": "QUEUED",    "nextRunAt": "2019-08-24T14:15:22Z",    "createdAt": "2019-08-24T14:15:22Z"  },  "assignments": [    {      "volumeId": "string",      "volumeName": "string",      "volumeStatus": "string",      "assignedAt": "2019-08-24T14:15:22Z",      "protectionHealth": "PROTECTED",      "lastSuccessfulBackupAt": "2019-08-24T14:15:22Z",      "restorePointCount": 0    }  ],  "recentRuns": [    {      "id": "string",      "planId": "string",      "operationId": "string",      "trigger": "SCHEDULED",      "status": "QUEUED",      "scheduledFor": "2019-08-24T14:15:22Z",      "totalCount": 0,      "succeededCount": 0,      "failedCount": 0,      "skippedCount": 0,      "retryOfRunId": "string",      "retryableFailureCount": 0,      "startedAt": "2019-08-24T14:15:22Z",      "finishedAt": "2019-08-24T14:15:22Z",      "createdAt": "2019-08-24T14:15:22Z"    }  ]}