Get desktop application:
View/edit binary Protocol Buffers messages
Service for backup operations that require account authentication. Most actual backup operations operate on the backup-id and cannot be linked to the caller's account, but setting up anonymous credentials and changing backup tier requires account authentication.
After setting a blinded backup-id with PUT /v1/archives/, this fetches credentials that can be used to perform operations against that backup-id. Clients may (and should) request up to 7 days of credentials at a time. The redemption_start and redemption_end seconds must be UTC day aligned, and must not span more than 7 days. Each credential contains a receipt level which indicates the backup level the credential is good for. If the account has paid backup access that expires at some point in the provided redemption window, credentials with redemption times after the expiration may be on a lower backup level. Clients must validate the receipt level on the credential matches a known receipt level before using it.
The redemption time for the first credential. This must be a day-aligned seconds since epoch in UTC.
The redemption time for the last credential. This must be a day-aligned seconds since epoch in UTC. The span between redemptionStart and redemptionEnd must not exceed 7 days.
The requested credentials. If absent, there was no existing blinded backup id associated with the provided account.
Redeem a receipt acquired from /v1/subscription/{subscriberId}/receipt_credentials to mark the account as eligible for the paid backup tier. After successful redemption, subsequent requests to GetBackupAuthCredentials will return credentials with the level on the provided receipt until the expiration time on the receipt.
Presentation for a previously acquired receipt, serialized with libsignal
The receipt was successfully redeemed
The target account does not have a backup-id commitment
The provided receipt presentation was malformed or expired
Set (blinded) backup-id(s) for the account. Each account may have a single active backup-id for each credential type that can be used to store and retrieve backups. Once the backup-id is set, BackupAuthCredentials can be generated using GetBackupAuthCredentials. The blinded backup-id and the key-pair used to blind it must be derived from a recoverable secret. At least one of the credential types must be set on the request. Only the primary device can set a blinded backup-id.
A BackupAuthCredentialRequest containing a blinded encrypted backup-id, encoded in standard padded base64. This backup-id should be used for message backups only, and must have the message backup type set on the credential. If absent, the message credential request will not be updated.
A BackupAuthCredentialRequest containing a blinded encrypted backup-id, encoded in standard padded base64. This backup-id should be used for media only, and must have the media type set on the credential. If absent, the media credential request will not be updated.
(message has no fields)
Service for backup operations with anonymous credentials This service never requires account authentication. It instead requires a backup-id authenticated with an anonymous credential that cannot be linked to the account. To register an anonymous credential: 1. Set a backup-id on the authenticated channel via Backups::SetBackupId 2. Retrieve BackupAuthCredentials via Backups::GetBackupAuthCredentials 3. Generate a key pair and set the public key via BackupsAnonymous::SetPublicKey Unless otherwise noted, requests for this service require a SignedPresentation, which includes: - a presentation generated from a BackupAuthCredential issued by GetBackupAuthCredentials - a signature of that presentation using the private key of a key pair previously set with SetPublicKey.
Copy and re-encrypt media from the attachments cdn into the backup cdn. The original, already encrypted, attachments will be encrypted with the provided key material before being copied. The copy operation is not atomic and responses will be returned as copy operations complete with detailed information about the outcome. If an error is encountered, not all requests may be reflected in the responses. On retries, a particular destination media id must not be reused with a different source media id or different encryption parameters. The response stream may be closed with STREAM_CLOSED error reason. In this case, a BackupStreamClosed message will be present in the error details.
Items to copy
The 15-byte media_id from the corresponding CopyMediaItem in the request
The media item was successfully copied into the backup
The source object was not found
The provided object length was incorrect
All media capacity has been consumed. Free some space to continue.
Delete all backup metadata, objects, and stored public key. To use backups again, a public key must be resupplied.
The backup was successfully scheduled for deletion
The provided backup auth credential presentation could not be authenticated. Either, the presentation could not be verified, or the public key signature was invalid, or there is no backup associated with the backup-id in the presentation.
Delete media objects stored with this backup-id. Streams the locations of media items back when the item has successfully been removed. The response stream may be closed with STREAM_CLOSED error reason. In this case, a BackupStreamClosed message will be present in the error details.
Retrieve credentials used to read objects stored on the backup cdn
Headers to include with requests to the read from the backup CDN. Includes time limited read-only credentials.
The provided backup auth credential presentation could not be authenticated. Either, the presentation could not be verified, or the public key signature was invalid, or there is no backup associated with the backup-id in the presentation.
Retrieve information about the currently stored media backup
The provided backup auth credential presentation could not be authenticated. Either, the presentation could not be verified, or the public key signature was invalid, or there is no backup associated with the backup-id in the presentation.
Retrieve information about the currently stored message backup
The provided backup auth credential presentation could not be authenticated. Either, the presentation could not be verified, or the public key signature was invalid, or there is no backup associated with the backup-id in the presentation.
Retrieve credentials used to interact with the SecureValueRecoveryB service
The provided backup auth credential presentation could not be authenticated. Either, the presentation could not be verified, or the public key signature was invalid, or there is no backup associated with the backup-id in the presentation.
Retrieve an upload form that can be used to perform a resumable upload
Retrieve an upload form that can be used to perform a resumable upload of a message backup. The finished upload will be available on the backup cdn.
Retrieve an upload form for a temporary location that can be used to perform a resumable upload of an attachment. After uploading, the attachment can be copied into the backup via CopyMedia. Behaves identically to the account authenticated version at /attachments.
The length of the attachment for the requested upload form. Uploads performed with this form will be limited to the provided length.
The provided backup auth credential presentation could not be authenticated. Either, the presentation could not be verified, or the public key signature was invalid, or there is no backup associated with the backup-id in the presentation.
The request size was larger than the maximum supported upload size. The maximum upload size is subject to change and is governed by `global.attachments.maxBytes`
Retrieve a page of media objects stored for this backup-id. A client may have previously stored media objects that are no longer referenced in their current backup. To reclaim storage space used by these orphaned objects, perform a list operation and remove any unreferenced media objects via DeleteMedia.
A cursor returned by a previous call to ListMedia, absent on the first call
If provided, the maximum number of entries to return in a page. If absent, a server-chosen default is used.
The provided backup auth credential presentation could not be authenticated. Either, the presentation could not be verified, or the public key signature was invalid, or there is no backup associated with the backup-id in the presentation.
Refresh the backup, indicating that the backup is still active. Clients must periodically upload new backups or perform a refresh. If a backup has not been active for 30 days, it may be deleted.
The backup was successfully refreshed
The provided backup auth credential presentation could not be authenticated. Either, the presentation could not be verified, or the public key signature was invalid, or there is no backup associated with the backup-id in the presentation.
Permanently set the public key of an ED25519 key-pair for the backup-id. All requests (including this one!) must sign their BackupAuthCredential presentations with the private key corresponding to the provided public key.
The public key, serialized in libsignal's elliptic-curve public key format.
The public key was successfully set
The provided backup auth credential presentation could not be authenticated. Either, the presentation could not be verified, or the public key signature was invalid, or there is no backup associated with the backup-id in the presentation. This may also be returned if there was an existing public key and the provided public key did not match.
The reason why a media stream RPC is being prematurely closed by the server.
The provided backup auth credential presentation could not be authenticated. Either, the presentation could not be verified, or the public key signature was invalid, or there is no backup associated with the backup-id in the presentation.
Used in:
The attachment cdn of the object to copy into the backup
The attachment key of the object to copy into the backup
The length of the source attachment before the encryption applied by the copy operation
media_id to copy on to the backup CDN
A 32-byte key for the MAC
A 32-byte encryption key for AES
Used in:
The backup cdn where this media object is stored
Used in:
(message has no fields)
Used in:
(message has no fields)
Used in:
(message has no fields)
Used in: ,
The backup cdn where this media object is stored
The media_id of the object to delete
Used in:
The requested message backup ZkCredentials indexed by the start of their validity period. The smallest key should be for the requested redemption_start, the largest for the requested redemption_end.
The requested media backup ZkCredentials indexed by the start of their validity period. The smallest key should be for the requested redemption_start, the largest for the requested redemption_end.
Used as request type in: BackupsAnonymous.GetMediaBackupInfo, BackupsAnonymous.GetMessageBackupInfo
Used in:
Used in:
The base directory of your backup data on the cdn. Always non-empty, even if no media has been stored to the cdn or the credential is for a tier that does not support media.
The prefix path component for media objects on a cdn. Stored media for a media_id can be found at /backup_dir/media_dir/media_id, where the media_id is encoded in unpadded url-safe base64. Always non-empty, even if no media has been stored to the cdn or the credential is for a tier that does not support media.
The amount of space used to store media
Used in:
The base directory of your backup data on the cdn. Always non-empty, even if a backup has not actually been stored to the cdn. If a backup was previously uploaded and has not expired, it can be found in the returned cdn at /backup_dir/backup_name.
The CDN type where the message backup is stored. Media may be stored elsewhere.
The location of the message backup on the cdn. Always non-empty, even if a backup has not actually been stored to the cdn. If a backup was previously uploaded and has not expired, it can be found in the returned cdn at /backup_dir/backup_name.
Used in:
A username that can be presented to authenticate with SVRB
A password that can be presented to authenticate with SVRB
Used in:
(message has no fields)
Used in:
(message has no fields)
Used in:
The backup cdn where this media object is stored
The media_id of the object
The length of the object in bytes
Used in:
A page of media objects stored for this backup ID
The base directory of the backup data on the cdn. The stored media can be found at /backup_dir/media_dir/media_id, where the media_id is encoded with unpadded url-safe base64.
The prefix path component for the media objects. The stored media for media_id can be found at /backup_dir/media_dir/media_id, where the media_id is encoded with unpadded url-safe base64.
If set, the cursor value to pass to the next list request to continue listing. If absent, all objects have been listed
Used in: , , , , , , , , ,
Presentation of a BackupAuthCredential previously retrieved from GetBackupAuthCredentials on the authenticated channel
The presentation signed with the private key corresponding to the public key set with SetPublicKey