taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

commit 63b675a7f1f55b1d31618ff668e28ea5e4d30a71
parent 5875b7ec4b95bf8ee769739f6ac99b69dfe5345f
Author: Christian Grothoff <christian@grothoff.org>
Date:   Fri, 27 Feb 2026 22:22:43 +0100

add version documentation for each API (#9441)

Diffstat:
Mcore/api-auditor.rst | 22++++++++++++++++++++++
Mcore/api-bank-account-directory.rst | 22+++++++++++++++++++++-
Mcore/api-bank-conversion-info.rst | 33+++++++++++++++++++++++++++------
Mcore/api-bank-integration.rst | 24+++++++++++++++++++++++-
Mcore/api-bank-revenue.rst | 23++++++++++++++++++++++-
Mcore/api-challenger.rst | 23++++++++++++++++++++++-
Mcore/api-corebank.rst | 19+++++++++++++++----
Mcore/api-donau.rst | 25+++++++++++++++++++++++++
Mcore/api-ebisync.rst | 18+++++++++++++++++-
Mcore/api-exchange.rst | 33+++++++++++++++++++++++++++++----
Mcore/api-mailbox.rst | 25+++++++++++++++++++++++--
Mcore/api-merchant.rst | 12++++++++++--
Mcore/api-observability.rst | 22+++++++++++++++++++++-
Mcore/api-sync.rst | 24++++++++++++++++++++++--
Mcore/api-taldir.rst | 24++++++++++++++++++++++++
Mcore/api-terminal.rst | 24++++++++++++++++++++++++
Mcore/auditor/get-config.rst | 1-
Mcore/exchange/get-config.rst | 1-
18 files changed, 347 insertions(+), 28 deletions(-)

diff --git a/core/api-auditor.rst b/core/api-auditor.rst @@ -24,6 +24,28 @@ for all details not specified in the individual requests. The `glossary <https://docs.taler.net/taler-developer-manual.html#developer-glossary>`_ defines all specific terms used in this section. + +--------------- +Version History +--------------- + +The current protocol version is **v2**. + +* The auditor SPA currently targeting protocol version **v1**. + +**Version history:** + +* ``v2``: Adds a few additional GET endpoints to expose more auditor data + +**Upcoming versions:** + +* none anticipated + +**Ideas for future version:** + +* ``vXXX``: marker for features not yet targeted for release + + .. _authentication: -------------- diff --git a/core/api-bank-account-directory.rst b/core/api-bank-account-directory.rst @@ -20,10 +20,30 @@ Taler Account Directory API This chapter describes the account discovery API that wallets or other clients can use to help the user find their payto URI. +--------------- +Version History +--------------- + +The current protocol version is **v1**. + +* Nothing depends on the bank account directory API at this point. + +**Version history:** + +* ``v1``: Initial version. + +**Upcoming versions:** + +* None anticipated. + +**Ideas for future version:** + +* ``vXXX``: marker for features not yet targeted for release + + .. http:get:: /config Return the protocol version and configuration information about the bank. - This specification corresponds to ``current`` protocol being **v1**. **Response:** diff --git a/core/api-bank-conversion-info.rst b/core/api-bank-conversion-info.rst @@ -26,10 +26,27 @@ This chapter describes the conversion info API. The conversion info API is used by wallets for withdrawals that involve a currency conversion. +The current protocol version is **v2**. + +* The wallet-core is currently targeting protocol version **v2**. + +**Version history:** + +* ``v2``: adds ``/rate`` endpoint + +**Upcoming versions:** + +* None anticipated. + +**Ideas for future version:** + +* ``vXXX``: marker for features not yet targeted for release + + + .. http:get:: /config Return the protocol version and configuration information about the bank. - This specification corresponds to ``current`` protocol being **v2**. **Response:** @@ -67,8 +84,8 @@ is used by wallets for withdrawals that involve a currency conversion. // How the bank SPA should render this currency. fiat_currency_specification: CurrencySpecification; - // Global exchange rate between the regional currency and the fiat - // currency of the banking system. Use /rate to get the user specific + // Global exchange rate between the regional currency and the fiat + // currency of the banking system. Use /rate to get the user specific // rate. conversion_rate: ConversionRate; } @@ -78,9 +95,9 @@ is used by wallets for withdrawals that involve a currency conversion. Since protocol **v2**. This public endpoint allows clients to get the currenlty applied change rate between the regional currency and the fiat currency of the banking system for this exchange account. - Those informations should never be used to perform conversions use /cashin-rate and /cashout-rate instead. - Conversion rates can change at any time. Clients must deal with any resulting errors and call /cashin-rate or /cashout-rate again to use the new rates. - If cashin_ratio is zero, this means the account cannot cashin, and if cash_out ratio is zero, this means the account cannot cashout. + Those informations should never be used to perform conversions use ``/cashin-rate`` and ``/cashout-rate`` instead. + Conversion rates can change at any time. Clients must deal with any resulting errors and call ``/cashin-rate`` or ``/cashout-rate`` again to use the new rates. + If ``cashin_ratio`` is zero, this means the account cannot cashin, and if ``cash_out`` ratio is zero, this means the account cannot cashout. **Response:** @@ -89,6 +106,8 @@ is used by wallets for withdrawals that involve a currency conversion. :http:statuscode:`501 Not implemented`: This server does not support conversion. +.. _cashin-rates: + .. http:get:: /cashin-rate This public endpoint allows clients to calculate @@ -140,6 +159,8 @@ is used by wallets for withdrawals that involve a currency conversion. amount_credit: Amount; } +.. _cashout-rates: + .. http:get:: /cashout-rate This public endpoint allows clients to calculate diff --git a/core/api-bank-integration.rst b/core/api-bank-integration.rst @@ -24,10 +24,32 @@ Taler Bank Integration API This chapter describe the APIs that banks need to offer towards Taler wallets to tightly integrate with GNU Taler. + +--------------- +Version History +--------------- + +The current protocol version is **v5**. + +* The wallet-core is currently targeting protocol version **v4**. + +**Version history:** + +* ``v5``: adds ``no_amount_to_wallet`` flag to the WOPID status + +**Upcoming versions:** + +* ``vSHORT``: support for short wire transfer subjects? +* ``vPERIODIC``: support for periodic wire transfers? + +**Ideas for future version:** + +* ``vXXX``: marker for features not yet targeted for release + + .. http:get:: /config Return the protocol version and configuration information about the bank. - This specification corresponds to ``current`` protocol being **v5**. **Response:** diff --git a/core/api-bank-revenue.rst b/core/api-bank-revenue.rst @@ -22,10 +22,31 @@ Taler Bank Revenue HTTP API This section describes an API offered by libeufin-nexus and libeufin-bank. The API is used by the merchant (or other parties) to query for incoming transactions to their account. + +--------------- +Version History +--------------- + +The current protocol version is **v1**. + +* The merchant is currently targeting protocol version **v1**. + +**Version history:** + +* ``v1``: pagination API consistency fixes + +**Upcoming versions:** + +* None anticipated. + +**Ideas for future version:** + +* ``vXXX``: marker for features not yet targeted for release + + .. http:get:: /config Return the protocol version and configuration information about the bank. - This specification corresponds to ``current`` protocol being version **1**. **Response:** diff --git a/core/api-challenger.rst b/core/api-challenger.rst @@ -84,6 +84,28 @@ verified address of the user. .. contents:: Table of Contents :local: + +--------------- +Version History +--------------- + +The current protocol version is **v6**. + +* The Challenger SPA is currently targeting **v6**. + +**Version history:** + +* ``v6``: add the ``address_type`` field to ``/config`` + +**Upcoming versions:** + +* None anticipated. + +**Ideas for future version:** + +* ``vXXX``: marker for features not yet targeted for release + + .. include:: tos.rst .. _challenger-config: @@ -95,7 +117,6 @@ Receiving Configuration .. http:get:: /config Obtain the key configuration settings of the storage service. - This specification corresponds to ``current`` protocol being version **v6**. **Response:** diff --git a/core/api-corebank.rst b/core/api-corebank.rst @@ -31,14 +31,25 @@ it provides features for local/regional currencies. Version History --------------- -The current protocol version is ``v11``. +The current protocol version is **v11**. -Android cashier app is currently targeting ``v9``. +* Android cashier app is currently targeting **v9**. **Version history:** -* ``v11``: Add observability API * ``v10``: Update two factor authentication API to match Merchant Backend API +* ``v11``: Add observability API + +**Upcoming versions:** + +* None anticipated. + +**Ideas for future version:** + +* ``vXXX``: marker for features not yet targeted for release + + + Config ------ @@ -1689,7 +1700,7 @@ Requesting challenges Solving challenges ^^^^^^^^^^^^^^^^^^ - + .. http:post:: /accounts/$USERNAME/challenge/$CHALLENGE_ID/confirm Solves the ``CHALLENGE_ID`` challenge and allows performing the protected operation. diff --git a/core/api-donau.rst b/core/api-donau.rst @@ -31,6 +31,8 @@ defines all specific terms used in this section. .. _donau-overview: + + ------------ API Overview ------------ @@ -48,6 +50,29 @@ The chapters group the families of requests frequently encountered when using th * For use by administrators to add/modify a charity * For use by charities to get their remaining donation volume + +--------------- +Version History +--------------- + +The current protocol version is **v0**. + +* The merchant is currently targeting protocol version **v0**. +* The donau validator app is currently targeting protocol version **v0**. + +**Version history:** + +* ``v0``: This is the first implementation. + +**Upcoming versions:** + +* none anticipated + +**Ideas for future version:** + +* ``vXXX``: marker for features not yet targeted for release + + .. include:: tos.rst .. _donau_status: diff --git a/core/api-ebisync.rst b/core/api-ebisync.rst @@ -24,7 +24,23 @@ Taler EbiSync RESTful API Version History --------------- -The current protocol version is ``v0``. +The current protocol version is **v0**. + +* Nothing depends on the ebisync API at this point. + +**Version history:** + +* ``v0``: Initial version. + +**Upcoming versions:** + +* None anticipated. + +**Ideas for future version:** + +* ``vXXX``: marker for features not yet targeted for release + + Introduction ------------ diff --git a/core/api-exchange.rst b/core/api-exchange.rst @@ -25,6 +25,35 @@ for all details not specified in the individual requests. The `glossary <https://docs.taler.net/taler-developer-manual.html#developer-glossary>`_ defines all specific terms used in this section. + +--------------- +Version History +--------------- + +The current protocol version is **v32**. + +* The merchant is currently targeting **v32**. +* The AML SPA is currently targeting **v31**. +* The KYC SPA is currently targeting **v30**. + +**Version history:** + +* ``v29``: AML reporting on KYC auth transfers +* ``v30``: various minor feature additions +* ``v31``: improvements for AML reporting +* ``v32``: support for extra_wire_subject_metadata + +**Upcoming versions:** + +* ``vRECOUP``: improved recoup protocol +* ``vATTEST``: KYC attestation support + +**Ideas for future version:** + +* ``vXXX``: marker for features not yet targeted for release + + + .. include:: tos.rst .. _keys: @@ -46,15 +75,11 @@ possibly by using HTTPS. .. include:: exchange/get-seed.rst - .. include:: exchange/get-config.rst - .. include:: exchange/get-keys.rst - - ---------------------------------------------- Management operations authorized by master key ---------------------------------------------- diff --git a/core/api-mailbox.rst b/core/api-mailbox.rst @@ -36,6 +36,29 @@ for all details not specified in the individual requests. The `glossary <https://docs.taler.net/taler-developer-manual.html#developer-glossary>`_ defines all specific terms used in this section. + + +--------------- +Version History +--------------- + +The current protocol version is **v0**. + +* Nothing depends on the mailbox API at this point. + +**Version history:** + +* ``v0``: Initial version. + +**Upcoming versions:** + +* None anticipated. + +**Ideas for future version:** + +* ``vXXX``: marker for features not yet targeted for release + + .. include:: tos.rst ------------------------- @@ -366,5 +389,3 @@ Receiving messages head of the mailbox, or ``count`` is larger than the number of messages currently in the mailbox. This response comes with a standard `ErrorDetail` response. - - diff --git a/core/api-merchant.rst b/core/api-merchant.rst @@ -29,9 +29,16 @@ Merchant Backend RESTful API Version History --------------- -The current protocol version is **v26**. +The current protocol version is **v27**. -Android PoS app is currently targeting **v20**. +* The Android PoS app is currently targeting **v20**. +* The SPA is currently targeting **vXX**. +* taler-mdb is currently targeting **v27**. +* anastasis is currently targeting **v27**. +* taler-woocommerce is currently targeting **vXX**. +* taler-drupal-turnstile is currently targeting **vXX**. +* taler-drupal-commerce is currently targeting **vXX**. +* paivana is currently targeting **vXX**. **Version history:** @@ -45,6 +52,7 @@ Android PoS app is currently targeting **v20**. new long-polling for KYC and features for templates to support session-based payments * ``v26``: adds unclaim endpoint, enhanced settlement reporting +* ``v27``: adds various fields to a few endpoints **Upcoming versions:** diff --git a/core/api-observability.rst b/core/api-observability.rst @@ -28,13 +28,33 @@ Introduction This section describes the API offered by many Taler components. The API is used to track the internal state of a Taler component. +--------------- +Version History +--------------- + +The current protocol version is **v0**. + +* This API is to be used by Prometheus and other external tools. + +**Version history:** + +* ``v0``: Initial version. + +**Upcoming versions:** + +* None anticipated. + +**Ideas for future version:** + +* ``vXXX``: marker for features not yet targeted for release + + Config ------ .. http:get:: /config Return the protocol version and configuration information about the bank. - This specification corresponds to ``current`` protocol being version **v0**. **Response:** diff --git a/core/api-sync.rst b/core/api-sync.rst @@ -106,6 +106,27 @@ keys. :local: +--------------- +Version History +--------------- + +The current protocol version is **v2**. + +* No components use Sync at this point, so there are no dependencies. + +**Version history:** + +* ``v2``: add the ``implementation`` field to ``/config`` + +**Upcoming versions:** + +* ``vBLOBS``: changes for blob backups +* ``vBACKUP``: changes for incremental backups + +**Ideas for future version:** + +* ``vXXX``: marker for features not yet targeted for release + .. include:: tos.rst ----------------------- @@ -115,7 +136,6 @@ Receiving Configuration .. http:get:: /config Obtain the key configuration settings of the storage service. - This specification corresponds to ``current`` protocol being version **2**. **Response:** @@ -142,7 +162,7 @@ Receiving Configuration version: string; // URN of the implementation (needed to interpret 'revision' in version). - // @since v2, may become mandatory in the future. + // @since **v2**, may become mandatory in the future. implementation?: string; } diff --git a/core/api-taldir.rst b/core/api-taldir.rst @@ -38,6 +38,30 @@ for all details not specified in the individual requests. The `glossary <https://docs.taler.net/taler-developer-manual.html#developer-glossary>`_ defines all specific terms used in this section. + + +--------------- +Version History +--------------- + +The current protocol version is **v0**. + +* Nothing depends on the mailbox API at this point. + +**Version history:** + +* ``v0``: Initial version. + +**Upcoming versions:** + +* None anticipated. + +**Ideas for future version:** + +* ``vXXX``: marker for features not yet targeted for release + + + .. include:: tos.rst diff --git a/core/api-terminal.rst b/core/api-terminal.rst @@ -37,6 +37,30 @@ Implementations of this API typically interact with a terminal-specific payment service (or a bank) to realize the service. +--------------- +Version History +--------------- + +The current protocol version is **v0**. + +* cash2ecash is currently targeting protocol version **v0**. +* cashless2ecash is currently targeting protocol version **v0**. + +**Version history:** + +* ``v0``: Initial version. + +**Upcoming versions:** + +* None anticipated. + +**Ideas for future version:** + +* ``vXXX``: marker for features not yet targeted for release + + + + Authentication -------------- diff --git a/core/auditor/get-config.rst b/core/auditor/get-config.rst @@ -1,7 +1,6 @@ .. http:get:: /config Get the protocol version and some meta data about the auditor. - This specification corresponds to ``current`` protocol being version **v2**. **Response:** diff --git a/core/exchange/get-config.rst b/core/exchange/get-config.rst @@ -4,7 +4,6 @@ as well as the list of possible KYC requirements. This endpoint is largely for the SPA for AML officers. Merchants should use ``/keys`` which also contains the protocol version and currency. - This specification corresponds to ``current`` protocol being **v32**. **Response:**