{"id":177245,"date":"2026-04-26T21:34:06","date_gmt":"2026-04-26T19:34:06","guid":{"rendered":"https:\/\/europeancourt.org\/en\/services\/echr\/representing-applicants\/"},"modified":"2026-04-27T13:07:53","modified_gmt":"2026-04-27T11:07:53","slug":"representing-applicants","status":"publish","type":"page","link":"https:\/\/europeancourt.org\/en\/services\/echr\/representing-applicants\/","title":{"rendered":"Representing applicants before the ECHR"},"content":{"rendered":"<div id=\"ec-representation-page\" class=\"ec-service-page ec-service-representation\" data-service=\"representation\"\n  data-ec-service-page-id=\"177245\"\n  data-ec-service-form-id=\"177246\"\n  data-ec-service-lang=\"en\"\n  data-ec-service-docs-message=\"Attach the documents or paste a cloud-storage link to them.\"\n  data-ec-service-submit-message=\"To send the request, attach the documents or paste a link to them.\"\n  data-ec-service-email-message=\"Please fill in this field.\"\n  data-ec-service-invalid-url-message=\"Please correct the link.\"\n  data-ec-service-load-error=\"Error.\">\n<div class=\"ec-service-screen ec-service-screen-1\">\n<div class=\"mywpcf7cf myshow myhide\">This service is offered only for applications that have already been communicated and in which the Court has informed the applicant that written observations must be submitted.<\/div>\n<div class=\"mywpcf7cf myshow myhide\">The cost of representation before the Court depends on the time needed to prepare answers to the Court\u2019s questions, responses to the respondent State\u2019s arguments, and, where necessary, clarifications of the facts and claims for just satisfaction. The range is very wide: from a few hundred euros if the work can be done in two or three hours, to 10,000 euros or more if it requires tens of hours.<\/div>\n<div class=\"mywpcf7cf myshow myhide\">I can assess how much time your case will require, and therefore how much representation will cost, only after seeing the documents. Please provide the application with all its annexes, as well as everything else that was sent to the Court in relation to it and everything received from the Court. If I need additional documents, I will ask you for them.<\/div>\n<div class=\"mywpcf7cf myshow myhide\">I usually reply to a request for the cost of representation before the Court within one week of receiving all the necessary documents and information. If the time-limit set by the Court for submitting observations or other material expires in the next few days, write to me and ask whether I can consider your request urgently. I promise to reply to that email within 24 hours. If I confirm that I can, and you immediately provide the necessary documents and information, I promise to give you my response to your cost request within the next 48 hours.<\/div>\n<div class=\"mywpcf7cf myshow myhide\">To save time, I will send you the agreement and a completed authority form for representation before the Court when I tell you the cost of the service. The authority form will need to be printed, signed and sent by ordinary post to my address in France. Payment may be made by bank transfer to my account in Switzerland or by other methods, depending on the country from which payment is made, after the documents for the Court have been prepared. It is better, however, to pay before they are sent to the Court, so that proof of payment can be attached to the claims for just satisfaction. This makes it much easier to substantiate a claim for reimbursement of costs already incurred for representing the applicant before the Court.<\/div>\n<div class=\"mywpcf7cf myshow myhide\">This service is clearly not for you if any of the following statements applies to you:<\/div>\n<ul class=\"myshow myhide ec-service-blocker-list\"><li><label><input type=\"checkbox\" class=\"ec-service-blocker\" \/><span>My application has not yet been communicated by the Court, or it has been communicated without a request for written observations.<\/span><\/label><\/li>\n<li><label><input type=\"checkbox\" class=\"ec-service-blocker\" \/><span>I am not prepared to provide all the necessary documents.<\/span><\/label><\/li>\n<li><label><input type=\"checkbox\" class=\"ec-service-blocker\" \/><span>I am not prepared to deal with the authority form and send it by ordinary post.<\/span><\/label><\/li>\n<li><label><input type=\"checkbox\" class=\"ec-service-blocker\" \/><span>I am not prepared to answer follow-up questions during the work or provide additional documents if they are needed.<\/span><\/label><\/li><\/ul>\n<div class=\"checking-load-wrap ec-service-load-wrap\"><div class=\"checking-load-button-row ec-service-load-button-row\"><button type=\"button\" class=\"mybutton blue ec-service-load-button\" id=\"load_ajax_form\" data-ec-service-load=\"representation\" data-ec-service-form-id=\"177246\" data-blocked-message=\"You cannot continue while any of these statements is ticked. If you ticked one by mistake, untick it.\">Submit documents<\/button><\/div>\n<div id=\"ec-service-load-status\" class=\"checking-load-status ec-service-load-status\" role=\"status\" aria-live=\"polite\"><\/div><\/div>\n<div class=\"mywpcf7cf myshow myhide\"><a class=\"mybutton blue not-in-text-button\" href=\"mailto:oleg.anishchik@europeancourt.org?subject=I%20would%20like%20to%20clarify%20the%20terms\">I would like to clarify the terms<\/a><\/div>\n<div class=\"mywpcf7cf mywpcf7cf-utility ec-service-utility-row\"><div class=\"mybutton red not-in-text-button is-disabled\" aria-disabled=\"true\">Start again<\/div><div class=\"mybutton red not-in-text-button\" onclick=\"window.location.href='mailto:oleg.anishchik@europeancourt.org?subject=Representing%20applicants%20before%20the%20ECHR%3A%20error&amp;body=Error%20description%3A';\">Report an error<\/div><\/div>\n<\/div>\n<div class=\"ec-service-form-shell\"><div id=\"ajax_content\" class=\"ec-service-ajax-content\" data-loaded=\"0\"><\/div><\/div>\n<\/div>\n<script>\n(function(){\n  if (window.ecServicePageRuntimeReady) return;\n  window.ecServicePageRuntimeReady = true;\n\n  function trim(value) {\n    return String(value || '').replace(\/^\\s+|\\s+$\/g, '');\n  }\n\n  function clearNode(node) {\n    if (!node) return;\n    while (node.firstChild) node.removeChild(node.firstChild);\n  }\n\n  function renderStatus(node, message) {\n    if (!node) return;\n    clearNode(node);\n    if (!message) return;\n    var tip = document.createElement('span');\n    tip.className = 'wpcf7-not-valid-tip';\n    tip.textContent = message;\n    node.appendChild(tip);\n  }\n\n  function ajaxUrl() {\n    if (window.wpcf7cf_global_settings) {\n      if (window.wpcf7cf_global_settings.ajaxurl) {\n        return window.wpcf7cf_global_settings.ajaxurl;\n      }\n    }\n    if (window.ajaxurl) return window.ajaxurl;\n    return '\/wp-admin\/admin-ajax.php';\n  }\n\n  function pageRoot(node) {\n    if (!node) return null;\n    return node.closest ? node.closest('.ec-service-page') : null;\n  }\n\n  function loadStatus(root) {\n    return root ? root.querySelector('.ec-service-load-status') : null;\n  }\n\n  function submitStatus(root) {\n    if (!root) return null;\n    var submit = root.querySelector('#ajax_content .wpcf7-submit');\n    if (!submit) return null;\n    var node = root.querySelector('#ajax_content .ec-service-submit-status');\n    if (!node) {\n      node = document.createElement('div');\n      node.className = 'ec-service-submit-status';\n      node.setAttribute('role', 'status');\n      node.setAttribute('aria-live', 'polite');\n      submit.insertAdjacentElement('afterend', node);\n    }\n    return node;\n  }\n\n  function isLoaded(root) {\n    if (!root) return false;\n    var target = root.querySelector('#ajax_content');\n    if (!target) return false;\n    return target.getAttribute('data-loaded') === '1';\n  }\n\n  function syncBlockers(root) {\n    if (!root || isLoaded(root)) return;\n    var button = root.querySelector('[data-ec-service-load]');\n    if (!button || button.getAttribute('aria-busy') === 'true') return;\n    var blocked = !!root.querySelector('.ec-service-blocker:checked');\n    button.disabled = false;\n    button.setAttribute('data-soft-disabled', blocked ? '1' : '0');\n    button.classList.toggle('is-soft-disabled', blocked);\n    if (!blocked) renderStatus(loadStatus(root), '');\n  }\n\n  function scrollToNode(node) {\n    if (!node || !node.getBoundingClientRect) return;\n    var offset = 50;\n    var adminBar = document.getElementById('wpadminbar');\n    if (adminBar) {\n      if (window.getComputedStyle(adminBar).position === 'fixed') {\n        offset += adminBar.offsetHeight || 0;\n      }\n    }\n    var top = node.getBoundingClientRect().top + window.pageYOffset - offset;\n    window.scrollTo({ top: Math.max(top, 0), behavior: 'smooth' });\n  }\n\n  function initCf7(target) {\n    if (!target) return;\n    var form = target.querySelector('.wpcf7-form');\n    if (!form) return;\n    if (window.wpcf7) {\n      if (typeof window.wpcf7.init === 'function') {\n        try { window.wpcf7.init(form); } catch (error) {}\n      }\n    }\n    if (window.jQuery) {\n      if (window.wpcf7cf) {\n        if (typeof window.wpcf7cf.initForm === 'function') {\n          try { window.wpcf7cf.initForm(window.jQuery(form)); } catch (error) {}\n        }\n      }\n    }\n  }\n\n  function hasFiles(root) {\n    if (!root) return false;\n    var input = root.querySelector('#ajax_content input[name=\"multifile-applicationformfiles[]\"]');\n    if (!input) return false;\n    if (!input.files) return false;\n    return !!input.files.length;\n  }\n\n  function hasDocsLink(root) {\n    if (!root) return false;\n    var input = root.querySelector('#ajax_content input[name=\"url-documents-link\"]');\n    if (!input) return false;\n    var value = trim(input.value);\n    if (!value) return false;\n    if (typeof input.checkValidity === 'function') return input.checkValidity();\n    return true;\n  }\n\n  function docsLinkInvalid(root) {\n    if (!root) return false;\n    var input = root.querySelector('#ajax_content input[name=\"url-documents-link\"]');\n    if (!input) return false;\n    if (!trim(input.value)) return false;\n    if (typeof input.checkValidity !== 'function') return false;\n    return !input.checkValidity();\n  }\n\n  function emailOk(root) {\n    if (!root) return false;\n    var input = root.querySelector('#ajax_content input[name=\"your-email\"]');\n    if (!input) return true;\n    var value = trim(input.value);\n    if (!value) return false;\n    if (typeof input.checkValidity === 'function') return input.checkValidity();\n    return \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(value);\n  }\n\n  function isVisible(node) {\n    if (!node) return false;\n    var current = node;\n    while (current) {\n      if (current === document.documentElement) break;\n      if (current.nodeType === 1) {\n        if (current.hidden) return false;\n        if (current.classList) {\n          if (current.classList.contains('wpcf7cf-hidden')) return false;\n        }\n        if (current.getAttribute) {\n          if (current.getAttribute('aria-hidden') === 'true') return false;\n        }\n        if (window.getComputedStyle(current).display === 'none') return false;\n      }\n      current = current.parentNode;\n    }\n    return true;\n  }\n\n  function radioGroupOk(root, name) {\n    var items = root ? root.querySelectorAll('#ajax_content input[name=\"' + name + '\"]') : [];\n    if (!items.length) return true;\n    for (var i = 0; i < items.length; i += 1) {\n      if (items[i].checked) return true;\n    }\n    return false;\n  }\n\n  function visibleTextOk(root, name) {\n    if (!root) return true;\n    var node = root.querySelector('#ajax_content [name=\"' + name + '\"]');\n    if (!node || !isVisible(node)) return true;\n    return !!trim(node.value);\n  }\n\n  function answersOk(root) {\n    if (!root || root.getAttribute('data-service') !== 'preparation') return true;\n    if (!radioGroupOk(root, 'prep-claims-scope')) return false;\n    if (!radioGroupOk(root, 'prep-low-chance')) return false;\n    if (!radioGroupOk(root, 'prep-essential-results')) return false;\n    if (!visibleTextOk(root, 'prep-listed-claims-text')) return false;\n    if (!visibleTextOk(root, 'prep-low-chance-claims-text')) return false;\n    if (!visibleTextOk(root, 'prep-essential-results-details')) return false;\n    return true;\n  }\n\n  function markAttention(root, on) {\n    ['input[name=\"multifile-applicationformfiles[]\"]', 'input[name=\"url-documents-link\"]', 'input[name=\"your-email\"]', 'textarea[name=\"prep-listed-claims-text\"]', 'textarea[name=\"prep-low-chance-claims-text\"]', 'textarea[name=\"prep-essential-results-details\"]'].forEach(function(selector) {\n      var node = root ? root.querySelector('#ajax_content ' + selector) : null;\n      if (!node) return;\n      node.classList.toggle('ec-service-needs-attention', !!on);\n      if (on) node.setAttribute('aria-invalid', 'true');\n      else node.removeAttribute('aria-invalid');\n    });\n    ['prep-claims-scope', 'prep-low-chance', 'prep-essential-results'].forEach(function(name) {\n      var wrap = root ? root.querySelector('#ajax_content .wpcf7-form-control-wrap[data-name=\"' + name + '\"]') : null;\n      if (!wrap) return;\n      wrap.classList.toggle('ec-service-needs-attention', !!on);\n    });\n  }\n\n  function formReady(root) {\n    if (!(hasFiles(root) || hasDocsLink(root))) return false;\n    if (!answersOk(root)) return false;\n    return emailOk(root);\n  }\n\n  function syncSubmit(root) {\n    if (!root) return;\n    var submit = root.querySelector('#ajax_content .wpcf7-submit');\n    if (!submit) return;\n    var ready = formReady(root);\n    submit.disabled = false;\n    submit.setAttribute('data-soft-disabled', ready ? '0' : '1');\n    submit.classList.toggle('is-soft-disabled', !ready);\n    if (ready) {\n      renderStatus(submitStatus(root), '');\n      markAttention(root, false);\n    }\n  }\n\n  function missingMessage(root) {\n    if (docsLinkInvalid(root)) {\n      return root.getAttribute('data-ec-service-invalid-url-message') || '';\n    }\n    if (!(hasFiles(root) || hasDocsLink(root)) || !answersOk(root)) {\n      return root.getAttribute('data-ec-service-submit-message') || root.getAttribute('data-ec-service-docs-message') || '';\n    }\n    if (!emailOk(root)) {\n      return root.getAttribute('data-ec-service-email-message') || '';\n    }\n    return '';\n  }\n\n  function blockSubmit(event, root) {\n    if (formReady(root)) return false;\n    event.preventDefault();\n    event.stopPropagation();\n    if (event.stopImmediatePropagation) event.stopImmediatePropagation();\n    markAttention(root, true);\n    renderStatus(submitStatus(root), missingMessage(root));\n    return true;\n  }\n\n  function setupLoadedForm(root) {\n    syncSubmit(root);\n  }\n\n  function loadForm(root, button) {\n    if (!root || !button || root.__ecServiceLoading) return;\n    var target = root.querySelector('#ajax_content');\n    if (!target) return;\n    var formId = root.getAttribute('data-ec-service-form-id') || button.getAttribute('data-ec-service-form-id') || '';\n    var pageId = root.getAttribute('data-ec-service-page-id') || '';\n    var service = root.getAttribute('data-service') || button.getAttribute('data-ec-service-load') || '';\n    var lang = root.getAttribute('data-ec-service-lang') || '';\n    if (!formId || !pageId || !service) {\n      renderStatus(loadStatus(root), root.getAttribute('data-ec-service-load-error') || '');\n      return;\n    }\n    root.__ecServiceLoading = true;\n    root.classList.add('is-form-loading');\n    button.setAttribute('aria-busy', 'true');\n    renderStatus(loadStatus(root), '');\n    var body = new URLSearchParams();\n    body.set('action', 'load_form_ec_service');\n    body.set('service', service);\n    body.set('page_id', pageId);\n    body.set('form_id', formId);\n    body.set('lang', lang);\n    window.fetch(ajaxUrl(), {\n      method: 'POST',\n      credentials: 'same-origin',\n      headers: {'Content-Type': 'application\/x-www-form-urlencoded; charset=UTF-8'},\n      body: body.toString()\n    }).then(function(response) {\n      if (!response.ok) throw new Error('ajax_' + response.status);\n      return response.text();\n    }).then(function(html) {\n      if (!trim(html)) throw new Error('empty_response');\n      target.innerHTML = html;\n      target.setAttribute('data-loaded', '1');\n      root.classList.add('is-form-open');\n      initCf7(target);\n      setupLoadedForm(root);\n      scrollToNode(target);\n    }).catch(function() {\n      renderStatus(loadStatus(root), root.getAttribute('data-ec-service-load-error') || '');\n    }).then(function() {\n      root.__ecServiceLoading = false;\n      root.classList.remove('is-form-loading');\n      button.removeAttribute('aria-busy');\n      syncBlockers(root);\n    });\n  }\n\n  window.ecServiceStartOver = function(event) {\n    var root = pageRoot(event ? event.target : null);\n    if (!root) return;\n    if (event) {\n      event.preventDefault();\n      event.stopPropagation();\n    }\n    var target = root.querySelector('#ajax_content');\n    if (target) {\n      target.innerHTML = '';\n      target.setAttribute('data-loaded', '0');\n    }\n    root.querySelectorAll('.ec-service-blocker').forEach(function(node) { node.checked = false; });\n    root.classList.remove('is-form-open', 'is-form-loading');\n    renderStatus(loadStatus(root), '');\n    syncBlockers(root);\n    scrollToNode(root);\n  };\n\n  document.addEventListener('click', function(event) {\n    var button = null;\n    if (event.target) {\n      if (event.target.closest) {\n        button = event.target.closest('[data-ec-service-load]');\n      }\n    }\n    if (!button) return;\n    var root = pageRoot(button);\n    if (!root) return;\n    event.preventDefault();\n    event.stopPropagation();\n    if (event.stopImmediatePropagation) event.stopImmediatePropagation();\n    if (root.querySelector('.ec-service-blocker:checked')) {\n      renderStatus(loadStatus(root), button.getAttribute('data-blocked-message') || '');\n      syncBlockers(root);\n      return;\n    }\n    loadForm(root, button);\n  }, true);\n\n  document.addEventListener('click', function(event) {\n    var submit = null;\n    if (event.target) {\n      if (event.target.closest) {\n        submit = event.target.closest('.ec-service-page #ajax_content .wpcf7-submit');\n      }\n    }\n    if (!submit) return;\n    blockSubmit(event, pageRoot(submit));\n  }, true);\n\n  document.addEventListener('submit', function(event) {\n    var form = event.target;\n    if (!form || !form.closest) return;\n    var root = form.closest('.ec-service-page');\n    if (root) blockSubmit(event, root);\n  }, true);\n\n  document.addEventListener('change', function(event) {\n    var root = pageRoot(event.target);\n    if (!root) return;\n    if (event.target.matches('.ec-service-blocker')) syncBlockers(root);\n    syncSubmit(root);\n  }, true);\n\n  document.addEventListener('input', function(event) {\n    var root = pageRoot(event.target);\n    if (root) syncSubmit(root);\n  }, true);\n\n  document.querySelectorAll('.ec-service-page').forEach(syncBlockers);\n})();\n<\/script>","protected":false},"excerpt":{"rendered":"This service is offered only for applications that have already been communicated and in which the Court has informed the applicant that written observations must be submitted. The cost of representation before the Court&#46;&#46;&#46;","protected":false},"author":0,"featured_media":189032,"parent":177152,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-177245","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/europeancourt.org\/en\/wp-json\/wp\/v2\/pages\/177245","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/europeancourt.org\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/europeancourt.org\/en\/wp-json\/wp\/v2\/types\/page"}],"replies":[{"embeddable":true,"href":"https:\/\/europeancourt.org\/en\/wp-json\/wp\/v2\/comments?post=177245"}],"version-history":[{"count":8,"href":"https:\/\/europeancourt.org\/en\/wp-json\/wp\/v2\/pages\/177245\/revisions"}],"predecessor-version":[{"id":225957,"href":"https:\/\/europeancourt.org\/en\/wp-json\/wp\/v2\/pages\/177245\/revisions\/225957"}],"up":[{"embeddable":true,"href":"https:\/\/europeancourt.org\/en\/wp-json\/wp\/v2\/pages\/177152"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/europeancourt.org\/en\/wp-json\/wp\/v2\/media\/189032"}],"wp:attachment":[{"href":"https:\/\/europeancourt.org\/en\/wp-json\/wp\/v2\/media?parent=177245"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/europeancourt.org\/en\/wp-json\/wp\/v2\/categories?post=177245"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/europeancourt.org\/en\/wp-json\/wp\/v2\/tags?post=177245"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}