diff --git a/lib/Kalamar.pm b/lib/Kalamar.pm
index 3f1e3bf..92937d4 100644
--- a/lib/Kalamar.pm
+++ b/lib/Kalamar.pm
@@ -97,6 +97,14 @@
   # Configure mail exception
   $self->plugin('MailException' => $self->config('MailException'));
 
+  # Start fixture
+  if ($self->mode eq 'test') {
+    $self->plugin(Mount => {
+      'http://*:3001/api/v0.1/' => $self->home->child('lib/Kalamar/Apps/test_backend.pl')
+    });
+    $self->config('Kalamar')->{api} = 'http://*:3001/api/v0.1/';
+  };
+
 
   # Configure documentation navigation
   my $navi = Mojo::File->new($self->home->child('templates','doc','navigation.json'))->slurp;
diff --git a/lib/Kalamar/Apps/test_backend.pl b/lib/Kalamar/Apps/test_backend.pl
new file mode 100644
index 0000000..237d566
--- /dev/null
+++ b/lib/Kalamar/Apps/test_backend.pl
@@ -0,0 +1,49 @@
+#!/usr/bin/env perl
+use Mojolicious::Lite;
+use Mojo::ByteStream 'b';
+use Mojo::Date;
+
+# This is an API fake server with fixtures
+
+# Request API token
+get '/auth/apiToken' => sub {
+  my $c = shift;
+
+  # Get auth header
+  my $auth = $c->req->headers->authorization;
+
+  # Authorization missing or not basic
+  if (!$auth || $auth =~ s/\s*Basic\s+//gi) {
+    return $c->render(
+      json => {
+        error => [2, 'x']
+      }
+    );
+  };
+
+  # Decode header
+  my ($username, $pwd) = @{b($auth)->b64_decode->split(':')->to_array};
+
+  if ($pwd eq 'test') {
+
+    # Render info with token
+    return $c->render(
+      json => {
+        username => $username,
+        expires => Mojo::Date->new(time + (3 * 34 * 60 * 60)),
+        token => 'abcdefg',
+        token_type => 'api_token'
+      }
+    );
+  };
+
+  return $c->render(
+    json => {
+      error => []
+    }
+  );
+};
+
+app->start;
+
+1;
