taler-docs

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

commit e4025cd939aced9de6654a59d15d4a2dd16e7996
parent 1115588a771ce842472ddbdb1ff13ece93237f20
Author: Antoine A <>
Date:   Thu, 15 Jan 2026 19:04:32 +0100

Add new Taler Account Directory API

Diffstat:
Acore/api-bank-account-directory.rst | 85+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mcore/index-bank-apis.rst | 1+
2 files changed, 86 insertions(+), 0 deletions(-)

diff --git a/core/api-bank-account-directory.rst b/core/api-bank-account-directory.rst @@ -0,0 +1,85 @@ +.. + This file is part of GNU TALER. + + Copyright (C) 2026 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 + Foundation; either version 2.1, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License along with + TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> + +=========================== +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. + +.. http:get:: /config + + Return the protocol version and configuration information about the bank. + This specification corresponds to ``current`` protocol being **v1**. + + **Response:** + + :http:statuscode:`200 OK`: + The exchange responds with a `AccountDirectoryConfig` object. This request should + virtually always be successful. + + **Details:** + + .. ts:def:: AccountDirectoryConfig + + interface AccountDirectoryConfig { + // Name of the API. + name: "taler-bank-account-directory"; + + // libtool-style representation of the Bank 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). + implementation: string; + } + +.. http:get:: /search + + Search for user accounts from user query. + + **Request:** + + :query keywords: + Textual search keywords. The fields matched depends on the bank. It can be a name, a login or any other identifier. + + **Response:** + + :http:statuscode:`200 OK`: + Response is a `Accounts`. + :http:statuscode:`204 No content`: + No accounts match this query. + + + **Details:** + + .. ts:def:: Accounts + + interface Accounts { + accounts: Account[]; + } + + .. ts:def:: Account + + interface Account { + // Formatted user information to be displayed. + display: string; + + // Full payto URI of this bank account. + payto_uri: string; + } diff --git a/core/index-bank-apis.rst b/core/index-bank-apis.rst @@ -33,6 +33,7 @@ Bank RESTful APIs api-bank-revenue api-bank-integration api-bank-conversion-info + api-bank-account-directory api-terminal .. toctree::