Skip to main content
Apivalk home page
Search...
⌘K
Releases
Getting started
Intro
Configuration
Contributing
Deprecation & Upgrade
Installation
Support Policy Release Cycle
Concepts
Coding Standards
Request Lifecycle
Structure
Best OpenAPI/REST Practices
HTTP
Overview
Controller
Request
Response
Pagination
Filtering
Sorting
Localization
Resources
Resources
Defining a Resource
Resource Controllers
Resource Responses
Routing
Routing
Route
Router
Rate Limit
Cache
Overview
Filesystem & Custom Cache
Middleware
Middleware
Request Validation
Sanitize
Authentication Middleware
Security Middleware
Rate Limit Middleware
Documentation (OpenAPI)
Overview
Docblock Generator
OpenAPI Generator
Property
Property Collection
Request
Response
Response Objects
Core System
Error Handling
Events
Util
Security
Overview
Identities
Authenticators
Customization
Customization
How-To Guides
How-To Guides
Configure Apivalk
Build a public endpoint: GET /health
Build a CRUD surface with a resource (Animal)
Build a full CRUD surface without resources
Model complex objects with PropertyCollection
Authenticate, authorize, and inspect identity
Authenticate with JWT (JWKS)
Authenticate with a custom API key header
Add filtering to a list endpoint
Add sorting to a list endpoint
Add pagination to a list endpoint
Add rate limiting
Write a custom middleware
Generate OpenAPI and request docblocks
API Standards
REST API Standards Overview
RESTful design and naming
Versioning and resource structure
Pagination, filtering, and sorting
Response format and status codes
Localization and internationalization
Main page
Apivalk home page
Search...
⌘K
Main page
Main page
Search...
Navigation
Concepts
Best OpenAPI/REST Practices
Documentation
Documentation
Concepts
Best OpenAPI/REST Practices
Copy page
Apivalk follows and introduces modern best practices for OpenAPI
Copy page
TBD
Was this page helpful?
Yes
No
Previous
Overview
The HTTP layer in Apivalk provides a robust, type-safe, and structured way to handle the web request/response cycle. It bridges the gap between raw PHP superglobals and your business logic.
Next
⌘I