# api-platform/core

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/api-platform-core).**

2,564 stars · 969 forks · PHP · MIT

## Links

- GitHub: https://github.com/api-platform/core
- Homepage: https://api-platform.com
- awesome-repositories: https://awesome-repositories.com/repository/api-platform-core.md

## Topics

`api` `api-platform` `graphql` `hacktoberfest` `hal` `hydra-api` `hypermedia` `json-ld` `jsonapi` `php` `rest` `swagger` `symfony` `symfony-bundle`

## Description

This project is a PHP-based framework designed for the automated development of standardized web services. It functions as a backend toolkit that maps internal data models to REST and GraphQL endpoints, providing built-in support for resource management, data serialization, and hypermedia-aware API operations.

The framework distinguishes itself through a metadata-driven architecture that uses class-level attributes to automatically derive API schemas, validation rules, and documentation. By analyzing these definitions at runtime, it generates machine-readable specifications and interactive interfaces, while simultaneously scaffolding administrative dashboards and frontend client code to accelerate development workflows.

Beyond core endpoint generation, the platform includes an event-driven request pipeline that manages authentication, authorization, and data validation. It supports complex data operations through declarative filtering, pagination, and asynchronous task processing, while maintaining real-time state synchronization by broadcasting resource updates to connected clients.

To optimize performance and ensure data integrity, the framework incorporates response caching, related data preloading, and role-based access control. It is designed to be installed as a library within existing PHP environments to provide a comprehensive suite of tools for service-oriented architecture.

## Tags

### Web Development

- [PHP Development Toolkits](https://awesome-repositories.com/f/web-development/php-development-toolkits.md) — Provides a comprehensive toolkit for building standardized web services by mapping data models to REST and GraphQL endpoints.
- [RESTful API Development](https://awesome-repositories.com/f/web-development/restful-api-development.md) — Provides a framework for building standardized REST and GraphQL web services from data models.
- [Event-Driven Pipelines](https://awesome-repositories.com/f/web-development/backend-development/request-response-handling/request-and-response-transformers/event-driven-pipelines.md) — Processes incoming HTTP requests through a modular event-driven pipeline for authentication, validation, and transformation.
- [Data Validation](https://awesome-repositories.com/f/web-development/data-validation.md) — Validates incoming request payloads against defined metadata to ensure data integrity before processing or persistence. ([source](https://api-platform.com/docs/core))
- [Server-Side REST API Frameworks](https://awesome-repositories.com/f/web-development/restful-api-development/server-side-rest-api-frameworks.md) — Generates hypermedia and GraphQL endpoints from data models with built-in validation and documentation.
- [Response Formatting](https://awesome-repositories.com/f/web-development/response-formatting.md) — Converts internal data structures into standardized media types like JSON-LD, OpenAPI, and HAL. ([source](https://github.com/api-platform/core#readme))
- [OpenAPI Specification Generators](https://awesome-repositories.com/f/web-development/restful-apis/documentation-schemas/openapi-specification-generators.md) — Creates machine-readable OpenAPI specifications and interactive interfaces directly from existing code metadata.
- [API Documentation Generators](https://awesome-repositories.com/f/web-development/schema-validation/schema-introspection/api-documentation-generators.md) — Uses runtime reflection to automatically generate interactive API documentation and schemas from code metadata.

### Development Tools & Productivity

- [Attribute Metadata Annotations](https://awesome-repositories.com/f/development-tools-productivity/attribute-metadata-annotations.md) — Uses class-level attributes to derive API schemas, validation rules, and serialization logic from data models.
- [Automatic Endpoint Mapping](https://awesome-repositories.com/f/development-tools-productivity/automatic-endpoint-mapping.md) — Maps internal data structures to REST and GraphQL endpoints automatically to enable resource operations. ([source](https://github.com/api-platform/core#readme))
- [Administrative Automation APIs](https://awesome-repositories.com/f/development-tools-productivity/administrative-automation-apis.md) — Builds functional management dashboards and administrative interfaces by discovering resource schemas and metadata automatically.
- [API Documentation Generators](https://awesome-repositories.com/f/development-tools-productivity/api-documentation-generators.md) — Generates interactive API documentation and machine-readable specifications directly from existing data model metadata. ([source](https://github.com/api-platform/core/blob/main/README.md))

### Security & Cryptography

- [Role-Based Access Control](https://awesome-repositories.com/f/security-cryptography/governance-policy-frameworks/compliance-governance/security-and-compliance/security-and-threat-mitigations/system-access-restrictions/role-based-access-control.md) — Enforces authentication and role-based access control to restrict resource access based on verified user identity and permissions. ([source](https://api-platform.com/docs/core))

### Data & Databases

- [Data Pagination](https://awesome-repositories.com/f/data-databases/data-pagination.md) — Provides automatic filtering, sorting, and pagination for large datasets to optimize API response performance. ([source](https://api-platform.com/))
- [Query Parameter Filters](https://awesome-repositories.com/f/data-databases/data-querying/query-parameter-filters.md) — Translates incoming query parameters into database-specific query builder instructions for filtering and pagination.
- [Resource Serialization Formats](https://awesome-repositories.com/f/data-databases/data-serialization-formats/resource-serialization-formats.md) — Transforms complex object graphs into standardized formats while managing relation embedding and response depth. ([source](https://api-platform.com/docs/core))

### Networking & Communication

- [Real-Time Data Synchronization](https://awesome-repositories.com/f/networking-communication/communication-platforms-services/messaging-notification-systems/real-time-data-synchronization.md) — Broadcasts resource updates to connected clients in real time to keep user interfaces synchronized with backend state. ([source](https://api-platform.com/))
- [Real-Time Data Synchronization](https://awesome-repositories.com/f/networking-communication/real-time-data-synchronization.md) — Broadcasts resource updates to connected clients to keep user interfaces in sync with backend state.

### Software Engineering & Architecture

- [Asynchronous Task Processing](https://awesome-repositories.com/f/software-engineering-architecture/asynchronous-task-processing.md) — Offloads resource operations to background workers to handle complex tasks without blocking the main execution thread. ([source](https://api-platform.com/))
- [Asynchronous Dispatchers](https://awesome-repositories.com/f/software-engineering-architecture/behavioral-design-patterns/mediator-patterns/asynchronous-dispatchers.md) — Offloads resource-intensive operations to background worker queues to maintain responsive API endpoints.
- [Schema-Driven Generators](https://awesome-repositories.com/f/software-engineering-architecture/schema-driven-generators.md) — Analyzes internal object definitions at runtime to dynamically construct OpenAPI and GraphQL specifications.

### System Administration & Monitoring

- [Administrative Site Generators](https://awesome-repositories.com/f/system-administration-monitoring/administrative-operations/remote-access-interface-tools/administrative-interfaces/management-interfaces/administrative-site-generators.md) — Automatically discovers metadata and schemas to generate customizable administrative interfaces for managing data resources. ([source](https://api-platform.com/))
