commit 0a6d6af74284237f41d6236feba36bd9b843ddb8 parent 6e0c3a3b7e15dd31c627a0106b85e55d13ccf4d5 Author: Christian Grothoff <christian@grothoff.org> Date: Sat, 7 Feb 2026 21:29:44 +0100 spec new /exchanges endpoint Diffstat:
| M | core/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 ---------------