diff --git a/Changes b/Changes
index 7a5b276..fad80b6 100755
--- a/Changes
+++ b/Changes
@@ -1,8 +1,9 @@
-0.39 2020-06-30
+0.39 2020-07-02
         - Add information on secret file to Readme.
         - Change default API endpoint to korap.ids-mannheim.de.
         - Fix label for toggle plugins.
         - Activate plugin registry.
+        - Forward 'pipe' parameter to backend.
 
         WARNING: If you relied on the former default API endpoint
           being http://localhost:9999/, this will break your
diff --git a/Dockerfile b/Dockerfile
index 2a877b3..260c5cc 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -72,6 +72,6 @@
 
 CMD [ "daemon" ]
 
-LABEL author="korap@ids-mannheim.de"
+LABEL maintainer="korap@ids-mannheim.de"
 LABEL description="Docker Image for Kalamar, the KorAP user frontend"
 LABEL repository="https://github.com/KorAP/Kalamar"
diff --git a/README.md b/README.md
index d2dfbdf..8ba5cd6 100644
--- a/README.md
+++ b/README.md
@@ -16,10 +16,11 @@
 Then start Kalamar listening on port `64543`.
 
 ```shell
-$ docker run --network="host" --name kalamar korap/kalamar
+$ docker run --network host --name kalamar korap/kalamar
 ```
 
 Kalamar will be available at `http://localhost:64543`.
+
 See the [description on docker hub](https://hub.docker.com/r/korap/kalamar)
 regarding further information.
 
diff --git a/lib/Kalamar/Controller/Search.pm b/lib/Kalamar/Controller/Search.pm
index b1374ac..5508786 100644
--- a/lib/Kalamar/Controller/Search.pm
+++ b/lib/Kalamar/Controller/Search.pm
@@ -39,6 +39,7 @@
   $v->optional('p', 'trim')->num(1, undef); # Start page
   $v->optional('o', 'trim')->num(1, undef); # Offset
   $v->optional('context');
+  $v->optional('pipe', 'trim');
   # $v->optional('action'); # action 'inspect' is no longer valid
   # $v->optional('snippet');
 
@@ -103,6 +104,11 @@
     $query{count} = $items_per_page;
   };
 
+  # Forward pipe
+  if ($v->param('pipe')) {
+    $query{pipe} = $v->param('pipe');
+  };
+
   $c->stash(items_per_page => $items_per_page);
 
   # TODO:
