diff --git a/lib/composer/composer/autoload_classmap.php b/lib/composer/composer/autoload_classmap.php
index a6160c0303f3259759f665b3e69e9866524b3ab8..ad42e6ca02f0097a7fc9a14ea4fc166dec4813aa 100644
--- a/lib/composer/composer/autoload_classmap.php
+++ b/lib/composer/composer/autoload_classmap.php
@@ -40,7 +40,6 @@ return array(
     'OCP\\AppFramework\\Http\\Response' => $baseDir . '/lib/public/AppFramework/Http/Response.php',
     'OCP\\AppFramework\\Http\\StreamResponse' => $baseDir . '/lib/public/AppFramework/Http/StreamResponse.php',
     'OCP\\AppFramework\\Http\\TemplateResponse' => $baseDir . '/lib/public/AppFramework/Http/TemplateResponse.php',
-    'OCP\\AppFramework\\IApi' => $baseDir . '/lib/public/AppFramework/IApi.php',
     'OCP\\AppFramework\\IAppContainer' => $baseDir . '/lib/public/AppFramework/IAppContainer.php',
     'OCP\\AppFramework\\Middleware' => $baseDir . '/lib/public/AppFramework/Middleware.php',
     'OCP\\AppFramework\\OCSController' => $baseDir . '/lib/public/AppFramework/OCSController.php',
@@ -316,7 +315,6 @@ return array(
     'OC\\AllConfig' => $baseDir . '/lib/private/AllConfig.php',
     'OC\\AppConfig' => $baseDir . '/lib/private/AppConfig.php',
     'OC\\AppFramework\\App' => $baseDir . '/lib/private/AppFramework/App.php',
-    'OC\\AppFramework\\Core\\API' => $baseDir . '/lib/private/AppFramework/Core/API.php',
     'OC\\AppFramework\\DependencyInjection\\DIContainer' => $baseDir . '/lib/private/AppFramework/DependencyInjection/DIContainer.php',
     'OC\\AppFramework\\Http' => $baseDir . '/lib/private/AppFramework/Http.php',
     'OC\\AppFramework\\Http\\Dispatcher' => $baseDir . '/lib/private/AppFramework/Http/Dispatcher.php',
diff --git a/lib/composer/composer/autoload_static.php b/lib/composer/composer/autoload_static.php
index 79e73326f78fcc418b695d2a357c5d392fd39c2b..8adb289e626ddce729558963400cd7a6f2a5f458 100644
--- a/lib/composer/composer/autoload_static.php
+++ b/lib/composer/composer/autoload_static.php
@@ -70,7 +70,6 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c
         'OCP\\AppFramework\\Http\\Response' => __DIR__ . '/../../..' . '/lib/public/AppFramework/Http/Response.php',
         'OCP\\AppFramework\\Http\\StreamResponse' => __DIR__ . '/../../..' . '/lib/public/AppFramework/Http/StreamResponse.php',
         'OCP\\AppFramework\\Http\\TemplateResponse' => __DIR__ . '/../../..' . '/lib/public/AppFramework/Http/TemplateResponse.php',
-        'OCP\\AppFramework\\IApi' => __DIR__ . '/../../..' . '/lib/public/AppFramework/IApi.php',
         'OCP\\AppFramework\\IAppContainer' => __DIR__ . '/../../..' . '/lib/public/AppFramework/IAppContainer.php',
         'OCP\\AppFramework\\Middleware' => __DIR__ . '/../../..' . '/lib/public/AppFramework/Middleware.php',
         'OCP\\AppFramework\\OCSController' => __DIR__ . '/../../..' . '/lib/public/AppFramework/OCSController.php',
@@ -346,7 +345,6 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c
         'OC\\AllConfig' => __DIR__ . '/../../..' . '/lib/private/AllConfig.php',
         'OC\\AppConfig' => __DIR__ . '/../../..' . '/lib/private/AppConfig.php',
         'OC\\AppFramework\\App' => __DIR__ . '/../../..' . '/lib/private/AppFramework/App.php',
-        'OC\\AppFramework\\Core\\API' => __DIR__ . '/../../..' . '/lib/private/AppFramework/Core/API.php',
         'OC\\AppFramework\\DependencyInjection\\DIContainer' => __DIR__ . '/../../..' . '/lib/private/AppFramework/DependencyInjection/DIContainer.php',
         'OC\\AppFramework\\Http' => __DIR__ . '/../../..' . '/lib/private/AppFramework/Http.php',
         'OC\\AppFramework\\Http\\Dispatcher' => __DIR__ . '/../../..' . '/lib/private/AppFramework/Http/Dispatcher.php',
diff --git a/lib/private/AppFramework/Core/API.php b/lib/private/AppFramework/Core/API.php
deleted file mode 100644
index 683962d67dcb35edf7c1217ede46cc3026f51ea7..0000000000000000000000000000000000000000
--- a/lib/private/AppFramework/Core/API.php
+++ /dev/null
@@ -1,188 +0,0 @@
-<?php
-/**
- * @copyright Copyright (c) 2016, ownCloud, Inc.
- *
- * @author Bernhard Posselt <dev@bernhard-posselt.com>
- * @author Lukas Reschke <lukas@statuscode.ch>
- * @author Morris Jobke <hey@morrisjobke.de>
- * @author Robin Appelman <robin@icewind.nl>
- * @author Robin McCorkell <robin@mccorkell.me.uk>
- * @author Thomas Müller <thomas.mueller@tmit.eu>
- *
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program.  If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-
-namespace OC\AppFramework\Core;
-use OCP\AppFramework\IApi;
-
-
-/**
- * This is used to wrap the owncloud static api calls into an object to make the
- * code better abstractable for use in the dependency injection container
- *
- * Should you find yourself in need for more methods, simply inherit from this
- * class and add your methods
- * @deprecated
- */
-class API implements IApi{
-
-	private $appName;
-
-	/**
-	 * constructor
-	 * @param string $appName the name of your application
-	 */
-	public function __construct($appName){
-		$this->appName = $appName;
-	}
-
-
-	/**
-	 * Gets the userid of the current user
-	 * @return string the user id of the current user
-	 * @deprecated Use \OC::$server->getUserSession()->getUser()->getUID()
-	 */
-	public function getUserId(){
-		return \OCP\User::getUser();
-	}
-
-
-	/**
-	 * Adds a new javascript file
-	 * @deprecated include javascript and css in template files
-	 * @param string $scriptName the name of the javascript in js/ without the suffix
-	 * @param string $appName the name of the app, defaults to the current one
-	 */
-	public function addScript($scriptName, $appName=null){
-		if($appName === null){
-			$appName = $this->appName;
-		}
-		\OCP\Util::addScript($appName, $scriptName);
-	}
-
-
-	/**
-	 * Adds a new css file
-	 * @deprecated include javascript and css in template files
-	 * @param string $styleName the name of the css file in css/without the suffix
-	 * @param string $appName the name of the app, defaults to the current one
-	 */
-	public function addStyle($styleName, $appName=null){
-		if($appName === null){
-			$appName = $this->appName;
-		}
-		\OCP\Util::addStyle($appName, $styleName);
-	}
-
-
-	/**
-	 * @deprecated include javascript and css in template files
-	 * shorthand for addScript for files in the 3rdparty directory
-	 * @param string $name the name of the file without the suffix
-	 */
-	public function add3rdPartyScript($name){
-		\OCP\Util::addScript($this->appName . '/3rdparty', $name);
-	}
-
-
-	/**
-	 * @deprecated include javascript and css in template files
-	 * shorthand for addStyle for files in the 3rdparty directory
-	 * @param string $name the name of the file without the suffix
-	 */
-	public function add3rdPartyStyle($name){
-		\OCP\Util::addStyle($this->appName . '/3rdparty', $name);
-	}
-
-
-	/**
-	 * @deprecated communication between apps should happen over built in
-	 * callbacks or interfaces (check the contacts and calendar managers)
-	 * Checks if an app is enabled
-	 * also use \OC::$server->getAppManager()->isEnabledForUser($appName)
-	 * @param string $appName the name of an app
-	 * @return bool true if app is enabled
-	 */
-	public function isAppEnabled($appName){
-		return \OCP\App::isEnabled($appName);
-	}
-
-
-	/**
-	 * used to return and open a new event source
-	 * @return \OCP\IEventSource a new open EventSource class
-	 * @deprecated Use \OC::$server->createEventSource();
-	 */
-	public function openEventSource(){
-		return \OC::$server->createEventSource();
-	}
-
-	/**
-	 * @deprecated register hooks directly for class that build in hook interfaces
-	 * connects a function to a hook
-	 * @param string $signalClass class name of emitter
-	 * @param string $signalName name of signal
-	 * @param string $slotClass class name of slot
-	 * @param string $slotName name of slot, in another word, this is the
-	 *               name of the method that will be called when registered
-	 *               signal is emitted.
-	 * @return bool always true
-	 */
-	public function connectHook($signalClass, $signalName, $slotClass, $slotName) {
-		return \OCP\Util::connectHook($signalClass, $signalName, $slotClass, $slotName);
-	}
-
-	/**
-	 * @deprecated implement the emitter interface instead
-	 * Emits a signal. To get data from the slot use references!
-	 * @param string $signalClass class name of emitter
-	 * @param string $signalName name of signal
-	 * @param array $params default: array() array with additional data
-	 * @return bool true if slots exists or false if not
-	 */
-	public function emitHook($signalClass, $signalName, $params = array()) {
-		return  \OCP\Util::emitHook($signalClass, $signalName, $params);
-	}
-
-	/**
-	 * clear hooks
-	 * @deprecated clear hooks directly for class that build in hook interfaces
-	 * @param string $signalClass
-	 * @param string $signalName
-	 */
-	public function clearHook($signalClass=false, $signalName=false) {
-		if ($signalClass) {
-			\OC_Hook::clear($signalClass, $signalName);
-		}
-	}
-
-	/**
-	 * Tells ownCloud to include a template in the admin overview
-	 * @param string $mainPath the path to the main php file without the php
-	 * suffix, relative to your apps directory! not the template directory
-	 * @param string $appName the name of the app, defaults to the current one
-	 */
-	public function registerAdmin($mainPath, $appName=null) {
-		if($appName === null){
-			$appName = $this->appName;
-		}
-
-		\OCP\App::registerAdmin($appName, $mainPath);
-	}
-
-
-}
diff --git a/lib/private/AppFramework/DependencyInjection/DIContainer.php b/lib/private/AppFramework/DependencyInjection/DIContainer.php
index 47566e0381ccc58c342c9e7f7b0308ba1f05dc67..94c725f3fbc1739255ddc8189daace346f18f10e 100644
--- a/lib/private/AppFramework/DependencyInjection/DIContainer.php
+++ b/lib/private/AppFramework/DependencyInjection/DIContainer.php
@@ -36,7 +36,6 @@
 namespace OC\AppFramework\DependencyInjection;
 
 use OC;
-use OC\AppFramework\Core\API;
 use OC\AppFramework\Http;
 use OC\AppFramework\Http\Dispatcher;
 use OC\AppFramework\Http\Output;
@@ -51,7 +50,6 @@ use OC\Core\Middleware\TwoFactorMiddleware;
 use OC\RichObjectStrings\Validator;
 use OC\ServerContainer;
 use OCP\AppFramework\Http\IOutput;
-use OCP\AppFramework\IApi;
 use OCP\AppFramework\IAppContainer;
 use OCP\AppFramework\QueryException;
 use OCP\AppFramework\Utility\ITimeFactory;
@@ -180,17 +178,6 @@ class DIContainer extends SimpleContainer implements IAppContainer {
 			);
 		});
 
