Endpoint

/v1/snapshots/policies/

GET

Returns information about all snapshot policies.

Parameters

This resource has no parameters.

Response

Codes

Code Description
200 Return value on success

Schema

{
  "description": "api_snapshots_policies_v1",
  "type": "object",
  "properties": {
    "entries": {
      "type": "array",
      "items": {
        "description": "List of snapshot policy information",
        "type": "object",
        "properties": {
          "id": {
            "description": "Unique identifier for the snapshot policy",
            "type": "number"
          },
          "name": {
            "description": "Name of the snapshot policy",
            "type": "string"
          },
          "source_file_ids": {
            "type": "array",
            "items": {
              "description": "File ID of the directory on which to take snapshots under the policy. The array must contain exactly one file ID and cannot be modified after policy creation.",
              "type": "string"
            }
          },
          "schedules": {
            "type": "array",
            "items": {
              "description": "Schedule by which to take snapshots for the policy. The array must contain exactly one schedule.",
              "type": "object",
              "properties": {
                "id": {
                  "description": "Identifier for the snapshot policy's schedule. Only unique within the scope of a snapshot policy.",
                  "type": "number"
                },
                "creation_schedule": {
                  "description": "Structure defining when to take snapshots",
                  "type": "object",
                  "properties": {
                    "timezone": {
                      "description": "The timezone in which the schedule should be interpreted (e.g. America/Los_Angeles or UTC).",
                      "type": "string"
                    },
                    "frequency": {
                      "type": "string",
                      "enum": [
                        "SCHEDULE_MONTHLY",
                        "SCHEDULE_DAILY_OR_WEEKLY",
                        "SCHEDULE_HOURLY_OR_LESS"
                      ],
                      "description": "Coarse frequency (MONTHLY, DAILY_OR_WEEKLY, or HOURLY_OR_LESS) at which to take snapshot:\n * `SCHEDULE_DAILY_OR_WEEKLY` - SCHEDULE_DAILY_OR_WEEKLY,\n * `SCHEDULE_HOURLY_OR_LESS` - SCHEDULE_HOURLY_OR_LESS,\n * `SCHEDULE_MONTHLY` - SCHEDULE_MONTHLY"
                    },
                    "hour": {
                      "description": "For MONTHLY or DAILY_OR_WEEKLY frequency: Hour of day [0, 23] at which to take snapshot",
                      "type": "number"
                    },
                    "minute": {
                      "description": "For MONTHLY or DAILY_OR_WEEKLY frequency: minute of hour [0, 59] at which to take snapshot",
                      "type": "number"
                    },
                    "on_days": {
                      "description": "For DAILY_OR_WEEKLY or HOURLY_OR_LESS frequency: list of days of the week on which to take snapshots. Choose from SUN, MON, TUE, WED, THU, FRI, and/or SAT. EVERY_DAY can be used to specify all days. For MONTHLY frequency: LAST_DAY_OF_MONTH indicates that the snapshot should be taken only on the last day of the month.",
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "SUN",
                          "MON",
                          "TUE",
                          "WED",
                          "THU",
                          "FRI",
                          "SAT",
                          "EVERY_DAY"
                        ],
                        "description": "For DAILY_OR_WEEKLY or HOURLY_OR_LESS frequency: list of days of the week on which to take snapshots. Choose from SUN, MON, TUE, WED, THU, FRI, and/or SAT. EVERY_DAY can be used to specify all days. For MONTHLY frequency: LAST_DAY_OF_MONTH indicates that the snapshot should be taken only on the last day of the month.:\n * `EVERY_DAY` - EVERY_DAY,\n * `FRI` - FRI,\n * `MON` - MON,\n * `SAT` - SAT,\n * `SUN` - SUN,\n * `THU` - THU,\n * `TUE` - TUE,\n * `WED` - WED"
                      }
                    },
                    "day_of_month": {
                      "description": "For MONTHLY frequency: day of month on which to take snapshot. [1, 27] for specific day, 128 for last day of month.",
                      "type": "number"
                    },
                    "window_start_hour": {
                      "description": "For HOURLY_OR_LESS frequency: hour of day [0, 23] for start of window during which to take snapshots",
                      "type": "number"
                    },
                    "window_start_minute": {
                      "description": "For HOURLY_OR_LESS frequency: minute of hour [0, 59] for start of window during which to take snapshots",
                      "type": "number"
                    },
                    "window_end_hour": {
                      "description": "For HOURLY_OR_LESS frequency: hour of day [0, 23] for end of window during which to take snapshots)",
                      "type": "number"
                    },
                    "window_end_minute": {
                      "description": "For HOURLY_OR_LESS frequency: minute of hour [0, 59] for end of window during which to take snapshots",
                      "type": "number"
                    },
                    "fire_every_interval": {
                      "type": "string",
                      "enum": [
                        "FIRE_IN_MINUTES",
                        "FIRE_IN_HOURS"
                      ],
                      "description": "For HOURLY_OR_LESS frequency: units for interval (MINUTES or HOURS) at which to take snapshot during specified window:\n * `FIRE_IN_HOURS` - FIRE_IN_HOURS,\n * `FIRE_IN_MINUTES` - FIRE_IN_MINUTES"
                    },
                    "fire_every": {
                      "description": "For HOURLY_OR_LESS frequency: value for interval [1, 99] at which to take snapshot during specified window",
                      "type": "number"
                    }
                  }
                },
                "expiration_time_to_live": {
                  "description": "Duration after which to expire snapshots created by this policy, in format <quantity><units>, where <quantity> is a positive integer less than 100 and <units> is one of [months, weeks, days, hours, minutes], e.g. 5days or 1hours. Empty string or never indicates snapshots should never expire.",
                  "type": "string"
                }
              }
            }
          },
          "enabled": {
            "description": "Whether snapshot taking is enabled for this policy (defaults to true)",
            "type": "boolean"
          }
        }
      }
    }
  }
}

