taler-docs

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

post-private-accounts-H_WIRE-kycauth.rst (2380B)


      1 .. http:post:: [/instances/$INSTANCE]/private/accounts/$H_WIRE/kycauth
      2 
      3   Request from the backend to create wire transfer instructions for
      4   a KYC Auth transfer for a particular bank account and exchange.
      5 
      6   KYC Auth transfers may be required by an exchange when an account is
      7   activated for the first time. Furthermore, obtaining the correct
      8   wire transfer instructions may require getting details from the
      9   exchange and interacting with the banking system to produce a proper
     10   (short) wire transfer subject and a transferrable minimum amount.
     11   Thus, this endpoint should be used to obtain the wire transfer
     12   instructions for a KYC Auth wire transfer when onboarding a new
     13   bank account at an exchange that requires proof of control over the
     14   bank account via a wire transfer.
     15 
     16   Since protocol **v28**.
     17 
     18   **Required permission:** ``accounts-read``
     19 
     20   **Request:**
     21 
     22    The request must provide `exchange information <KycAuthExchangeSelectionRequest>`.
     23 
     24   **Response:**
     25 
     26   :http:statuscode:`200 Ok`:
     27     Wire transfer instructions are returned in the
     28     `response <KycAuthWireTransferInstructionResponse>`.
     29   :http:statuscode:`404 Not found`:
     30     The instance or account are unknown to the exchange.
     31 
     32   **Details:**
     33 
     34   .. ts:def:: KycAuthExchangeSelectionRequest
     35 
     36     interface KycAuthExchangeSelectionRequest {
     37 
     38       // Base URL of the exchange for which KYC Auth wire
     39       // transfer instructions are requested.
     40       exchange_url: string;
     41     }
     42 
     43   .. ts:def:: KycAuthWireTransferInstructionResponse
     44 
     45     interface KycAuthWireTransferInstructionResponse {
     46 
     47       // Array of possible wire transfers to do. There might
     48       // be more than one possibility, for example if the
     49       // exchange supports multiple bank accounts.
     50       wire_instructions: WireTransferInstructionDetail[];
     51 
     52     }
     53 
     54   .. ts:def:: WireTransferInstructionDetail
     55 
     56     interface WireTransferInstructionDetail {
     57 
     58       // Amount to wire (minimum amount, as per ``tiny_amount``
     59       // of the ``/keys`` of the exchange).
     60       amount: Amount;
     61 
     62       // Full payto:// URL of the (exchange) bank account to which the
     63       // money should be sent, excludes the wire subject and the amount.
     64       target_payto: string;
     65 
     66       // Subject to use. See also DD80!
     67       subject: TransferSubject;
     68 
     69       // Expiration date after which this subject might be reused
     70       expiration: Timestamp;
     71 
     72     }