taler-docs

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

commit 0a6d6af74284237f41d6236feba36bd9b843ddb8
parent 6e0c3a3b7e15dd31c627a0106b85e55d13ccf4d5
Author: Christian Grothoff <christian@grothoff.org>
Date:   Sat,  7 Feb 2026 21:29:44 +0100

spec new /exchanges endpoint

Diffstat:
Mcore/api-merchant.rst | 58++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 58 insertions(+), 0 deletions(-)

diff --git a/core/api-merchant.rst b/core/api-merchant.rst @@ -365,6 +365,64 @@ such as the implemented version of the protocol and the currency used. .. include:: tos.rst +------------------- +Exchange Status API +------------------- + +The exchange status API exposes basic information about the exchanges +configured for a merchant backend, in particular the acceptable +currencies, master public keys and the status of the merchant backend's +download of the ``/keys`` from the exchange. This is mostly useful +to diagnose configuration problems. + +.. http:get:: /exchanges + + Return information about exchanges configured for this merchant backend. + @since **v26**. + + **Response:** + + :http:statuscode:`200 OK`: + The body is a `ExchangeStatusResponse`. + + **Details:** + + .. ts:def:: ExchangeStatusResponse + + interface ExchangeStatusResponse { + + exchanges: ExchangeStatusDetail[]; + + } + + .. ts:def:: ExchangeStatusDetail + + interface ExchangeStatusDetail { + + // Base URL of the exchange this is about. + exchange_url: string; + + // Time when the backend will download ``/keys`` next. + next_download: Timestamp; + + // Time when the current ``/keys`` response is expected to + // expire. Missing if we do not have one. + keys_expiration?: Timestamp; + + // HTTP status code returned by the exchange when we asked for + // ``/keys``. 0 if we did not receive an HTTP status code. + // Usually 200 for success. + keys_http_status: Integer; + + // Numeric `error code <error-codes>` indicating an + // error we had processing the ``/keys`` response. + keys_ec: Integer; + + // Human-readable error description matching ``keys_ec``. + keys_hint: string; + + } + --------------- Two Factor Auth ---------------