POST

Creates a new snapshot policy and returns its details.

Parameters

This resource has no parameters.

Request

Schema

{
  "description": "api_snapshots_policy_info_v1",
  "type": "object",
  "properties": {
    "id": {
      "description": "Unique identifier for the snapshot policy",
      "type": "number"
    },
    "name": {
      "description": "Name of the snapshot policy",
      "type": "string"
    },
    "source_file_ids": {
      "type": "array",
      "items": {
        "description": "File ID of the directory on which to take snapshots under the policy. The array must contain exactly one file ID and cannot be modified after policy creation.",
        "type": "string"
      }
    },
    "schedules": {
      "type": "array",
      "items": {
        "description": "Schedule by which to take snapshots for the policy. The array must contain exactly one schedule.",
        "type": "object",
        "properties": {
          "id": {
            "description": "Identifier for the snapshot policy's schedule. Only unique within the scope of a snapshot policy.",
            "type": "number"
          },
          "creation_schedule": {
            "description": "Structure defining when to take snapshots",
            "type": "object",
            "properties": {
              "timezone": {
                "description": "The timezone in which the schedule should be interpreted (e.g. America/Los_Angeles or UTC).",
                "type": "string"
              },
              "frequency": {
                "type": "string",
                "enum": [
                  "SCHEDULE_MONTHLY",
                  "SCHEDULE_DAILY_OR_WEEKLY",
                  "SCHEDULE_HOURLY_OR_LESS"
                ],
                "description": "Coarse frequency (MONTHLY, DAILY_OR_WEEKLY, or HOURLY_OR_LESS) at which to take snapshot:\n * `SCHEDULE_DAILY_OR_WEEKLY` - SCHEDULE_DAILY_OR_WEEKLY,\n * `SCHEDULE_HOURLY_OR_LESS` - SCHEDULE_HOURLY_OR_LESS,\n * `SCHEDULE_MONTHLY` - SCHEDULE_MONTHLY"
              },
              "hour": {
                "description": "For MONTHLY or DAILY_OR_WEEKLY frequency: Hour of day [0, 23] at which to take snapshot",
                "type": "number"
              },
              "minute": {
                "description": "For MONTHLY or DAILY_OR_WEEKLY frequency: minute of hour [0, 59] at which to take snapshot",
                "type": "number"
              },
              "on_days": {
                "description": "For DAILY_OR_WEEKLY or HOURLY_OR_LESS frequency: list of days of the week on which to take snapshots. Choose from SUN, MON, TUE, WED, THU, FRI, and/or SAT. EVERY_DAY can be used to specify all days. For MONTHLY frequency: LAST_DAY_OF_MONTH indicates that the snapshot should be taken only on the last day of the month.",
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "SUN",
                    "MON",
                    "TUE",
                    "WED",
                    "THU",
                    "FRI",
                    "SAT",
                    "EVERY_DAY"
                  ],
                  "description": "For DAILY_OR_WEEKLY or HOURLY_OR_LESS frequency: list of days of the week on which to take snapshots. Choose from SUN, MON, TUE, WED, THU, FRI, and/or SAT. EVERY_DAY can be used to specify all days. For MONTHLY frequency: LAST_DAY_OF_MONTH indicates that the snapshot should be taken only on the last day of the month.:\n * `EVERY_DAY` - EVERY_DAY,\n * `FRI` - FRI,\n * `MON` - MON,\n * `SAT` - SAT,\n * `SUN` - SUN,\n * `THU` - THU,\n * `TUE` - TUE,\n * `WED` - WED"
                }
              },
              "day_of_month": {
                "description": "For MONTHLY frequency: day of month on which to take snapshot. [1, 27] for specific day, 128 for last day of month.",
                "type": "number"
              },
              "window_start_hour": {
                "description": "For HOURLY_OR_LESS frequency: hour of day [0, 23] for start of window during which to take snapshots",
                "type": "number"
              },
              "window_start_minute": {
                "description": "For HOURLY_OR_LESS frequency: minute of hour [0, 59] for start of window during which to take snapshots",
                "type": "number"
              },
              "window_end_hour": {
                "description": "For HOURLY_OR_LESS frequency: hour of day [0, 23] for end of window during which to take snapshots)",
                "type": "number"
              },
              "window_end_minute": {
                "description": "For HOURLY_OR_LESS frequency: minute of hour [0, 59] for end of window during which to take snapshots",
                "type": "number"
              },
              "fire_every_interval": {
                "type": "string",
                "enum": [
                  "FIRE_IN_MINUTES",
                  "FIRE_IN_HOURS"
                ],
                "description": "For HOURLY_OR_LESS frequency: units for interval (MINUTES or HOURS) at which to take snapshot during specified window:\n * `FIRE_IN_HOURS` - FIRE_IN_HOURS,\n * `FIRE_IN_MINUTES` - FIRE_IN_MINUTES"
              },
              "fire_every": {
                "description": "For HOURLY_OR_LESS frequency: value for interval [1, 99] at which to take snapshot during specified window",
                "type": "number"
              }
            }
          },
          "expiration_time_to_live": {
            "description": "Duration after which to expire snapshots created by this policy, in format <quantity><units>, where <quantity> is a positive integer less than 100 and <units> is one of [months, weeks, days, hours, minutes], e.g. 5days or 1hours. Empty string or never indicates snapshots should never expire.",
            "type": "string"
          }
        }
      }
    },
    "enabled": {
      "description": "Whether snapshot taking is enabled for this policy (defaults to true)",
      "type": "boolean"
    }
  }
}

