Skip to main content Skip to search
Main Menu
  • Go to Drupal.org
  • Drupal 7
  • Drupal 8
  • Other projects
  • Develop for Drupal
Return to Content

Search form

  • Log in, view profile, and more
    • Log in
    • Create account
Drupal API

API reference

Primary tabs

  • Drupal 4.6.x
  • Drupal 4.7.x
  • Drupal 5.x
  • Drupal 6.x
  • Drupal 7.x
  • Drupal 8.0.x
  • Drupal 8.1.x
  • Drupal 8.2.x(active tab)

Welcome to the Drupal API Documentation!

This site is an API reference for Drupal, generated from comments embedded in the source code. More in-depth documentation can be found at https://www.drupal.org/developing/api.

Here are some topics to help you get started developing with Drupal.

Essential background concepts

  • Object-oriented conventions used in Drupal
  • Extending and altering Drupal
  • Security and best practices
  • Types of information in Drupal

User interface

  • Menu entries, local tasks, and other links
  • Routing API and page controllers
  • Forms
  • Blocks
  • Ajax

Storing and retrieving data

  • Entities
  • Fields
  • Configuration API
  • State API
  • Views
  • Database abstraction layer

Other essential APIs

  • Plugins
  • Services and the Dependency Injection Container
  • Events
  • Internationalization
  • Caching
  • Utility classes and functions
  • User accounts, permissions, and roles
  • Render API
  • Theme system
  • Update API
  • Migration

Additional topics

  • Batch API
  • Queue API
  • Typed Data
  • Automated tests
  • PHP Runtime Assert Statements
  • Integrating third-party applications

Further information

  • All topics
  • Examples project (sample modules)
  • API change notices
  • Drupal 8 API longer references

Search Drupal 8.2.x

Partial match search is supported

API Navigation

  • Drupal 8.2.x
  • Topics
  • Classes
  • Functions
  • Files
  • Namespaces
  • Services
  • Constants
  • Globals
  • Deprecated

News items

  • Drupal news
  • Planet Drupal
  • Association news
  • Social media directory
  • Security announcements
  • Jobs

Our community

  • Community
  • Getting involved
  • Services, Training & Hosting
  • Groups & Meetups
  • DrupalCon
  • Code of conduct

Documentation

  • Documentation
  • Drupal 8 docs
  • Drupal 7 docs
  • Developer docs
  • api.drupal.org

Drupal code base

  • Download & Extend
  • Drupal core
  • Modules
  • Themes
  • Distributions

Governance of community

  • About
  • Web accessibility
  • The Drupal Association
  • About Drupal.org
  • Terms of service
  • Privacy policy

All source code and documentation on this site is released under the terms of the GNU General Public License, version 2 and later. Drupal is a registered trademark of Dries Buytaert.