summaryrefslogtreecommitdiff
path: root/core/api-sync.rst
diff options
context:
space:
mode:
Diffstat (limited to 'core/api-sync.rst')
-rw-r--r--core/api-sync.rst44
1 files changed, 34 insertions, 10 deletions
diff --git a/core/api-sync.rst b/core/api-sync.rst
index a6d65726..c2c86c23 100644
--- a/core/api-sync.rst
+++ b/core/api-sync.rst
@@ -1,6 +1,6 @@
..
This file is part of GNU TALER.
- Copyright (C) 2018, 2019 Taler Systems SA
+ Copyright (C) 2018-2021 Taler Systems SA
TALER is free software; you can redistribute it and/or modify it under the
terms of the GNU Affero General Public License as published by the Free Software
@@ -18,7 +18,7 @@
.. _sync-api:
======================================
-Backup and Synchronization Service API
+Backup and Synchronization RESTful API
======================================
The backup and synchronization service uses an EdDSA key
@@ -102,14 +102,20 @@ over TLS, and that the synchronization service is trusted to not build
user's location profiles by linking client IP addresses and client
keys.
+.. contents:: Table of Contents
+ :local:
---------------------------
-Receiving Terms of Service
---------------------------
-.. http:get:: /terms
+.. include:: tos.rst
- Obtain the terms of service provided by the storage service.
+-----------------------
+Receiving Configuration
+-----------------------
+
+.. http:get:: /config
+
+ Obtain the key configuration settings of the storage service.
+ This specification corresponds to ``current`` protocol being version **2**.
**Response:**
@@ -118,21 +124,35 @@ Receiving Terms of Service
.. ts:def:: SyncTermsOfServiceResponse
interface SyncTermsOfServiceResponse {
+ // Name of the service
+ name: "sync";
+
// Maximum backup size supported.
storage_limit_in_megabytes: number;
// Fee for an account, per year.
annual_fee: Amount;
- // Protocol version supported by the server,
- // for now always "0.0".
+ // Maximum liability of the provider in case of data loss.
+ liability_limit: Amount;
+
+ // libtool-style representation of the Sync protocol version, see
+ // https://www.gnu.org/software/libtool/manual/html_node/Versioning.html#Versioning
+ // The format is "current:revision:age".
version: string;
- }
+ // URN of the implementation (needed to interpret 'revision' in version).
+ // @since v2, may become mandatory in the future.
+ implementation?: string;
+ }
.. _sync:
+----------------------
+Recovering Backup Data
+----------------------
+
.. http:get:: /backups/${ACCOUNT-KEY}
Download latest version of the backup.
@@ -193,6 +213,10 @@ Receiving Terms of Service
signature validation.
+---------------------
+Uploading Backup Data
+---------------------
+
.. http:post:: /backups/${ACCOUNT-KEY}
Upload a new version of the account's database, or download the