taler-docs

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

get-info-H_MAILBOX.rst (1680B)


      1 .. http:get:: /info/$H_MAILBOX
      2 
      3   Endpoint that returns mailbox metadata including signing and encryption keys for ``$H_MAILBOX``.
      4 
      5   **Response**
      6 
      7   :http:statuscode:`200 Ok`:
      8     Info is returned in a `MailboxMetadata` response,
      9   :http:statuscode:`404 Not Found`:
     10     This mailbox is not registered.
     11   :http:statuscode:`429 Too Many Requests`:
     12     The system is currently experiencing a too high request
     13     load and is unable to accept the message for delivery.
     14     The response format is given by :ref:`MailboxRateLimitedResponse`.
     15 
     16 
     17   **Details:**
     18 
     19   .. _MailboxMetadata:
     20   .. ts:def:: MailboxMetadata
     21 
     22     interface MailboxMetadata {
     23 
     24       // The mailbox signing key.
     25       // Note that ``$H_MAILBOX == H(signing_key)``.
     26       // Note also how this key cannot be updated
     27       // as it identifies the mailbox.
     28       // Base32 crockford-encoded.
     29       signing_key: string;
     30 
     31       // Type of key.
     32       // Currently only
     33       // EdDSA keys are supported.
     34       signing_key_type: "EdDSA";
     35 
     36       // The mailbox encryption key.
     37       // This is a HPKE public key
     38       // Currently, only the X25519 format
     39       // for use in a X25519-DHKEM (RFC 9180)
     40       // is supported.
     41       // Base32 crockford-encoded.
     42       encryption_key: string;
     43 
     44       // Type of key.
     45       // Currently only
     46       // X25519 keys are supported.
     47       encryption_key_type: "X25519";
     48 
     49       // Expiration of this mailbox.
     50       // Unix epoch (seconds)
     51       expiration: Timestamp;
     52 
     53       // Optional info string that can be
     54       // chosen by the mailbox owner.
     55       // This may contain a Keyoxide proof for the mailbox
     56       // in order to link it to the owners profile
     57       info?: string;
     58     }