The API Platform Core Library

API Platform Core is an easy-to-use and powerful library to create hypermedia-driven REST APIs. It is a component of the API Platform framework. It can be used as a standalone or with the Symfony framework (recommended).

It embraces JSON for Linked Data (JSON-LD) and Hydra Core Vocabulary web standards but also supports HAL, Swagger/Open API, XML, JSON, CSV and YAML.

Build a working and fully featured CRUD API in minutes. Leverage the awesome features of the tool to develop complex and high-performance API-first projects.

If you are starting a new project, the easiest way to get API Platform up is to install the API Platform Distribution.

Screenshot

Features

Here is the fully featured REST API you'll get in minutes:

  • Automatic CRUD
  • Hypermedia (JSON-LD and HAL)
  • Machine-readable documentation of the API in the Hydra and Swagger/Open API formats, guessed from PHPDoc, Serializer, Validator and Doctrine ORM / MongoDB ODM metadata
  • Nice human-readable documentation built with Swagger UI (including a sandbox) and/or ReDoc
  • Pagination
  • A bunch of filters
  • Ordering
  • Validation using the Symfony Validator Component (with groups support)
  • Advanced authentication and authorization rules
  • Errors serialization (Hydra and the RFC 7807 are supported)
  • Advanced serialization thanks to the Symfony Serializer Component (groups support, relation embedding, max depth...)
  • Automatic routes registration
  • Automatic entrypoint generation giving access to all resources
  • JWT and OAuth support
  • Files and \DateTime and serialization and deserialization

Everything is fully customizable through a powerful event system and strong OOP.

This bundle is extensively tested (unit and functional). The Fixtures/ directory contains a working app covering all features of the library.

Screencasts

SymfonyCasts, API Platform screencasts

The easiest and funniest way to learn how to use API Platform is to watch the more than 60 screencasts available on SymfonyCasts!