code: async def prover_get_credential(wallet_handle: int,
                                  cred_id: str) -> str:
      
  
      logger = logging.getLogger(__name__)
      logger.debug("prover_get_credential: >>> wallet_handle: %r, cred_id: %r",
                   wallet_handle,
                   cred_id)
  
      if not hasattr(prover_get_credential, "cb"):
          logger.debug("prover_get_credential: Creating callback")
          prover_get_credential.cb = create_cb(CFUNCTYPE(None, c_int32, c_int32, c_char_p))
  
      c_wallet_handle = c_int32(wallet_handle)
      c_cred_id = c_char_p(cred_id.encode('utf-8'))
  
      credentials_json = await do_call('indy_prover_get_credential',
                                       c_wallet_handle,
                                       c_cred_id,
                                       prover_get_credential.cb)
  
      res = credentials_json.decode()
      logger.debug("prover_get_credential: <<< res: %r", res)
      return res
docs: Gets human readable credential by the given id.
  
      :param wallet_handle: wallet handler (created by open_wallet).
      :param cred_id: Identifier by which requested credential is stored in the wallet
      :return:  credential json
       {
           "referent": string, // cred_id in the wallet
           "attrs": {"key1":"raw_value1", "key2":"raw_value2"},
           "schema_id": string,
           "cred_def_id": string,
           "rev_reg_id": Optional<string>,
           "cred_rev_id": Optional<string>
       }