diff --git a/t/fixtures/response_query_baum_o0_c25_pglemm.json b/t/fixtures/response_query_baum_o0_c25_pglemm.json
new file mode 100644
index 0000000..a1727e3
--- /dev/null
+++ b/t/fixtures/response_query_baum_o0_c25_pglemm.json
@@ -0,0 +1,76 @@
+{
+  "status" : 200,
+  "json" : {
+    "@context" : "http://korap.ids-mannheim.de/ns/KoralQuery/v0.3/context.jsonld",
+    "meta" :  {
+      "count" : 25,
+      "startIndex" : 0,
+      "authorized" : null,
+      "timeout" : 120000,
+      "context" : {
+        "left" : ["token",40],
+        "right" : ["token",40]
+      },
+      "fields" : ["pubDate","subTitle","author","pubPlace","title","textSigle","UID","ID","layerInfos","corpusSigle","docSigle","corpusID","textClass"],
+      "version" : "0.55.7",
+      "benchmark" : "0.120577834 s",
+      "totalResults" : 51,
+      "serialQuery" : "tokens:s:Baum",
+      "itemsPerPage" : 25
+    },
+    "query" : {
+      "@type" : "koral:token",
+      "wrap" : {
+        "@type" : "koral:term",
+        "layer" : "orth",
+        "key" : "Baum",
+        "match" : "match:eq",
+        "foundry" : "opennlp",
+        "rewrites" : [
+          {
+            "@type" : "koral:rewrite",
+            "src" : "Kustvakt",
+            "operation" : "operation:injection",
+            "scope" : "foundry"
+          }
+        ]
+      }
+    },
+    "matches" : [
+      {
+        "field" : "tokens",
+        "pubPlace" : "München",
+        "textSigle" : "GOE/AGI/00000",
+        "docSigle" : "GOE/AGI",
+        "corpusSigle" : "GOE",
+        "title" : "Italienische Reise",
+        "subTitle" : "Auch ich in Arkadien!",
+        "author" : "Goethe, Johann Wolfgang von",
+        "layerInfos" : "base/s=spans corenlp/c=spans corenlp/p=tokens corenlp/s=spans dereko/s=spans malt/d=rels mdp/d=rels opennlp/p=tokens opennlp/s=spans tt/l=tokens tt/p=tokens tt/s=spans",
+        "startMore" : true,
+        "endMore" : true,
+        "snippet" : "<span class=\"context-left\"><span class=\"more\"></span>sie etwas bedeuten zu wollen und machte mit der Oberlippe eine fatale Miene. ich sprach sehr viel mit ihr durch, sie war überall zu Hause und merkte gut auf die Gegenstände. so fragte sie mich einmal, was das für ein </span><span class=\"match\"><mark>Baum</mark></span><span class=\"context-right\"> sei. es war ein schöner großer Ahorn, der erste, der mir auf der ganzen Reise zu Gesichte kam. den hatte sie doch gleich bemerkt und freute sich, da mehrere nach und nach erschienen, daß sie auch diesen Baum unterscheiden könne<span class=\"more\"></span></span>",
+        "matchID" : "match-GOE/AGI/00000-p2030-2031",
+        "UID" : 0,
+        "pubDate" : "1982"
+      },
+      {
+        "field" : "tokens",
+        "pubPlace" : "München",
+        "textSigle" : "GOE/AGI/00001",
+        "docSigle" : "GOE/AGI",
+        "corpusSigle" : "GOE",
+        "title" : "Italienische Reise",
+        "subTitle" : "Auch ich in Arkadien!",
+        "author" : "Goethe, Johann Wolfgang von",
+        "layerInfos" : "base/s=spans corenlp/c=spans corenlp/p=tokens corenlp/s=spans dereko/s=spans malt/d=rels mdp/d=rels opennlp/p=tokens opennlp/s=spans tt/l=tokens tt/p=tokens tt/s=spans",
+        "startMore" : true,
+        "endMore" : true,
+        "snippet" : "<span class=\"context-left\"><span class=\"more\"></span>für ein Baum sei. es war ein schöner großer Ahorn, der erste, der mir auf der ganzen Reise zu Gesichte kam. den hatte sie doch gleich bemerkt und freute sich, da mehrere nach und nach erschienen, daß sie auch diesen </span><span class=\"match\"><mark>Baum</mark></span><span class=\"context-right\"> unterscheiden könne. sie gehe, sagte sie, nach Bozen auf die Messe, wo ich doch wahrscheinlich auch hinzöge. wenn sie mich dort anträfe, müsse ich ihr einen Jahrmarkt kaufen, welches ich ihr denn auch versprach. dort wollte sie auch ihre neue<span class=\"more\"></span></span>",
+        "matchID" : "match-GOE/AGI/00000-p2068-2069",
+        "UID" : 0,
+        "pubDate" : "1982"
+      }
+    ]
+  }
+}
diff --git a/t/query.t b/t/query.t
index f6e588e..4cf5a06 100644
--- a/t/query.t
+++ b/t/query.t
@@ -257,7 +257,6 @@
   ->text_is('#special', 'Funny')
   ;
 
-
 my $match = {
   matchID => 'match-FOLK/00070-SE-01/T-04-p5441-5442',
   textSigle => 'FOLK/00070-SE-01/T-04'
@@ -267,6 +266,13 @@
 
 is($match->{matchID}, 'p5441-5442');
 
+# Query with pipe
+$t->get_ok('/?q=baum&pipe=glemm')
+  ->status_is(200)
+  ->text_is('#error','')
+  ->content_like(qr/\"pipe\":"glemm"/)
+  ;
+
 
 done_testing;
 __END__
diff --git a/t/server/mock.pl b/t/server/mock.pl
index 38a3300..7d49de3 100644
--- a/t/server/mock.pl
+++ b/t/server/mock.pl
@@ -129,6 +129,7 @@
   $v->optional('count');
   $v->optional('context');
   $v->optional('offset');
+  $v->optional('pipe');
   $v->optional('cutoff')->in(qw/true false/);
 
   $c->app->log->debug('Receive request');
@@ -152,6 +153,7 @@
   push @slug_base, 'c' . $v->param('count') if defined $v->param('count');
   push @slug_base, 'co' . $v->param('cutoff') if defined $v->param('cutoff');
   push @slug_base, 'cq' if defined $v->param('cq');
+  push @slug_base, 'p' . $v->param('pipe') if defined $v->param('pipe');
 
   # Get response based on query parameter
   my $response = $c->load_response('query_' . slugify(join('_', @slug_base)));
@@ -195,6 +197,10 @@
     }
   };
 
+  if ($v->param('pipe')) {
+    $response->{json}->{meta}->{pipe} = $v->param('pipe');
+  };
+
   # Set page parameter
   if ($v->param('page')) {
     $response->{json}->{meta}->{startIndex} = $v->param("startIndex");
