How to use these fields
This release-matched technical reference indexes the JSON-visible fields in the reviewed typed models. Start with the operational guide and API conventions. A model is not a public mutation schema: request structs, response records, protected plans and internal receipts serve different purposes. Submit only the fields supported by the exact endpoint/client; unknown fields are rejected. Internal sequence, signature, receipt, owner and generation values cannot be edited to grant authority.
Optional means a Go JSON field can be omitted when empty; it does not waive an endpoint prerequisite. Values containing credentials/secrets must use the protected write-only form, never logs, query strings or support screenshots. Current account ownership, grants, feature/licence state and capability still apply.
RecoveryKey
| JSON field |
Type |
Presence |
id |
string |
Encoded by this model |
label |
string |
Encoded by this model |
provider |
string |
Encoded by this model |
fingerprint |
string |
Encoded by this model |
status |
string |
Encoded by this model |
access_control |
json.RawMessage |
Encoded by this model |
escrow_verified_at |
time.Time |
Encoded by this model |
created_at |
time.Time |
Encoded by this model |
updated_at |
time.Time |
Encoded by this model |
Destination
| JSON field |
Type |
Presence |
id |
string |
Encoded by this model |
name |
string |
Encoded by this model |
kind |
string |
Encoded by this model |
scope |
string |
Encoded by this model |
account_id |
string |
Optional when empty |
status |
string |
Encoded by this model |
revision |
int64 |
Encoded by this model |
configuration |
json.RawMessage |
Encoded by this model |
recovery_key_id |
string |
Encoded by this model |
minimum_free_bytes |
int64 |
Encoded by this model |
bandwidth_bytes_per_second |
int64 |
Encoded by this model |
last_verified_at |
*time.Time |
Optional when empty |
last_failure_code |
string |
Optional when empty |
created_at |
time.Time |
Encoded by this model |
updated_at |
time.Time |
Encoded by this model |
Retention
| JSON field |
Type |
Presence |
keep_last |
int |
Encoded by this model |
keep_daily |
int |
Encoded by this model |
keep_weekly |
int |
Encoded by this model |
keep_monthly |
int |
Encoded by this model |
max_age_days |
int |
Encoded by this model |
Policy
| JSON field |
Type |
Presence |
id |
string |
Encoded by this model |
destination_id |
string |
Encoded by this model |
scope |
string |
Encoded by this model |
account_id |
string |
Optional when empty |
display_name |
string |
Encoded by this model |
status |
string |
Encoded by this model |
revision |
int64 |
Encoded by this model |
cron_expression |
string |
Encoded by this model |
timezone |
string |
Encoded by this model |
components |
[]string |
Encoded by this model |
retention |
Retention |
Encoded by this model |
notification_policy |
string |
Encoded by this model |
maximum_bytes |
int64 |
Encoded by this model |
next_run_at |
*time.Time |
Optional when empty |
last_started_at |
*time.Time |
Optional when empty |
last_finished_at |
*time.Time |
Optional when empty |
last_result |
string |
Encoded by this model |
created_at |
time.Time |
Encoded by this model |
updated_at |
time.Time |
Encoded by this model |
PolicyRequest
| JSON field |
Type |
Presence |
id |
string |
Optional when empty |
destination_id |
string |
Encoded by this model |
scope |
string |
Encoded by this model |
account_id |
string |
Optional when empty |
display_name |
string |
Encoded by this model |
status |
string |
Encoded by this model |
revision |
int64 |
Optional when empty |
cron_expression |
string |
Encoded by this model |
timezone |
string |
Encoded by this model |
components |
[]string |
Encoded by this model |
retention |
Retention |
Encoded by this model |
notification_policy |
string |
Encoded by this model |
maximum_bytes |
int64 |
Encoded by this model |
Snapshot
| JSON field |
Type |
Presence |
id |
string |
Encoded by this model |
destination_id |
string |
Encoded by this model |
policy_id |
string |
Optional when empty |
scope |
string |
Encoded by this model |
account_id |
string |
Optional when empty |
format |
string |
Encoded by this model |
status |
string |
Encoded by this model |
revision |
int64 |
Encoded by this model |
operation_id |
string |
Encoded by this model |
components |
[]string |
Encoded by this model |
recovery_key_id |
string |
Encoded by this model |
encrypted |
bool |
Encoded by this model |
repository_snapshot_id |
string |
Optional when empty |
manifest_digest |
string |
Optional when empty |
bytes_written |
int64 |
Encoded by this model |
item_count |
int |
Encoded by this model |
consistency |
json.RawMessage |
Encoded by this model |
integrity_verified_at |
*time.Time |
Optional when empty |
completed_at |
*time.Time |
Optional when empty |
failure_code |
string |
Optional when empty |
notification_status |
string |
Encoded by this model |
created_at |
time.Time |
Encoded by this model |
updated_at |
time.Time |
Encoded by this model |
SnapshotItem
| JSON field |
Type |
Presence |
id |
string |
Encoded by this model |
snapshot_id |
string |
Encoded by this model |
component |
string |
Encoded by this model |
logical_name |
string |
Encoded by this model |
source_resource_id |
string |
Optional when empty |
bytes |
int64 |
Encoded by this model |
sha256 |
string |
Encoded by this model |
consistency |
string |
Encoded by this model |
database_method |
string |
Optional when empty |
credentials_included |
bool |
Encoded by this model |
metadata |
json.RawMessage |
Encoded by this model |
created_at |
time.Time |
Encoded by this model |
RestoreSelection
| JSON field |
Type |
Presence |
item_id |
string |
Encoded by this model |
action |
string |
Encoded by this model |
target_account_id |
string |
Optional when empty |
target_resource_id |
string |
Optional when empty |
target_name |
string |
Optional when empty |
conflict_action |
string |
Encoded by this model |
RestoreConflict
| JSON field |
Type |
Presence |
item_id |
string |
Encoded by this model |
kind |
string |
Encoded by this model |
current_fingerprint |
string |
Optional when empty |
message_code |
string |
Encoded by this model |
RestorePreviewRequest
| JSON field |
Type |
Presence |
target_account_id |
string |
Optional when empty |
selections |
[]RestoreSelection |
Encoded by this model |
RestorePreview
| JSON field |
Type |
Presence |
plan_id |
string |
Encoded by this model |
snapshot_id |
string |
Encoded by this model |
scope |
string |
Encoded by this model |
source_account_id |
string |
Optional when empty |
target_account_id |
string |
Optional when empty |
revision |
int64 |
Encoded by this model |
manifest_digest |
string |
Encoded by this model |
selections |
[]RestoreSelection |
Encoded by this model |
conflicts |
[]RestoreConflict |
Encoded by this model |
conflict_digest |
string |
Encoded by this model |
overwrite_confirmation_required |
bool |
Encoded by this model |
created_at |
time.Time |
Encoded by this model |
RestoreSubmitRequest
| JSON field |
Type |
Presence |
plan_id |
string |
Encoded by this model |
revision |
int64 |
Encoded by this model |
conflict_digest |
string |
Encoded by this model |
overwrite_confirmation |
string |
Optional when empty |
Submission
| JSON field |
Type |
Presence |
snapshot |
*Snapshot |
Optional when empty |
restore_plan |
*RestorePreview |
Optional when empty |
operation |
operations.Operation |
Encoded by this model |
replayed |
bool |
Encoded by this model |
NotificationDelivery
| JSON field |
Type |
Presence |
id |
string |
Encoded by this model |
operation_id |
string |
Encoded by this model |
snapshot_id |
string |
Encoded by this model |
account_id |
string |
Optional when empty |
event_kind |
string |
Encoded by this model |
status |
string |
Encoded by this model |
payload |
json.RawMessage |
Encoded by this model |
attempt_count |
int |
Encoded by this model |
failure_code |
string |
Optional when empty |
created_at |
time.Time |
Encoded by this model |
finished_at |
*time.Time |
Optional when empty |
Verify the actual endpoint
Read a harmless authorized resource and validate the returned API/model version before automation. For a write, use current revision or ETag, the endpoint-specific secret/preview contract and a stable reviewed idempotency key. Follow the durable task to its final state and inspect service evidence. Missing/unqualified native behavior remains a release limitation; a field name does not prove a live service or complete recovery.