openapi: "3.1.0" info: title: "Backup / Recovery" description: >- This API allows backup and recovery of ZKAPAuthorizer internal state. version: "1.0.0" paths: /storage-plugins/privatestorageio-zkapauthz-v1/recover: post: description: >- Recover ZKAPAuthorizer state from a previously configured backup. This is only valid when ZKAPAuthorizer has no local state yet. requestBody: content: application/json: schema: $ref: "#/definitions/BackupConfiguration" responses: "500": description: >- Recovery from the backup has failed for some reason. content: application/json: schema: $ref: "#/definitions/ErrorResponse" "404": description: >- Recovery from the backup has failed because the recovery data cannot be retrieved using the given capability. content: application/json: schema: $ref: "#/definitions/ErrorResponse" "200": description: >- Recovery from the backup has succeeded. content: application/json: schema: type: "object" properties: {} /storage-plugins/privatestorageio-zkapauthz-v1/backup: post: description: | Configure ZKAPAuthorizer to maintain an on-grid backup of its state or return the existing configuration details if it has already been configured to do so. responses: 201: description: | A new backup has just been configured. Details about that backup will be returned. content: application/json: schema: $ref: "#/definitions/BackupConfiguration" 200: description: | A backup has already been configured. Details about that backup will be returned. content: application/json: schema: $ref: "#/definitions/BackupConfiguration" definitions: BackupConfiguration: type: "object" properties: recovery-capability: type: "string" description: >- The Tahoe-LAFS read-only capability for the recovery data. This is the capability which can be submitted in order to initiate a recovery from the backup. ErrorResponse: type: "object" properties: details: type: "string" description: >- A free-form text field which may give further details about the failure.