taler-docs

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

get-config.rst (2928B)


      1 .. http:get:: /config
      2 
      3   Obtain the key configuration settings of the storage service.
      4 
      5   **Request:**
      6 
      7   The request takes no query parameters, headers or body.  The response
      8   is always ``application/json``; unlike ``/authorize`` and ``/solve``,
      9   this endpoint does not perform content negotiation on ``Accept``.
     10 
     11   **Response:**
     12 
     13   :http:statuscode:`200 OK`:
     14     Response is a `ChallengerConfigurationResponse`.
     15     This endpoint has no failure mode of its own: the response is
     16     computed once at startup from the configuration, so no error
     17     code is ever returned.
     18   :http:statuscode:`405 Method Not Allowed`:
     19     The request used a method other than ``GET``, ``HEAD`` or ``OPTIONS``.
     20     Returned by the request router with an ``Allow`` header and an
     21     **empty body**; in particular there is no Taler error code.
     22     ``HEAD`` is handled exactly like ``GET`` but without a response body,
     23     as required by RFC 9110 section 9.3.2; since protocol **v8**.
     24 
     25   .. ts:def:: ChallengerConfigurationResponse
     26 
     27     interface ChallengerConfigurationResponse {
     28       // Name of the service
     29       name: "challenger";
     30 
     31       // libtool-style representation of the Challenger protocol version, see
     32       // https://www.gnu.org/software/libtool/manual/html_node/Versioning.html#Versioning
     33       // The format is "current:revision:age".
     34       version: string;
     35 
     36       // Release version of the source code.
     37       // The format is MAJOR.MINOR.MICOR[-GITDATA]
     38       // and generally follows the "-v" option of the codebase.
     39       // Since **v7**.
     40       build_version: string;
     41 
     42       // URN of the implementation (needed to interpret 'revision' in version).
     43       // @since v0, may become mandatory in the future.
     44      implementation?: string;
     45 
     46       // @since **v2**.
     47       // Object; map of keys (names of the fields of the address
     48       // to be entered by the user) to objects with a "regex" (string)
     49       // containing an extended Posix regular expression for allowed
     50       // address field values, and a "hint"/"hint_i18n" giving a
     51       // human-readable explanation to display if the value entered
     52       // by the user does not match the regex. Keys that are not mapped
     53       // to such an object have no restriction on the value provided by
     54       // the user.  See "ADDRESS_RESTRICTIONS" in the challenger configuration.
     55       restrictions: Object;
     56 
     57       // @since **v6**
     58       // Defines the set of fields asked to the user.
     59       // The field names are registered via GANA at
     60       // https://git.taler.net/gana.git/tree/gnu-taler-form-attributes
     61       // email: CONTACT_EMAIL
     62       // phone: CONTACT_PHONE
     63       // postal: CONTACT_NAME, ADDRESS_LINES, ADDRESS_COUNTRY
     64       // postal-ch: CONTACT_NAME, ADDRESS_LINES
     65       address_type: "email" | "phone" | "postal" | "postal-ch";
     66 
     67       // Hint to show in the address bar for the user as an example for
     68       // the format of the address.
     69       address_hint: string;
     70     }