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.