Drupal APIs

Each version of Drupal introduces new APIs and keeps only some of the previous major versions’ APIs.

Before diving into the documentation below you might want to read the background and prerequisites, and the Creating custom modules guides, both of which explain some concepts and terminology that will be assumed knowledge in the API documentation here. Finally, review the Drupal 8 backwards compatibility policy for an explanation of what may change between minor versions of Drupal 8/9 and what will remain stable.

AJAX API

Using the AJAX API to dynamically update forms/displays.

Authentication API

Documentation for Authentication API in Drupal 8.

Batch API

Documentation for Batch API in Drupal 8.

Block API

Documentation for Block API in Drupal 8.

Cache API

Documentation for Cache API in Drupal 8.

(deprecated) CKEditor 4 API (Drupal 8 and 9)

Documentation for the deprecated CKEditor 4 API in Drupal 8 and 9.

CKEditor 5 API

Documentation for CKEditor 5 API in Drupal 9.

Configuration API

Configuration API in Drupal 8.

Database API

Documentation for the Database API in Drupal 8.

Entity API

Drupal 8 Entity API documentation.

Filter API

Documentation for Filter API in Drupal 8.

Form API

Drupal's Form API provides a unified way for authoring HTML input forms and handling form validation and submission.

JavaScript API

Drupal 8 JavaScript API.

Layout API

Documentation for Layout API in Drupal 8.

Logging API

Documentation for Logging API in Drupal 8.

Menu API

Menu API in Drupal 8.

Middleware API

Documentation for Middleware API in Drupal 8.

Migrate API

The Migrate API provides services for migrating data from different sources to Drupal 9 (or later)

Plugin API

The Plugins API is used to extend Drupal and add new functionality, and allow modules to define new plugin types.

Quick Edit API

Documentation for Quick Edit API

RESTful Web Services API

RESTful Web Services API in Drupal 8.

Render API

Render API in Drupal 8.

Responses

Drupal represents the responses it sends as Symfony Response objects.

Routing system

Routing system in Drupal 8.

Runtime Assertions

A runtime assertion is a statement that is expected to always be true at the point in the code it appears at.

Serialization API

Serialization API in Drupal 8.

Services and dependency injection

Services and dependency injection in Drupal 8.

State API

Documentation for State API in Drupal.

Text Editor API

Documentation for Text Editor API in Drupal 8.

Tour API

Documentation for Tour API in Drupal 8.

Translation API (Code text)

Documentation for Translation API (Code text) in Drupal 8.

Typed Data API

The Typed Data API is a low level API that describes data based on a set of available types.

Update API

Update API for Drupal 8 (hook_update_N() etc.)

Access policy API

How to use the acces policy API to provide flexible access controls

Guide maintainers

eojthebrave's picture