taler-docs

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

get-aml-OFFICER_PUB-accounts.rst (4606B)


      1 .. http:get:: /aml/$OFFICER_PUB/accounts
      2 
      3   **Request:**
      4 
      5   *Accept*:
      6     The client may specify the desired MIME-type for the result.
      7     Supported are the usual "application/json", but also
      8     "text/csv" (RFC 4180)
      9     and "application/vnd.ms-excel" (XML of Excel 2003).
     10 
     11   *Taler-AML-Officer-Signature*:
     12     The client must provide Base-32 encoded EdDSA signature with
     13     ``$OFFICER_PRIV``, affirming the desire to obtain AML data.  Note that
     14     this is merely a simple authentication mechanism, the details of the
     15     request are not protected by the signature.
     16 
     17     This endpoint was introduced in this form in protocol **v31**.
     18 
     19   :query limit:
     20     *Optional*. takes value of the form ``N (-N)``, so that at
     21     most ``N`` values strictly older (younger) than ``start`` are returned.
     22     Defaults to ``-20`` to return the last 20 entries (before ``start``).
     23   :query offset:
     24     *Optional*. Row number threshold, see ``delta`` for its
     25     interpretation.  Defaults to ``INT64_MAX``, namely the biggest row id
     26     possible in the database.
     27   :query investigation:
     28     *Optional*. If set to yes, only return accounts that are under
     29     AML investigation, if no only accounts that are not under investigation.
     30     Do not give (or use "all") to see all accounts regardless of
     31     investigation status.
     32   :query open:
     33     *Optional*. If set to yes, only return accounts that are open,
     34     which means they crossed some initial limit and now have custom rules.
     35     Do not give (or use "all") to see all accounts regardless of
     36     open status.
     37   :query high_risk:
     38     *Optional*. If set to yes, only return accounts that were flagged
     39     as high risk.
     40     Do not give (or use "all") to see all accounts regardless of
     41     risk status.
     42 
     43   **Response:**
     44 
     45   :http:statuscode:`200 OK`:
     46     The response will be an `AmlAccountsResponse` message (if the
     47     client's header "Accept" was "application/json"). Other encodings
     48     may differ in the exact returned data and format.
     49   :http:statuscode:`204 No content`:
     50     There are no accounts at all (within the specified constraints).
     51   :http:statuscode:`403 Forbidden`:
     52     The signature is invalid.
     53   :http:statuscode:`404 Not found`:
     54     The designated AML account is not known.
     55   :http:statuscode:`409 Conflict`:
     56     The designated AML account is not enabled.
     57 
     58   **Details:**
     59 
     60   .. ts:def:: AmlAccountsResponse
     61 
     62     interface AmlAccountsResponse {
     63 
     64       // Array of customer accounts matching the query.
     65       accounts: CustomerAccountSummary[];
     66     }
     67 
     68   .. ts:def:: CustomerAccountSummary
     69 
     70     interface CustomerAccountSummary {
     71 
     72       // Which payto-address is this record about.
     73       // Identifies a GNU Taler wallet or an affected bank account.
     74       h_payto: NormalizedPaytoHash;
     75 
     76       // Full payto URL of the account that the decision is
     77       // about.
     78       full_payto: string;
     79 
     80       // True if the account was assessed as being high risk.
     81       high_risk: boolean;
     82 
     83       // Latest comments about the account (if any).
     84       comments?: string;
     85 
     86       // Row of the account in the exchange tables. Useful to filter
     87       // by offset.
     88       rowid: Integer;
     89 
     90       // When was the account opened? "never" if it was never opened.
     91       open_time: Timestamp;
     92 
     93       // When was the account opened? "never" if it was never closed.
     94       close_time: Timestamp;
     95 
     96       // True if the account is under investigation by AML staff
     97       // after this decision.
     98       to_investigate: boolean;
     99 
    100     }
    101 
    102   .. ts:def:: AccountProperties
    103 
    104     // All fields in this object are optional. The actual
    105     // properties collected depend fully on the discretion
    106     // of the exchange operator;
    107     // however, some common fields are standardized
    108     // and thus described here.
    109     interface AccountProperties {
    110 
    111       // True if this is a politically exposed account.
    112       // Rules for classifying accounts as politically
    113       // exposed are country-dependent.
    114       pep?: boolean;
    115 
    116       // True if this is a sanctioned account.
    117       // Rules for classifying accounts as sanctioned
    118       // are country-dependent.
    119       sanctioned?: boolean;
    120 
    121       // True if this is a high-risk account.
    122       // Rules for classifying accounts as at-risk
    123       // are exchange operator-dependent.
    124       high_risk?: boolean;
    125 
    126       // Business domain of the account owner.
    127       // The list of possible business domains is
    128       // operator- or country-dependent.
    129       business_domain?: string;
    130 
    131       // Is the client's account currently frozen?
    132       is_frozen?: boolean;
    133 
    134       // Was the client's account reported to the authorities?
    135       was_reported?: boolean;
    136 
    137     }