sourcebroker / t3api
REST API for your TYPO3 project. Config with annotations, build in filtering, pagination, typolinks, image processing, serialization contexts, responses in Hydra/JSON-LD format.
Installs: 70 683
Dependents: 4
Suggesters: 0
Security: 0
Stars: 36
Watchers: 7
Forks: 23
Open Issues: 10
Type:typo3-cms-extension
pkg:composer/sourcebroker/t3api
Requires
- php: ^8.1.0
- ext-json: *
- ext-pdo: *
- ext-tokenizer: *
- doctrine/annotations: ^1.13.3 || ^2.0
- goldspecdigital/oooas: ^2.4
- jms/serializer: ^3.1
- phpdocumentor/reflection-docblock: ^5.2
- symfony/cache: ^6.4 || ^7.0
- symfony/expression-language: ^6.4 || ^7.0
- symfony/http-foundation: ^6.4 || ^7.0
- symfony/mime: ^6.4 || ^7.0
- symfony/property-info: ^6.4 || ^7.0
- symfony/psr-http-message-bridge: ^6.4 || ^7.0
- symfony/routing: ^6.4 || ^7.0
- typo3/cms-core: ^12.4.16 || ^13.3
- typo3/cms-extbase: ^12.4.16 || ^13.3
- typo3/cms-frontend: ^12.4.16 || ^13.3
Requires (Dev)
- ergebnis/composer-normalize: ^2.47.0
- friendsofphp/php-cs-fixer: ^3.75.0
- phpstan/extension-installer: ^1.2.0
- phpstan/phpstan: ^1.12.26
- saschaegerer/phpstan-typo3: ~1.10.2
- seld/jsonlint: ^1.11.0
- symfony/yaml: ^6.0 || ^7.0
- typo3/cms-install: ^12.4.16 || ^13.3
- typo3/coding-standards: ^0.8
- typo3/testing-framework: ^8.2.1
Replaces
- typo3-ter/t3api: 4.1.3
This package is auto-updated.
Last update: 2025-10-16 10:33:07 UTC
README
Features
- Support for Extbase models with GET, POST, PATCH, PUT, DELETE operations.
- Configuration with classes, properties and methods annotations.
- Build-in filters: boolean, numeric, order, range and text (partial, match against and exact strategies).
- Build-in pagination.
- Support for typolinks.
- Support for image processing.
- Support for file uploads (FAL).
- Configurable routing.
- Responses in Hydra /JSON-LD format.
- Serialization contexts - customizable output depending on routing.
- Easy customizable serialization handlers and subscribers.
- Backend module with Swagger for documentation and real testing.
Documentation
Read the docs at https://docs.typo3.org/p/sourcebroker/t3api/master/en-us/
Take a look and test
After cloning repo you can run ddev restart && ddev composer install and then ddev ci 13 to install local integration test instance.
Local instance is available at https://13.t3api.ddev.site/ (login to backend with admin / Password1! credentials).
At frontend part you can at once test REST API responses for ext news:
- https://13.t3api.ddev.site/_api/news/news
- https://13.t3api.ddev.site/_api/news/news/1
- https://13.t3api.ddev.site/_api/news/categories
- etc
You can also run Postman test with ddev composer ci:tests:postman command or full test suite with ddev composer ci.
Postman is doing full CRUD test with category and news (with image).
Development
If you want to help with development take a look at https://docs.typo3.org/p/sourcebroker/t3api/main/en-us/Miscellaneous/Development/Index.html