developers.refinitiv.com Open in urlscan Pro
2600:9000:2120:3200:19:f220:7800:93a1  Public Scan

Submitted URL: https://app.communications.lseg.com/e/er?utm_source=Eloqua&utm_medium=email&utm_campaign=759767_DeveloperCommunityNewsletter&utm_con...
Effective URL: https://developers.refinitiv.com/en/video-catalog/30-minutes-to-create-rto-consumer-application-ema-java-Version-2-Authentication...
Submission: On April 28 via api from CH — Scanned from CA

Form analysis 3 forms found in the DOM

<form id="ftlContainer" data-form-reason="developer portal submit ftl details" novalidate="novalidate">
  <div class="tr-Grid tr-Grid--even2">
    <div class="tr-Grid-items">
      <div class="tr-Grid-item">
        <style>
          .hidden {
            display: none;
          }
        </style>
        <div class="tr-VerticalSpacing tr-VerticalSpacing--m" id="screenNameWrapper">
          <div class="tr-VerticalSpacing tr-VerticalSpacing--m">
            <div class="tr-FormTextControl">
              <label class="tr-FormTextControl-label" for="screenName">
                <span class="tr-FormTextControl-labelText">Screen name</span>
                <input class="tr-FormTextControl-input" title="" id="screenName" name="screenName" type="text" placeholder="E.g - Jack" autocomplete="off">
              </label>
              <span id="screenNameerrortext" class="hidden" style="color:red;"></span>
            </div>
          </div>
        </div>
        <script>
        </script>
        <style>
          .hidden {
            display: none;
          }
        </style>
        <div class="tr-VerticalSpacing tr-VerticalSpacing--m" id="companyNameWrapper">
          <div class="tr-VerticalSpacing tr-VerticalSpacing--m">
            <div class="tr-FormTextControl">
              <label class="tr-FormTextControl-label" for="companyName">
                <span class="tr-FormTextControl-labelText">Company name</span>
                <input class="tr-FormTextControl-input" title="" id="companyName" name="companyName" type="text" placeholder="E.g - Refinitiv" autocomplete="off">
              </label>
              <span id="companyNameerrortext" class="hidden" style="color:red;"></span>
            </div>
          </div>
        </div>
        <script>
        </script>
        <style>
          .hidden {
            display: none;
          }
        </style>
        <div class="tr-VerticalSpacing tr-VerticalSpacing--m" id="spokenLangWrapper">
          <div class="tr-VerticalSpacing tr-VerticalSpacing--m">
            <div class="tr-FormTextControl">
              <label class="tr-FormTextControl-label" for="spokenLang">
                <span class="tr-FormTextControl-labelText">Spoken language(s) (Optional)</span>
                <input class="tr-FormTextControl-input" title="" id="spokenLang" name="spokenLang" type="text" placeholder="Separate multiple values with commas" autocomplete="off">
              </label>
              <span id="spokenLangerrortext" class="hidden" style="color:red;"></span>
            </div>
          </div>
        </div>
        <script>
        </script>
        <style>
          .hidden {
            display: none;
          }
        </style>
        <div class="tr-VerticalSpacing tr-VerticalSpacing--m" id="progLangWrapper">
          <div class="tr-VerticalSpacing tr-VerticalSpacing--m">
            <div class="tr-FormTextControl">
              <label class="tr-FormTextControl-label" for="progLang">
                <span class="tr-FormTextControl-labelText">Programming language(s) (Optional)</span>
                <input class="tr-FormTextControl-input" title="" id="progLang" name="progLang" type="text" placeholder="Separate multiple values with commas" autocomplete="off">
              </label>
              <span id="progLangerrortext" class="hidden" style="color:red;"></span>
            </div>
          </div>
        </div>
        <script>
        </script>
        <div class="tr-VerticalSpacing tr-VerticalSpacing--m" id="checkbox1Label">
          <div class="tr-VerticalSpacing tr-VerticalSpacing--m">
            <div class="tr-FormTextControl tr-new-checkbox">
              <label class="tr-FormTextControl-label" for="check1">
                <input type="checkbox" id="check1" name="check1">
                <span class="ui-checkbox__bg"></span>
                <span>Share my full name, country and languages with other developers <a target="_blank"></a>
                </span>
              </label>
              <label id="check1-error" class="error" for="check1"></label>
            </div>
          </div>
        </div>
        <div class="tr-VerticalSpacing tr-VerticalSpacing--m" id="checkbox2Label">
          <div class="tr-VerticalSpacing tr-VerticalSpacing--m">
            <div class="tr-FormTextControl tr-new-checkbox">
              <label class="tr-FormTextControl-label" for="check2">
                <input type="checkbox" id="check2" name="check2">
                <span class="ui-checkbox__bg"></span>
                <span>Share the company I work for and my email address with other developers <a target="_blank"></a>
                </span>
              </label>
              <label id="check2-error" class="error" for="check2"></label>
            </div>
          </div>
        </div>
        <div class="tr-VerticalSpacing tr-VerticalSpacing--m" id="checkbox3Label">
          <div class="tr-VerticalSpacing tr-VerticalSpacing--m">
            <div class="tr-FormTextControl tr-new-checkbox">
              <label class="tr-FormTextControl-label" for="check3">
                <input type="checkbox" id="check3" name="check3">
                <span class="ui-checkbox__bg"></span>
                <span>I agree to <a href="/en/terms-of-use" target="_blank"> terms &amp; conditions</a>
                  <h>
                    <h> and </h><a href="https://www.refinitiv.com/en/policies/privacy-statement" target="_blank">privacy policy</a>
                  </h>
                </span>
              </label>
              <label id="check3-error" class="error" for="check3"></label>
            </div>
          </div>
        </div>
        <div class="tr-VerticalSpacing tr-VerticalSpacing--m" id="checkbox4Label">
          <div class="tr-VerticalSpacing tr-VerticalSpacing--m">
            <div class="tr-FormTextControl tr-new-checkbox">
              <label class="tr-FormTextControl-label" for="check4">
                <input type="checkbox" id="check4" name="check4">
                <span class="ui-checkbox__bg"></span>
                <span>Send me communications about Financial &amp; Risk resources, including products or services. <a href="/en/testpagetermandcondition" target="_blank"></a>
                </span>
              </label>
              <label id="check4-error" class="error" for="check4"></label>
            </div>
          </div>
        </div>
        <div class="tr-VerticalSpacing tr-VerticalSpacing--m">
          <div class="tr-Grid tr-Grid--even2">
            <div class="tr-Grid-items">
              <div class="tr-Grid-item sr-backButtonArea">
                <a class="tr-Anchor tr-Link tr-Link--iconLeft tr-Link--withIcon tr-Link--inline tr-Hidden">
                    <span class="tr-Link-icon">
                      <span class="tr-Svg">
                        <span class="tr-Svg-inner">
                          <svg aria-hidden="true" viewBox="0 0 24 24">
                            <g class="nc-icon-wrapper" fill="none" stroke="currentColor" stroke-width="2">
                              <path d="M22 12H2"></path>
                              <path d="M9 19l-7-7 7-7" stroke-linecap="square"></path>
                            </g>
                          </svg>
                        </span>
                      </span>
                    </span>
                    <span class="tr-Link-inner">Back</span>
                </a>
              </div>
              <div class="tr-Grid-item ">
                <button id="submitBtn" class="tr-Anchor tr-Button tr-Button--primary" type="submit">
                  <span class="tr-Button-body">Complete profile</span>
                </button>
              </div>
            </div>
          </div>
        </div>
        <input type="hidden" value="00018RA_DeveloperPortal_Inbound" name="elqFormName">
        <input type="hidden" value="530566577" name="elqSiteId">
        <input type="hidden" value="1111" name="elqCampaignId">
        <input type="hidden">
        <input type="hidden" value="0" name="hiddenField">
        <input type="hidden" value="LeadSourceMostRecent" name="LeadSource-MostRecent">
        <input type="hidden" value="secondaryleadsource" name="secondary_lead_source">
        <input type="hidden" value="DetailleadSourcedetailmostrecent" name="Detail-LeadSourceDetail-MostRecent">
        <input type="hidden" value="utm_campaign" name="utm_campaign">
        <input type="hidden" value="utm_source" name="utm_source">
        <input type="hidden" value="utm_medium" name="utm_medium">
        <input type="hidden" value="utm_content" name="utm_content">
        <input type="hidden">
        <input type="hidden" value="utm_term" name="utm_term">
        <input type="hidden" value="source_URL" name="source_URL">
        <input type="hidden" value="hiddenCampaignId" name="hiddenCampaignId">
      </div>
      <div class="tr-Grid-item">
      </div>
    </div>
  </div>
  <div>
    <style>
      .hidden {
        display: none;
      }
    </style>
    <p class="hidden" id="constraintsAsString">{"messages":{"companyName":{"trengtext":"Please enter the company name in correct format","required":"Please enter the company name"},"screenName":{"answerHubScreenName":"Please enter the name in correct
      format","required":"Please enter your screen name "}},"rules":{"companyName":{"trengtext":true,"required":true},"screenName":{"answerHubScreenName":true,"required":true}}}</p>
    <script>
      var country;
      $.validator.addMethod('trtext', function(value, element) {
        return this.optional(element) || value.match(new RegExp('^[A-Za-z]+$'));
      }, 'only Strings are allowed');
      $.validator.addMethod('tremail', function(value, element) {
        return this.optional(element) || value.match(new RegExp('[a-zA-Z0-9_.-\.]+@[a-zA-Z0-9\-\_\.]+\.[a-zA-Z0-9]{2,4}$'));
      }, 'Please specify the correct domain for your documents');
      $.validator.addMethod('accountno', function(value, element) {
        return this.optional(element) || value.match(new RegExp('[A](-)([0-9]{8})$'));
      }, 'Please enter 8 digit customer number (A-xxxxxxxx)');
      $.validator.addMethod('requestId', function(value, element) {
        return this.optional(element) || value.match(new RegExp('^$|^[0][0-9]{7}$'));
      }, 'Please enter correct requestId');
      $.validator.addMethod('trinternaluser', function(value, element) {
        return this.optional(element) || value.match(new RegExp('[a-zA-Z0-9_.-\.]+@(?!thomson.com|reuters.com|thomsonreuters.com|refinitiv.com|tr.com)[a-zA-Z0-9\-\_\.]+\.[a-zA-Z0-9]{2,4}$'));
      }, 'Please enter a valid customer email address');
      $.validator.addMethod('trphone', function(value, element) {
        return this.optional(element) || value.match(new RegExp('(^\\+)((\\s*[0-9]\\s*){8,})(\\s*(x|X?)\\s*)((\\s*[0-9]\\s*)*\\d$)$'));
      }, 'Please enter correct phone number');
      $.validator.addMethod('phone', function(value, element) {
        return this.optional(element) || value.match(new RegExp('(^\\+)((\\s*[()-]?[0-9]\\s*[()-]?){9,20})$'));
      }, 'Please enter correct phone number');
      $.validator.addMethod('trengtext', function(value, element) {
        return this.optional(element) || value.match(new RegExp('^[a-zA-Z0-9-@#$%^&amp; *!_s]*$'));
      }, 'Chinize characters are not allowed');
      $.validator.addMethod('trregtext', function(value, element) {
        return this.optional(element) || value.match(new RegExp('^[a-zA-Z0-9-., \']*$'));
      }, 'Only alphabets numbers or characters');
      $.validator.addMethod('reftextarea', function(value, element) {
        return this.optional(element) || value.match(new RegExp('[a-zA-Z0-9][\\sa-zA-Z0-9]'));
      }, 'Spaces not allowed');
      $.validator.addMethod('marketingemail', function(value, element) {
        return this.optional(element) || value.match(new RegExp('^[+a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$'));
      }, 'Please specify the correct domain for your documents');
      $.validator.addMethod('answerHubScreenName', function(value, element) {
        return this.optional(element) || value.match(new RegExp('^[\\w\\.\\-\\@\\+\\s]+$'));
      }, 'Please enter the name in correct format');
      $(document).ready(function() {});
    </script>
  </div>
</form>

<form id="Feedback-Modal" novalidate="novalidate">
  <h1>Feedback</h1>
  <style>
    .hidden {
      display: none;
    }
  </style>
  <div class="tr-VerticalSpacing tr-VerticalSpacing--m" id="feedbackfirstnameWrapper">
    <div class="tr-VerticalSpacing tr-VerticalSpacing--m">
      <div class="tr-FormTextControl">
        <label class="tr-FormTextControl-label" for="feedbackfirstname">
          <span class="tr-FormTextControl-labelText">First name</span>
          <input class="tr-FormTextControl-input" title="" id="feedbackfirstname" name="feedbackfirstname" type="text" autocomplete="off">
        </label>
        <span id="feedbackfirstnameerrortext" class="hidden" style="color:red;"></span>
      </div>
    </div>
  </div>
  <script>
  </script>
  <style>
    .hidden {
      display: none;
    }
  </style>
  <div class="tr-VerticalSpacing tr-VerticalSpacing--m" id="feedbacklastnameWrapper">
    <div class="tr-VerticalSpacing tr-VerticalSpacing--m">
      <div class="tr-FormTextControl">
        <label class="tr-FormTextControl-label" for="feedbacklastname">
          <span class="tr-FormTextControl-labelText">Last name</span>
          <input class="tr-FormTextControl-input" title="" id="feedbacklastname" name="feedbacklastname" type="text" autocomplete="off">
        </label>
        <span id="feedbacklastnameerrortext" class="hidden" style="color:red;"></span>
      </div>
    </div>
  </div>
  <script>
  </script>
  <style>
    .hidden {
      display: none;
    }
  </style>
  <div class="tr-VerticalSpacing tr-VerticalSpacing--m" id="feedbackemailWrapper">
    <div class="tr-VerticalSpacing tr-VerticalSpacing--m">
      <div class="tr-FormTextControl">
        <label class="tr-FormTextControl-label" for="feedbackemail">
          <span class="tr-FormTextControl-labelText">Email address</span>
          <input class="tr-FormTextControl-input" title="" id="feedbackemail" name="feedbackemail" type="email" autocomplete="off">
        </label>
        <span id="feedbackemailerrortext" class="hidden" style="color:red;"></span>
      </div>
    </div>
  </div>
  <script>
  </script>
  <div class="tr-VerticalSpacing tr-VerticalSpacing--m " id="feedbacktypeWrapper">
    <div class="tr-FormSelectControl">
      <label class="tr-FormSelectControl-label sr-FormSelectControl--labelWithIcon" for="feedbacktype">
        <span class="tr-FormSelectControl-labelText">
          <span>Feedback type</span>
        </span>
        <span class="tr-FormSelectControl-input">
          <select id="feedbacktype" class="tr-FormSelectControl-select" name="feedbacktype">
            <option value="generalFeedback" class="tr-FormSelectControl-option">General Feedback About This Site</option>
            <option value="reportProblem" class="tr-FormSelectControl-option">Report a Problem With This Site</option>
          </select>
          <span class="tr-FormSelectControl-arrow">
            <span class="tr-Svg" style="width: 1.5rem">
              <span class="tr-Svg-inner">
                <svg aria-hidden="true" viewBox="0 0 24 24">
                  <path d="M16 10l-4 4-4-4" fill="none" stroke="currentColor" stroke-linecap="square" stroke-width="2"></path>
                </svg>
              </span>
            </span>
          </span>
        </span>
      </label>
      <label id="feedbacktype-error" class="error" for="feedbacktype"></label>
    </div>
  </div>
  <script>
    var reqField = "";
    var fieldId = "feedbacktype";
    if (reqField) {
      $('#' + fieldId).prop('required', true);
    }
  </script>
  <div class="tr-VerticalSpacing tr-VerticalSpacing--m " id="problemtypeWrapper">
    <div class="tr-FormSelectControl">
      <label class="tr-FormSelectControl-label sr-FormSelectControl--labelWithIcon" for="problemtype">
        <span class="tr-FormSelectControl-labelText">
          <span>Problem Type</span>
        </span>
        <span class="tr-FormSelectControl-input">
          <select id="problemtype" class="tr-FormSelectControl-select" name="problemtype">
            <option value="brokenlink" class="tr-FormSelectControl-option">Broken Link</option>
            <option value="imagesnotdisplaying" class="tr-FormSelectControl-option">Images not displaying</option>
            <option value="pagesnotdisplaying" class="tr-FormSelectControl-option">Pages not displaying</option>
            <option value="other" class="tr-FormSelectControl-option">Other</option>
          </select>
          <span class="tr-FormSelectControl-arrow">
            <span class="tr-Svg" style="width: 1.5rem">
              <span class="tr-Svg-inner">
                <svg aria-hidden="true" viewBox="0 0 24 24">
                  <path d="M16 10l-4 4-4-4" fill="none" stroke="currentColor" stroke-linecap="square" stroke-width="2"></path>
                </svg>
              </span>
            </span>
          </span>
        </span>
      </label>
      <label id="problemtype-error" class="error" for="problemtype"></label>
    </div>
  </div>
  <script>
    var reqField = "";
    var fieldId = "problemtype";
    if (reqField) {
      $('#' + fieldId).prop('required', true);
    }
  </script>
  <style>
    .hidden {
      display: none;
    }
  </style>
  <div class="tr-VerticalSpacing tr-VerticalSpacing--m" id="feedbackSubjectWrapper">
    <div class="tr-VerticalSpacing tr-VerticalSpacing--m">
      <div class="tr-FormTextControl">
        <label class="tr-FormTextControl-label" for="feedbackSubject">
          <span class="tr-FormTextControl-labelText">Subject</span>
          <input class="tr-FormTextControl-input" title="" id="feedbackSubject" name="feedbackSubject" type="text" autocomplete="off">
        </label>
        <span id="feedbackSubjecterrortext" class="hidden" style="color:red;"></span>
      </div>
    </div>
  </div>
  <script>
  </script>
  <style>
    .hidden {
      display: none;
    }
  </style>
  <div class="tr-VerticalSpacing tr-VerticalSpacing--m" id="messageWrapper">
    <div class="tr-VerticalSpacing tr-VerticalSpacing--m">
      <div class="tr-FormTextareaControl">
        <label class="tr-FormTextareaControl-label" for="message">
          <span class="tr-FormTextareaControl-labelText">Message</span>
          <textarea class="tr-FormTextareaControl-input" title="" id="message" name="message" autocomplete="off"></textarea>
        </label>
        <span id="messageerrortext" class="hidden" style="color:red;"></span>
      </div>
    </div>
  </div>
  <script>
  </script>
  <p>Attach files to upload</p>
  <div>
    <div class="confdiv" id="feedbackattachment">
      <div class="attachment-box">
        <input type="file" class="uploadFile" name="feedbackattachment" id="-file-feedbackattachment" onchange="viewAttachment(this)">
        <div>
          <p class="m pull-left mild-bold file-details">Attachments <span class="file-detail"> (10 MB limit) </span>
          </p>
        </div>
        <div>
          <p class="tr-Link--icon tr-Link--primary m pull-right mild-bold file-details file_upload" id="addAttachment">
            <span class="tr-Link-inner ">Attach file</span>
            <span class="tr-Link-icon">
              <span class="tr-Svg">
                <span class="tr-Svg-inner">
                  <svg viewBox="0 0 64 64">
                    <path d="M48 16v28c0 8.8-7.2 16-16 16s-16-7.2-16-16V15c0-6.1 4.9-11 11-11s11 4.9 11 11v27c0 3.3-2.7 6-6 6s-6-2.7-6-6V16" fill="none" stroke="#4d4d4d" stroke-linecap="round" stroke-width="4"></path>
                  </svg>
                </span>
              </span>
            </span>
          </p>
        </div>
        <div id="feedbackattachment-feed__attachments-list" class="col-lg-12 col-md-12 col-sm-12 col-xs-12 feed__attachments-list"></div>
      </div>
      <input type="hidden" id="attachmentId" name="attachmentArr" value="">
      <input type="hidden" id="attachArr" name="attachArr" value="">
      <input type="hidden" id="fileArr" name="fileArr" value="">
      <label class="error" for="-file-feedbackattachment"></label>
    </div>
  </div>
  <div class="tr-VerticalSpacing tr-VerticalSpacing--m">
    <div class="tr-Grid tr-Grid--even2">
      <div class="tr-Grid-items">
        <div class="tr-Grid-item sr-backButtonArea">
          <a class="tr-Anchor tr-Link tr-Link--iconLeft tr-Link--withIcon tr-Link--inline tr-Hidden">
                    <span class="tr-Link-icon">
                      <span class="tr-Svg">
                        <span class="tr-Svg-inner">
                          <svg aria-hidden="true" viewBox="0 0 24 24">
                            <g class="nc-icon-wrapper" fill="none" stroke="currentColor" stroke-width="2">
                              <path d="M22 12H2"></path>
                              <path d="M9 19l-7-7 7-7" stroke-linecap="square"></path>
                            </g>
                          </svg>
                        </span>
                      </span>
                    </span>
                    <span class="tr-Link-inner">Back</span>
                </a>
        </div>
        <div class="tr-Grid-item ">
          <button id="feedbackSubmitButton" class="tr-Anchor tr-Button tr-Button--primary" type="submit">
            <span class="tr-Button-body">Submit</span>
          </button>
        </div>
      </div>
    </div>
  </div>
  <div>
    <style>
      .hidden {
        display: none;
      }
    </style>
    <p class="hidden" id="constraintsAsString">{"messages":{"feedbacklastname":{"required":"Please enter last name"},"feedbackfirstname":{"required":"Please enter first name"},"problemtype":{"required":"Please select problem
      type"},"feedbackemail":{"tremail":"Please enter email correctly","required":"Please enter email"},"message":{"required":"Please enter message"},"feedbackSubject":{"required":"Please enter subject"},"feedbacktype":{"required":"Please select
      feedback
      type"}},"rules":{"feedbacklastname":{"required":true},"feedbackfirstname":{"required":true},"problemtype":{"required":true},"feedbackemail":{"tremail":true,"required":true},"message":{"required":true},"feedbackSubject":{"required":true},"feedbacktype":{"required":true}}}
    </p>
    <script>
      var country;
      $.validator.addMethod('trtext', function(value, element) {
        return this.optional(element) || value.match(new RegExp('^[A-Za-z]+$'));
      }, 'only Strings are allowed');
      $.validator.addMethod('tremail', function(value, element) {
        return this.optional(element) || value.match(new RegExp('[a-zA-Z0-9_.-\.]+@[a-zA-Z0-9\-\_\.]+\.[a-zA-Z0-9]{2,4}$'));
      }, 'Please specify the correct domain for your documents');
      $.validator.addMethod('accountno', function(value, element) {
        return this.optional(element) || value.match(new RegExp('[A](-)([0-9]{8})$'));
      }, 'Please enter 8 digit customer number (A-xxxxxxxx)');
      $.validator.addMethod('requestId', function(value, element) {
        return this.optional(element) || value.match(new RegExp('^$|^[0][0-9]{7}$'));
      }, 'Please enter correct requestId');
      $.validator.addMethod('trinternaluser', function(value, element) {
        return this.optional(element) || value.match(new RegExp('[a-zA-Z0-9_.-\.]+@(?!thomson.com|reuters.com|thomsonreuters.com|refinitiv.com|tr.com)[a-zA-Z0-9\-\_\.]+\.[a-zA-Z0-9]{2,4}$'));
      }, 'Please enter a valid customer email address');
      $.validator.addMethod('trphone', function(value, element) {
        return this.optional(element) || value.match(new RegExp('(^\\+)((\\s*[0-9]\\s*){8,})(\\s*(x|X?)\\s*)((\\s*[0-9]\\s*)*\\d$)$'));
      }, 'Please enter correct phone number');
      $.validator.addMethod('phone', function(value, element) {
        return this.optional(element) || value.match(new RegExp('(^\\+)((\\s*[()-]?[0-9]\\s*[()-]?){9,20})$'));
      }, 'Please enter correct phone number');
      $.validator.addMethod('trengtext', function(value, element) {
        return this.optional(element) || value.match(new RegExp('^[a-zA-Z0-9-@#$%^&amp; *!_s]*$'));
      }, 'Chinize characters are not allowed');
      $.validator.addMethod('trregtext', function(value, element) {
        return this.optional(element) || value.match(new RegExp('^[a-zA-Z0-9-., \']*$'));
      }, 'Only alphabets numbers or characters');
      $.validator.addMethod('reftextarea', function(value, element) {
        return this.optional(element) || value.match(new RegExp('[a-zA-Z0-9][\\sa-zA-Z0-9]'));
      }, 'Spaces not allowed');
      $.validator.addMethod('marketingemail', function(value, element) {
        return this.optional(element) || value.match(new RegExp('^[+a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$'));
      }, 'Please specify the correct domain for your documents');
      $.validator.addMethod('answerHubScreenName', function(value, element) {
        return this.optional(element) || value.match(new RegExp('^[\\w\\.\\-\\@\\+\\s]+$'));
      }, 'Please enter the name in correct format');
      $(document).ready(function() {});
    </script>
  </div>
</form>

GET https://developers.refinitiv.com/en/search-results

<form class="tr-SiteFooter-search" action="https://developers.refinitiv.com/en/search-results" method="get" role="search">
  <div class="tr-SiteFooter-searchInner">
    <div class="tr-SearchInput tr-SearchInput--dark" data-auto-focus="false" data-color-theme="&quot;dark&quot;" data-name="&quot;q&quot;" data-placeholder="&quot;Search&quot;" data-rehydratable="tr-SearchInput" data-typeahead="true"
      data-typeahead-url="&quot;https://lseg-production.ent.eu-west-2.aws.cloud.es.io/api/as/v1/engines/devportal-en-prod/query_suggestion?&quot;" data-elastic-key="&quot;Bearer search-j7qr422s9s61csioo1r85rgx&quot;"
      data-autosuggestion="&quot;description,w_internal_title&quot;" data-size="7" data-reset-search="false" data-query-param="false" data-value="&quot;&quot;" data-search-min-length="3" tabindex="-1"><label
        class="tr-SearchInput-label u-hiddenVisually" for="searchInput-2">Search</label>
      <div class="tr-SearchInput-box"><input class="tr-SearchInput-input" autocomplete="off" placeholder="Search" id="searchInput-2" type="search" name="q" aria-haspopup="true" aria-owns="searchInput-2-typeahead" aria-expanded="false"
          aria-autocomplete="both" aria-label="Search" role="combobox" aria-activedescendant="" value="">
        <div class="tr-SearchInput-buttons"><button aria-label="Clear search" class="tr-SearchInput-clearButton" type="button">
            <div class="tr-SearchInput-icon"><svg class="tr-Icon tr-Icon--xs" xmlns="https://www.w3.org/2000/svg" viewBox="0 0 32 32" xmlns:xlink="https://www.w3.org/1999/xlink">
                <path fill=""
                  d="M27.5861028,3.00085283 L28.9982943,4.41304438 L17.414,15.997 L29.0032453,27.5861028 L27.5890317,29.0003163 L16,17.411 L4.41219155,28.9991472 L3,27.5869556 L14.587,15.999 L3.00292893,4.41421356 L4.41714249,3 L16.002,14.585 L27.5861028,3.00085283 Z">
                </path>
              </svg></div>
          </button><button aria-label="Submit search" class="tr-SearchInput-searchButton" type="submit">
            <div class="tr-SearchInput-icon"><svg class="tr-Icon tr-Icon--xs" xmlns="https://www.w3.org/2000/svg" viewBox="0 0 32 32" xmlns:xlink="https://www.w3.org/1999/xlink">
                <path fill=""
                  d="M13.9585481,2 C20.5630719,2 25.9170963,7.35402437 25.9170963,13.9585481 C25.9170963,16.8301187 24.7686012,19.6049993 23.0816215,21.6664982 L29.8994949,28.4852814 L28.4852814,29.8994949 L21.6640371,23.0753342 C19.6025381,24.7623139 16.8301187,25.9170963 13.9585481,25.9170963 C7.35402437,25.9170963 2,20.5630719 2,13.9585481 C2,7.35402437 7.35402437,2 13.9585481,2 Z M14,4 C8.4771525,4 4,8.4771525 4,14 C4,19.5228475 8.4771525,24 14,24 C19.5228475,24 24,19.5228475 24,14 C24,8.4771525 19.5228475,4 14,4 Z">
                </path>
              </svg></div>
          </button></div>
      </div>
      <div class="tr-SearchInput-typeahead" tabindex="-1" aria-live="polite">
        <ul class="tr-SearchInput-typeaheadItems" id="searchInput-2-typeahead" role="listbox" aria-label="Search results"></ul><span class="tr-SearchInput u-hiddenVisually" role="status">0 results found</span>
      </div>
    </div>
  </div>
</form>

Text Content

Loading
GlobalGlobal Directory



EXPLORE OUR SITES

London Stock Exchange Group
Refinitiv
MyRefinitiv
Refinitiv Perspectives
London Stock Exchange
FTSE Russell
LCH
Contact Us

SignSign in/Register


Sign in
Register
Problems signing In?


DEVELOPER COMMUNITY

 * APIs
   
   
   APIs
   
    * Connected Risk
    * DataScope
    * Datastream
    * Eikon
    * Eikon Messenger
   
   See all APIs
   
    * FX Venues
    * Open PermID
    * Qual-ID
    * REDI
    * Refinitiv Data Libraries
   
    * Refinitiv Data Platform
    * Refinitiv Due Diligence
    * Refinitiv Knowledge Direct
    * Refinitiv Real-Time
   
    * Refinitiv Tick History
    * Workspace
    * World-Check
    * Yield Book

 * Articles
   
   
   Articles
   
   
   ARTICLES
   
    * Eikon Access data to power in-house or thirdparty desktop apps with
      Refinitiv data
    * World-Check Screen entity names, with or without secondary fields such as
      date of birth for individuals
    * Refinitiv RealTime Provides consumer, provider and publisher features
      available to developers of applications to connect to Refinitiv Real-Time
      Distribution Systems
   
    * DataScope The DataScope Select APIs offer programmatic access to Refinitiv
      content in a more flexible way than the browser- and FTP-based data access
      solutions
    * Refinitiv Data Libraries A set of ease-of-use interfaces offering coders
      uniform access to the breadth and depth of financial data and services
      available on the Refinitiv Data Platform
   
   See all Articles
   
    * Newsletters See our Developer Digest Newsletters

 * Developer Tools
   
   
   Developer Tools
   
   
   DEVELOPER TOOLS
   
    * RIC Search
    * Data Model Discovery
    * Data Exploration Tool
    * Data Catalogue
    * API Playground
    * Speed Guide
   
   See all Tools
 * Use Cases
   
   
   Use Cases
   
   
   USE CASES
   
   ARTIFICIAL INTELLIGENCE
   
   The Artificial Intelligence pipeline is a sequence of technical phases that
   will take an AI project from the early data acquisition phase up-to
   production.
   Read more
   arrow-right
   
   RISK & REGULATORY COMPLIANCE
   
   Manage country risk ranking, digital identity verification, document proofing
   and screening via one API.
   Read more
   arrow-right
   
   SUSTAINABLE FINANCE AND INVESTING
   
   Build sustainability into your investment strategy with our environmental,
   social and governance (ESG) data and services
   Read more
   arrow-right
   See all Use Cases
 * Events
   
   
   Events
    * Events
    * Academy Sessions
   
   Events
   
   
   UPCOMING EVENTS
   
    * There are no further events planned in 2023
   
   View all Events
   
   
   PAST EVENTS
   
    * Regime Detection - Systematic Technical Analysis and Trading Strategy
      Webinar In this session we will build on the previous systematic strategy
      session –where we generated and used pre-built technical analysis
      indicators & features and backtested a simple strategy using various
      packages in Python. In particular we will focus on the task of Regime
      Detection to ignore any signals generated that are against the regime we
      are in and ultimately improve our systematic performance.
    * Tech Analysis and Strategy Backtesting Webinar As we become more and more
      systematic, we have to decide what tool to use to design, test and
      implement our system.
    * Refinitiv Real Time: Customer Updates Q2 Join us as we talk through the
      latest updates to our Real Time product services and hear from some of our
      customers as they explain the benefits they are seeing from utilising this
      service
   
   Academy Sessions
   
    * Refinitiv Academy The Refinitiv Academy provides partners with a variety
      of learning options to enhance their understanding of Refinitiv solutions.
      Whether you are just getting started with Refinitiv or are an advanced
      user, we provide the training and resources you need to be successful
      every step of the way.
   
    * Live instructor led classes Choose from a selection of live instructor-led
      classes offered in local languages across a variety of market sectors
    * On-Demand videos Check out our collection of On-Demand training videos to
      help you get the most out of the Refinitiv Product catalogue

 * Videos
   
   
   Videos
   
 * About
   
   
   About
   
   
   ABOUT US
   
    * Who we are
    * Careers
    * Customer Stories
    * Events & Webinars
    * Media Center
    * MyRefinitiv
   
    * Partners
    * Refinitiv
    * Refinitiv Charities
    * Refinitiv Perspectives
    * Social Impact
    * Sustainability and Refinitiv

 * Q&A
   
   
   Q&A
   

ThankyouErrorModal


Cancel
Success-form


THANK YOU


THANK YOU FOR YOUR FEEDBACK


AN ERROR OCCURED

Support ticket number:

Your support ticket has been created and emailed to you. We will review your
message and get back to you shortly via email.

Please try again later

The attached file(s) are not uploaded because of invalid file(s)

Close

 1. Home
 2. Video Catalog
 3. 30 minutes to create a Real-Time Optimized consumer application | EMA Java |
    Version 2 Authentication with Client Credentials

30 minutes to create a Real-Time Optimized consumer application | EMA Java |
Version 2 Authentication with Client Credentials
26:00


This video demonstrates that any new developer will only need 30 minutes to
understand the code required to connect a consumer application to Real-Time
Optimized and make a streaming data subscription using Client Credentials with
Version 2 Authentication

This video explains the sample code in detail. It is suitable for Java
developers who are new to Real-Time SDK from Refinitiv.

Sample code

Getting Started with Version 2 Authentication for Refinitiv Real-Time: Overview
EMA Java API: Refinitiv Real-Time Optimized Version 2 Authentication Migration
Guide

ftlScreen




WELCOME !


HELP US PERSONALISE YOUR EXPERIENCE BY COMPLETING YOUR PROFILE.

Screen name
Company name
Spoken language(s) (Optional)
Programming language(s) (Optional)
Share my full name, country and languages with other developers
Share the company I work for and my email address with other developers
I agree to terms & conditions and privacy policy
Send me communications about Financial & Risk resources, including products or
services.
Back
Complete profile


{"messages":{"companyName":{"trengtext":"Please enter the company name in
correct format","required":"Please enter the company
name"},"screenName":{"answerHubScreenName":"Please enter the name in correct
format","required":"Please enter your screen name
"}},"rules":{"companyName":{"trengtext":true,"required":true},"screenName":{"answerHubScreenName":true,"required":true}}}




ftlErrorScreen




THERE IS SOME PROBLEM WITH THE REQUEST SENT.

Close


versuccessModal


Close


EMAIL VERIFICATION SUCCESSFULLY DONE!

Thank you for registering. You will typically receive your email confirmation
within 20 mins with further instructions on how to proceed with access to
Developer Community

Close


feedbackModal


Close


FEEDBACK

First name
Last name
Email address
Feedback type General Feedback About This Site Report a Problem With This Site
Problem Type Broken Link Images not displaying Pages not displaying Other
Subject
Message

Attach files to upload

Attachments (10 MB limit)

Attach file


Back
Submit

{"messages":{"feedbacklastname":{"required":"Please enter last
name"},"feedbackfirstname":{"required":"Please enter first
name"},"problemtype":{"required":"Please select problem
type"},"feedbackemail":{"tremail":"Please enter email
correctly","required":"Please enter email"},"message":{"required":"Please enter
message"},"feedbackSubject":{"required":"Please enter
subject"},"feedbacktype":{"required":"Please select feedback
type"}},"rules":{"feedbacklastname":{"required":true},"feedbackfirstname":{"required":true},"problemtype":{"required":true},"feedbackemail":{"tremail":true,"required":true},"message":{"required":true},"feedbackSubject":{"required":true},"feedbacktype":{"required":true}}}




Search

0 results found


 * ABOUT REFINITIV
   
   * Who we are
   * MyRefinitiv
   * Careers
   * Media Center
   * Partners
   * Press Releases


 * MARKET INSIGHTS
   
   * Refinitiv.com
   * Refinitiv Perspectives
   * Reuters Editorial Forums
   * Lipper Alpha Insight
   * MiFID II


 * CONTACT US
   
   * Community Forum
   * Product Support
   * Sales
   * Media Relations
   * Supplier Portal
   * Whistleblowing


 * CONNECT WITH US
   
   * Github
   * LinkedIn
   * Twitter
   * Youtube
   * Medium


 * EXPLORE LSEG SITES
   
   * London Stock Exchange Group
   * London Stock Exchange
   * FTSE Russell
   * LCH

Refinitiv
 * Cookie Policy
 * Privacy Statement
 * Terms of use
 * Copyright
 * Do not sell my info