taler-docs

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

get-monitoring-aml-holds.rst (3337B)


      1 .. http:get:: /monitoring/aml-holds
      2 
      3   Get a list of the wire transfers the exchange aggregated but did not execute.
      4 
      5   The following query parameters are optional, and can be used to customise the response:
      6 
      7   **Request:**
      8 
      9   Pagination follows the :ref:`row-id-pagination` convention.  The non-zero signed
     10   ``limit`` defaults to ``-20``.
     11 
     12   :query limit: Optional non-zero signed number of records; negative values request descending row IDs.
     13   :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin.
     14   :query return_suppressed: A boolean. If true, returns all eligible rows, otherwise only returns eligible rows that are not suppressed. The default value is false.
     15 
     16 
     17   With the default settings, the endpoint returns at most the 20 latest elements that are not suppressed.
     18 
     19   **Response:**
     20 
     21   :http:statuscode:`200 OK`:
     22     The auditor responds with a :ts:type:`AmlHoldResponse` object. Its ``records`` field is empty if no matching elements were found.
     23   :http:statuscode:`400 Bad request`:
     24     The request is malformed. Returned with an
     25     ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code.
     26   :http:statuscode:`401 Unauthorized`:
     27     The request lacks valid authentication credentials.
     28     The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``.
     29   :http:statuscode:`500 Internal Server Error`:
     30     The server experienced an internal error.
     31     The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``,
     32     ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or
     33     ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code.
     34 
     35 
     36 
     37   **Details:**
     38 
     39   .. ts:def:: AmlHoldResponse
     40 
     41     interface AmlHoldResponse {
     42 
     43       records: AmlHold[];
     44 
     45     }
     46 
     47   .. ts:def:: AmlHold
     48 
     49     interface AmlHold {
     50 
     51       // Unique row identifier
     52       row_id : SafeUint64;
     53 
     54       // The wire transfer identifier the deposits were aggregated into.
     55       wtid : HashCode;
     56 
     57       // Hash of the payto:// URI of the account that should be credited.
     58       wire_target_h_payto : HashCode;
     59 
     60       // Full payto:// URI (RFC 8905) of the account that
     61       // should be credited.
     62       account : string;
     63 
     64       // What the exchange still owes on this wire transfer: the
     65       // deposits aggregated into it, minus refunds, minus deposit
     66       // fees. The wire fee is not yet deducted.
     67       amount : Amount;
     68 
     69       // Reason the exchange gave for not making the transfer:
     70       // "KYC" if a legitimization requirement against the recipient
     71       // is still open, "AMOUNT_TOO_SMALL" if the aggregate would not
     72       // cover the wire fee and the exchange is waiting for further
     73       // deposits, "NONE" if the exchange gave no reason at all.
     74       deferral_reason : "KYC" | "AMOUNT_TOO_SMALL" | "NONE";
     75 
     76       // The measure the exchange named as blocking the payout, or 0
     77       // if it named none. Note that the auditor checks whether that
     78       // measure is in fact open and raises a row inconsistency if it
     79       // is not, but still reports the hold as the exchange classified
     80       // it.
     81       legitimization_measure_serial_id : SafeUint64;
     82 
     83       // When the auditor first saw this transfer being withheld.
     84       first_seen : Timestamp;
     85 
     86       // True if this diagnostic was suppressed.
     87       suppressed : boolean;
     88 
     89     }
     90 
     91   .. note::
     92 
     93     This endpoint is still experimental. The endpoint will be further developed as needed.