-		/**
-		 * App Framework APIs
-		 */
-		$this->registerService('API', function($c){
-			$c->query('OCP\\ILogger')->debug(
-				'Accessing the API class is deprecated! Use the appropriate ' .
-				'services instead!'
-			);
-			return new API($c['AppName']);
-		});
-
 		$this->registerService('Protocol', function($c){
 			/** @var \OC\Server $server */
 			$server = $c->query('ServerContainer');
@@ -335,16 +322,6 @@ class DIContainer extends SimpleContainer implements IAppContainer {
 
 	}
 
-
-	/**
-	 * @deprecated implements only deprecated methods
-	 * @return IApi
-	 */
-	public function getCoreApi()
-	{
-		return $this->query('API');
-	}
-
 	/**
 	 * @return \OCP\IServerContainer
 	 */
diff --git a/lib/public/AppFramework/IApi.php b/lib/public/AppFramework/IApi.php
deleted file mode 100644
index 7e2cf905f8456c663a899ddee949a22f1a80e29a..0000000000000000000000000000000000000000
--- a/lib/public/AppFramework/IApi.php
+++ /dev/null
@@ -1,99 +0,0 @@
-<?php
-/**
- * @copyright Copyright (c) 2016, ownCloud, Inc.
- *
- * @author Bernhard Posselt <dev@bernhard-posselt.com>
- * @author Jörn Friedrich Dreyer <jfd@butonic.de>
- * @author Morris Jobke <hey@morrisjobke.de>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- * @author Thomas Müller <thomas.mueller@tmit.eu>
- *
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program.  If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-/**
- * Public interface of ownCloud for apps to use.
- * AppFramework/IApi interface
- */
-
-namespace OCP\AppFramework;
-
-
-/**
- * A few very basic and frequently used API functions are combined in here
- * @deprecated 8.0.0
- */
-interface IApi {
-
-
-	/**
-	 * Gets the userid of the current user
-	 * @return string the user id of the current user
-	 * @deprecated 8.0.0 Use \OC::$server->getUserSession()->getUser()->getUID()
-	 */
-	public function getUserId();
-
-
-	/**
-	 * Adds a new javascript file
-	 * @deprecated 8.0.0 include javascript and css in template files
-	 * @param string $scriptName the name of the javascript in js/ without the suffix
-	 * @param string $appName the name of the app, defaults to the current one
-	 * @return void
-	 */
-	public function addScript($scriptName, $appName = null);
-
-
-	/**
-	 * Adds a new css file
-	 * @deprecated 8.0.0 include javascript and css in template files
-	 * @param string $styleName the name of the css file in css/without the suffix
-	 * @param string $appName the name of the app, defaults to the current one
-	 * @return void
-	 */
-	public function addStyle($styleName, $appName = null);
-
-
-	/**
-	 * @deprecated 8.0.0 include javascript and css in template files
-	 * shorthand for addScript for files in the 3rdparty directory
-	 * @param string $name the name of the file without the suffix
-	 * @return void
-	 */
-	public function add3rdPartyScript($name);
-
-
-	/**
-	 * @deprecated 8.0.0 include javascript and css in template files
-	 * shorthand for addStyle for files in the 3rdparty directory
-	 * @param string $name the name of the file without the suffix
-	 * @return void
-	 */
-	public function add3rdPartyStyle($name);
-
-
-	/**
-	 * Checks if an app is enabled
-	 * @deprecated 8.0.0 communication between apps should happen over built in
-	 * callbacks or interfaces (check the contacts and calendar managers)
-	 * Checks if an app is enabled
-	 * also use \OC::$server->getAppManager()->isEnabledForUser($appName)
-	 * @param string $appName the name of an app
-	 * @return bool true if app is enabled
-	 */
-	public function isAppEnabled($appName);
-
-}
diff --git a/tests/lib/AppFramework/DependencyInjection/DIContainerTest.php b/tests/lib/AppFramework/DependencyInjection/DIContainerTest.php
index fd6fe84b8796ada9b716d780c9ceef09a6d45d31..d4581aaaf236bb8c2d94841d159028617d5590df 100644
--- a/tests/lib/AppFramework/DependencyInjection/DIContainerTest.php
+++ b/tests/lib/AppFramework/DependencyInjection/DIContainerTest.php
@@ -27,7 +27,6 @@
 namespace Test\AppFramework\DependencyInjection;
 
 
-use OC\AppFramework\Core\API;
 use OC\AppFramework\DependencyInjection\DIContainer;
 use \OC\AppFramework\Http\Request;
 use OCP\AppFramework\QueryException;
@@ -49,13 +48,6 @@ class DIContainerTest extends \Test\TestCase {
 			->setMethods(['isAdminUser'])
 			->setConstructorArgs(['name'])
 			->getMock();
-		$this->api = $this->getMockBuilder(API::class)
-			->setConstructorArgs(['hi'])
-			->getMock();
-	}
-
-	public function testProvidesAPI(){
-		$this->assertTrue(isset($this->container['API']));
 	}
 
 
diff --git a/tests/lib/AppFramework/Http/TemplateResponseTest.php b/tests/lib/AppFramework/Http/TemplateResponseTest.php
index 4f779e8c69793377f26afc502039838d4b3d8113..c06497ef5d5ada2d0f67a24e22cabc7326e3a328 100644
--- a/tests/lib/AppFramework/Http/TemplateResponseTest.php
+++ b/tests/lib/AppFramework/Http/TemplateResponseTest.php
@@ -35,29 +35,16 @@ class TemplateResponseTest extends \Test\TestCase {
 	 */
 	private $tpl;
 
-	/**
-	 * @var \OCP\AppFramework\IApi
-	 */
-	private $api;
-
 	protected function setUp() {
 		parent::setUp();
 
-		$this->api = $this->getMockBuilder('OC\AppFramework\Core\API')
-			->setMethods(['getAppName'])
-			->setConstructorArgs(['test'])
-			->getMock();
-		$this->api->expects($this->any())
-				->method('getAppName')
-				->will($this->returnValue('app'));
-
-		$this->tpl = new TemplateResponse($this->api, 'home');
+		$this->tpl = new TemplateResponse('app', 'home');
 	}
 
 
 	public function testSetParamsConstructor(){
 		$params = array('hi' => 'yo');
-		$this->tpl = new TemplateResponse($this->api, 'home', $params);
+		$this->tpl = new TemplateResponse('app', 'home', $params);
 
 		$this->assertEquals(array('hi' => 'yo'), $this->tpl->getParams());
 	}
@@ -65,7 +52,7 @@ class TemplateResponseTest extends \Test\TestCase {
 
 	public function testSetRenderAsConstructor(){
 		$renderAs = 'myrender';
-		$this->tpl = new TemplateResponse($this->api, 'home', array(), $renderAs);
+		$this->tpl = new TemplateResponse('app', 'home', array(), $renderAs);
 
 		$this->assertEquals($renderAs, $this->tpl->getRenderAs());
 	}