diff --git a/public_html/api/index.php b/public_html/api/index.php
new file mode 100644
index 0000000000000000000000000000000000000000..aa9d1cc3661cf73f2ad4b5a2bbaa0886ecd21fe7
--- /dev/null
+++ b/public_html/api/index.php
@@ -0,0 +1,138 @@
+<?php
+/*
+ * IDEA TO REALIZE:
+ * 
+ * /api/v1/projects/
+ * /api/v1/project/[Name]/[token]/build[/[name-of-branch]]
+ * /api/v1/project/[Name]/[token]/accept/[phase]
+ * 
+ */
+
+    $bDebug=true;
+    ini_set('display_errors', 1);
+    ini_set('display_startup_errors', 1);
+    error_reporting(E_ALL);
+
+    require_once("../../config/inc_projects_config.php");
+    require_once(__DIR__.'/../deployment/classes/project.class.php');
+
+    $aApiItems=array(
+        'project',
+        'projects',
+        'help',
+    );
+    
+    // ----------------------------------------------------------------------
+    // FUNCTIONS
+    // ----------------------------------------------------------------------
+    function _wd($s, $sLevel='info'){
+        global $bDebug;
+        if ($bDebug){
+            echo '<div class="debug ">DEBUG: '.$s.'</div>';
+        }
+        return true;
+    }
+    
+    function _quit($s, $iStatus=400){
+        $aStatus=array(
+           400=>'HTTP/1.0 400 Bad Request', 
+           404=>'HTTP/1.0 403 Access denied', 
+        );
+        header($aStatus[$iStatus]);
+        _done(array('status'=>$iStatus, 'info'=>$aStatus[$iStatus], 'message'=>$s));
+    }
+    
+    function _done($Data){
+        echo is_array($Data) 
+            ? json_encode($Data, 1, JSON_PRETTY_PRINT)
+            : $Data
+            ;
+        die();
+    }
+    
+    // ----------------------------------------------------------------------
+    // MAIN
+    // ----------------------------------------------------------------------
+
+    _wd('Start: '.date('Y-m-d H:i:s').'<style>body{background:#eee; color:#456;}
+            .debug{background:#ddd; margin-bottom: 2px;}
+         </style>');
+
+    _wd('request uri is '.$_SERVER["REQUEST_URI"]); 
+    _wd('<pre>GET: '.print_r($_GET, 1).'</pre>');
+
+    
+    // ---------- SPLIT URL
+    
+    $aUriSplit= explode('/', preg_replace('/\?.*$/', '', $_SERVER["REQUEST_URI"]));
+
+    array_shift($aUriSplit);
+    array_shift($aUriSplit);     
+    _wd('<pre>$aUriSplit: '.print_r($aUriSplit, 1).'</pre>');  
+    /*
+    
+    /api/v1/projects/ci/my-token/build?auth=123
+    $aUriSplit: Array
+        (
+            [0] => v1
+            [1] => projects
+            [2] => ci
+            [3] => my-token
+            [4] => build
+        )
+     */
+    $sApiVersion = isset($aUriSplit[0]) ? $aUriSplit[0] : false;
+    $sApiItem    = isset($aUriSplit[1]) ? $aUriSplit[1] : false;
+
+
+    if(!$sApiVersion){
+        _quit('no paramm for api version was found.');
+    }
+    if(!$sApiItem){
+        _quit('ERROR: no paramm for item was found.');
+    }
+    if(!in_array($sApiItem, $aApiItems)){
+       _quit('ERROR: item ['.$sApiItem.'] is invalid.');
+    }
+    
+    
+    
+    switch ($sApiVersion){
+        case 'v1':
+            switch($sApiItem){
+                case 'projects':
+
+                    $oProject=new project();
+                    $aList=$oProject->getProjects();
+                    _wd('<pre>'.print_r($aList,1).'</pre>');
+                    _done($aList);
+                    break;;
+                case 'project':
+
+
+                    $sPrjId     = isset($aUriSplit[2]) ? $aUriSplit[2] : false;
+                    $sPrjToken  = isset($aUriSplit[3]) ? $aUriSplit[3] : false;
+                    $sPrjAction = isset($aUriSplit[4]) ? $aUriSplit[4] : false;
+                    _wd('$sPrjId = '.$sPrjId);
+                    _wd('$sPrjToken = '.$sPrjToken);
+                    _wd('$sPrjAction = '.$sPrjAction);
+                    
+                    $oProject=new project();
+                    if(!in_array($sPrjId, $oProject->getProjects())){
+                        _quit('ERROR: project with id ['.$sPrjId.'] does not exist.');
+                    }
+
+                    $oProject->setProjectById($sPrjId);
+                    _wd('TODO: verify given token with that in the config.');
+                    
+                    $aPrjCfg=$oProject->getConfig();
+                    _wd('<pre>'.print_r($aPrjCfg, 1).'</pre>');
+                    
+                    break;;
+                default:
+                    _quit('ERROR: Wrong item ['.$sApiItem.'].');
+            }
+            break;
+        default:
+            _quit('ERROR: Wrong (unsupported) api version.');
+    }
\ No newline at end of file
diff --git a/public_html/deployment/classes/sws.class.php b/public_html/deployment/classes/sws.class.php
index 4833108e56c4bb51463e99fc45fb2af1e3da4683..433ab7c47eae18fcf53f741415ce1d5b5ce57820 100644
--- a/public_html/deployment/classes/sws.class.php
+++ b/public_html/deployment/classes/sws.class.php
@@ -344,7 +344,7 @@ class sws {
      * @param type $sError
      */
     private function _quit($sError, $sMore = "") {
-        header("Status: 400 Bad Request");
+        header("HTTP1.0 400 Bad Request");
         echo $this->_wrapAsWebpage(
                 $sMore, '<div class="error">' . $sError . '</div>'
         );