Response

Codes

Code Description
200 Return value on success

Schema

{
  "description": "api_snapshots_policy_info_v1",
  "type": "object",
  "properties": {
    "id": {
      "description": "Unique identifier for the snapshot policy",
      "type": "number"
    },
    "name": {
      "description": "Name of the snapshot policy",
      "type": "string"
    },
    "source_file_ids": {
      "type": "array",
      "items": {
        "description": "File ID of the directory on which to take snapshots under the policy. The array must contain exactly one file ID and cannot be modified after policy creation.",
        "type": "string"
      }
    },
    "schedules": {
      "type": "array",
      "items": {
        "description": "Schedule by which to take snapshots for the policy. The array must contain exactly one schedule.",
        "type": "object",
        "properties": {
          "id": {
            "description": "Identifier for the snapshot policy's schedule. Only unique within the scope of a snapshot policy.",
            "type": "number"
          },
          "creation_schedule": {
            "description": "Structure defining when to take snapshots",
            "type": "object",
            "properties": {
              "timezone": {
                "description": "The timezone in which the schedule should be interpreted (e.g. America/Los_Angeles or UTC).",
                "type": "string"
              },
              "frequency": {
                "type": "string",
                "enum": [
                  "SCHEDULE_MONTHLY",
                  "SCHEDULE_DAILY_OR_WEEKLY",
                  "SCHEDULE_HOURLY_OR_LESS"
                ],
                "description": "Coarse frequency (MONTHLY, DAILY_OR_WEEKLY, or HOURLY_OR_LESS) at which to take snapshot:\n * `SCHEDULE_DAILY_OR_WEEKLY` - SCHEDULE_DAILY_OR_WEEKLY,\n * `SCHEDULE_HOURLY_OR_LESS` - SCHEDULE_HOURLY_OR_LESS,\n * `SCHEDULE_MONTHLY` - SCHEDULE_MONTHLY"
              },
              "hour": {
                "description": "For MONTHLY or DAILY_OR_WEEKLY frequency: Hour of day [0, 23] at which to take snapshot",
                "type": "number"
              },
              "minute": {
                "description": "For MONTHLY or DAILY_OR_WEEKLY frequency: minute of hour [0, 59] at which to take snapshot",
                "type": "number"
              },
              "on_days": {
                "description": "For DAILY_OR_WEEKLY or HOURLY_OR_LESS frequency: list of days of the week on which to take snapshots. Choose from SUN, MON, TUE, WED, THU, FRI, and/or SAT. EVERY_DAY can be used to specify all days. For MONTHLY frequency: LAST_DAY_OF_MONTH indicates that the snapshot should be taken only on the last day of the month.",
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "SUN",
                    "MON",
                    "TUE",
                    "WED",
                    "THU",
                    "FRI",
                    "SAT",
                    "EVERY_DAY"
                  ],
                  "description": "For DAILY_OR_WEEKLY or HOURLY_OR_LESS frequency: list of days of the week on which to take snapshots. Choose from SUN, MON, TUE, WED, THU, FRI, and/or SAT. EVERY_DAY can be used to specify all days. For MONTHLY frequency: LAST_DAY_OF_MONTH indicates that the snapshot should be taken only on the last day of the month.:\n * `EVERY_DAY` - EVERY_DAY,\n * `FRI` - FRI,\n * `MON` - MON,\n * `SAT` - SAT,\n * `SUN` - SUN,\n * `THU` - THU,\n * `TUE` - TUE,\n * `WED` - WED"
                }
              },
              "day_of_month": {
                "description": "For MONTHLY frequency: day of month on which to take snapshot. [1, 27] for specific day, 128 for last day of month.",
                "type": "number"
              },
              "window_start_hour": {
                "description": "For HOURLY_OR_LESS frequency: hour of day [0, 23] for start of window during which to take snapshots",
                "type": "number"
              },
              "window_start_minute": {
                "description": "For HOURLY_OR_LESS frequency: minute of hour [0, 59] for start of window during which to take snapshots",
                "type": "number"
              },
              "window_end_hour": {
                "description": "For HOURLY_OR_LESS frequency: hour of day [0, 23] for end of window during which to take snapshots)",
                "type": "number"
              },
              "window_end_minute": {
                "description": "For HOURLY_OR_LESS frequency: minute of hour [0, 59] for end of window during which to take snapshots",
                "type": "number"
              },
              "fire_every_interval": {
                "type": "string",
                "enum": [
                  "FIRE_IN_MINUTES",
                  "FIRE_IN_HOURS"
                ],
                "description": "For HOURLY_OR_LESS frequency: units for interval (MINUTES or HOURS) at which to take snapshot during specified window:\n * `FIRE_IN_HOURS` - FIRE_IN_HOURS,\n * `FIRE_IN_MINUTES` - FIRE_IN_MINUTES"
              },
              "fire_every": {
                "description": "For HOURLY_OR_LESS frequency: value for interval [1, 99] at which to take snapshot during specified window",
                "type": "number"
              }
            }
          },
          "expiration_time_to_live": {
            "description": "Duration after which to expire snapshots created by this policy, in format <quantity><units>, where <quantity> is a positive integer less than 100 and <units> is one of [months, weeks, days, hours, minutes], e.g. 5days or 1hours. Empty string or never indicates snapshots should never expire.",
            "type": "string"
          }
        }
      }
    },
    "enabled": {
      "description": "Whether snapshot taking is enabled for this policy (defaults to true)",
      "type": "boolean"
    }
  }
}