diff --git a/RECIPES.md b/RECIPES.md
index 1bafc74b..63d53840 100644
--- a/RECIPES.md
+++ b/RECIPES.md
@@ -5,7 +5,8 @@ Additional recipes can be found on the [Contrib Recipes Repository](https://gith
| Package | Latest Recipe | Aliases |
| --- | --- | --- |
| [api-platform/admin-pack](https://packagist.org/packages/api-platform/admin-pack) | [1.0](api-platform/admin-pack/1.0) | `api-admin`, `api-platform-admin`, `apiadmin`, `apiplatformadmin`, `react-admin`, `reactadmin` |
-| [api-platform/core](https://packagist.org/packages/api-platform/core) | [3.3](api-platform/core/3.3) | |
+| [api-platform/core](https://packagist.org/packages/api-platform/core) | [4.0](api-platform/core/4.0) | |
+| [api-platform/symfony](https://packagist.org/packages/api-platform/symfony) | [4.0](api-platform/symfony/4.0) | |
| [blackfireio/blackfire-symfony-meta](https://packagist.org/packages/blackfireio/blackfire-symfony-meta) | [1.0](blackfireio/blackfire-symfony-meta/1.0) | `blackfire` |
| [doctrine/annotations](https://packagist.org/packages/doctrine/annotations) | [1.10](doctrine/annotations/1.10) | |
| [doctrine/doctrine-bundle](https://packagist.org/packages/doctrine/doctrine-bundle) | [2.12](doctrine/doctrine-bundle/2.12) | |
diff --git a/api-platform.core.4.0.json b/api-platform.core.4.0.json
new file mode 100644
index 00000000..d7ebe5d1
--- /dev/null
+++ b/api-platform.core.4.0.json
@@ -0,0 +1,61 @@
+{
+ "manifests": {
+ "api-platform/core": {
+ "manifest": {
+ "bundles": {
+ "ApiPlatform\\Symfony\\Bundle\\ApiPlatformBundle": [
+ "all"
+ ]
+ },
+ "copy-from-recipe": {
+ "config/": "%CONFIG_DIR%/",
+ "src/": "%SRC_DIR%/"
+ },
+ "post-install-output": [
+ " * Your API is almost ready:",
+ " 1. Create your first API resource in src/ApiResource;",
+ " 2. Go to /api to browse your API",
+ "",
+ " * Using MakerBundle? Try php bin/console make:entity --api-resource ",
+ "",
+ " * To enable the GraphQL support, run composer require webonyx/graphql-php>,",
+ " then browse /api/graphql.",
+ "",
+ " * Read> the documentation at https://api-platform.com/docs/>"
+ ]
+ },
+ "files": {
+ "config/packages/api_platform.yaml": {
+ "contents": [
+ "api_platform:",
+ " title: Hello API Platform",
+ " version: 1.0.0",
+ " defaults:",
+ " stateless: true",
+ " cache_headers:",
+ " vary: ['Content-Type', 'Authorization', 'Origin']",
+ ""
+ ],
+ "executable": false
+ },
+ "config/routes/api_platform.yaml": {
+ "contents": [
+ "api_platform:",
+ " resource: .",
+ " type: api_platform",
+ " prefix: /api",
+ ""
+ ],
+ "executable": false
+ },
+ "src/ApiResource/.gitignore": {
+ "contents": [
+ ""
+ ],
+ "executable": false
+ }
+ },
+ "ref": "cb9e6b8ceb9b62f32d41fc8ad72a25d5bd674c6d"
+ }
+ }
+}
diff --git a/api-platform.symfony.3.3.json b/api-platform.symfony.3.3.json
new file mode 100644
index 00000000..532fe4f3
--- /dev/null
+++ b/api-platform.symfony.3.3.json
@@ -0,0 +1,72 @@
+{
+ "manifests": {
+ "api-platform/symfony": {
+ "manifest": {
+ "bundles": {
+ "ApiPlatform\\Symfony\\Bundle\\ApiPlatformBundle": [
+ "all"
+ ]
+ },
+ "copy-from-recipe": {
+ "config/": "%CONFIG_DIR%/",
+ "src/": "%SRC_DIR%/"
+ },
+ "post-install-output": [
+ " * Your API is almost ready:",
+ " 1. Create your first API resource in src/ApiResource;",
+ " 2. Go to /api to browse your API",
+ "",
+ " * Using MakerBundle? Try php bin/console make:entity --api-resource ",
+ "",
+ " * To enable the GraphQL support, run composer require webonyx/graphql-php>,",
+ " then browse /api/graphql.",
+ "",
+ " * Read> the documentation at https://api-platform.com/docs/>"
+ ]
+ },
+ "files": {
+ "config/packages/api_platform.yaml": {
+ "contents": [
+ "api_platform:",
+ " title: Hello API Platform",
+ " version: 1.0.0",
+ " formats:",
+ " jsonld: ['application/ld+json']",
+ " docs_formats:",
+ " jsonld: ['application/ld+json']",
+ " jsonopenapi: ['application/vnd.openapi+json']",
+ " html: ['text/html']",
+ " defaults:",
+ " stateless: true",
+ " cache_headers:",
+ " vary: ['Content-Type', 'Authorization', 'Origin']",
+ " extra_properties:",
+ " standard_put: true",
+ " rfc_7807_compliant_errors: true",
+ " keep_legacy_inflector: false",
+ " use_symfony_listeners: true",
+ ""
+ ],
+ "executable": false
+ },
+ "config/routes/api_platform.yaml": {
+ "contents": [
+ "api_platform:",
+ " resource: .",
+ " type: api_platform",
+ " prefix: /api",
+ ""
+ ],
+ "executable": false
+ },
+ "src/ApiResource/.gitignore": {
+ "contents": [
+ ""
+ ],
+ "executable": false
+ }
+ },
+ "ref": "74b45ac570c57eb1fbe56c984091a9ff87e18bab"
+ }
+ }
+}
diff --git a/api-platform.symfony.4.0.json b/api-platform.symfony.4.0.json
new file mode 100644
index 00000000..11864f80
--- /dev/null
+++ b/api-platform.symfony.4.0.json
@@ -0,0 +1,61 @@
+{
+ "manifests": {
+ "api-platform/symfony": {
+ "manifest": {
+ "bundles": {
+ "ApiPlatform\\Symfony\\Bundle\\ApiPlatformBundle": [
+ "all"
+ ]
+ },
+ "copy-from-recipe": {
+ "config/": "%CONFIG_DIR%/",
+ "src/": "%SRC_DIR%/"
+ },
+ "post-install-output": [
+ " * Your API is almost ready:",
+ " 1. Create your first API resource in src/ApiResource;",
+ " 2. Go to /api to browse your API",
+ "",
+ " * Using MakerBundle? Try php bin/console make:entity --api-resource ",
+ "",
+ " * To enable the GraphQL support, run composer require api-platform/graphql>,",
+ " then browse /api/graphql.",
+ "",
+ " * Read> the documentation at https://api-platform.com/docs/>"
+ ]
+ },
+ "files": {
+ "config/packages/api_platform.yaml": {
+ "contents": [
+ "api_platform:",
+ " title: Hello API Platform",
+ " version: 1.0.0",
+ " defaults:",
+ " stateless: true",
+ " cache_headers:",
+ " vary: ['Content-Type', 'Authorization', 'Origin']",
+ ""
+ ],
+ "executable": false
+ },
+ "config/routes/api_platform.yaml": {
+ "contents": [
+ "api_platform:",
+ " resource: .",
+ " type: api_platform",
+ " prefix: /api",
+ ""
+ ],
+ "executable": false
+ },
+ "src/ApiResource/.gitignore": {
+ "contents": [
+ ""
+ ],
+ "executable": false
+ }
+ },
+ "ref": "e9952e9f393c2d048f10a78f272cd35e807d972b"
+ }
+ }
+}
diff --git a/archived/api-platform.core/cb9e6b8ceb9b62f32d41fc8ad72a25d5bd674c6d.json b/archived/api-platform.core/cb9e6b8ceb9b62f32d41fc8ad72a25d5bd674c6d.json
new file mode 100644
index 00000000..d7ebe5d1
--- /dev/null
+++ b/archived/api-platform.core/cb9e6b8ceb9b62f32d41fc8ad72a25d5bd674c6d.json
@@ -0,0 +1,61 @@
+{
+ "manifests": {
+ "api-platform/core": {
+ "manifest": {
+ "bundles": {
+ "ApiPlatform\\Symfony\\Bundle\\ApiPlatformBundle": [
+ "all"
+ ]
+ },
+ "copy-from-recipe": {
+ "config/": "%CONFIG_DIR%/",
+ "src/": "%SRC_DIR%/"
+ },
+ "post-install-output": [
+ " * Your API is almost ready:",
+ " 1. Create your first API resource in src/ApiResource;",
+ " 2. Go to /api to browse your API",
+ "",
+ " * Using MakerBundle? Try php bin/console make:entity --api-resource ",
+ "",
+ " * To enable the GraphQL support, run composer require webonyx/graphql-php>,",
+ " then browse /api/graphql.",
+ "",
+ " * Read> the documentation at https://api-platform.com/docs/>"
+ ]
+ },
+ "files": {
+ "config/packages/api_platform.yaml": {
+ "contents": [
+ "api_platform:",
+ " title: Hello API Platform",
+ " version: 1.0.0",
+ " defaults:",
+ " stateless: true",
+ " cache_headers:",
+ " vary: ['Content-Type', 'Authorization', 'Origin']",
+ ""
+ ],
+ "executable": false
+ },
+ "config/routes/api_platform.yaml": {
+ "contents": [
+ "api_platform:",
+ " resource: .",
+ " type: api_platform",
+ " prefix: /api",
+ ""
+ ],
+ "executable": false
+ },
+ "src/ApiResource/.gitignore": {
+ "contents": [
+ ""
+ ],
+ "executable": false
+ }
+ },
+ "ref": "cb9e6b8ceb9b62f32d41fc8ad72a25d5bd674c6d"
+ }
+ }
+}
diff --git a/archived/api-platform.symfony/74b45ac570c57eb1fbe56c984091a9ff87e18bab.json b/archived/api-platform.symfony/74b45ac570c57eb1fbe56c984091a9ff87e18bab.json
new file mode 100644
index 00000000..532fe4f3
--- /dev/null
+++ b/archived/api-platform.symfony/74b45ac570c57eb1fbe56c984091a9ff87e18bab.json
@@ -0,0 +1,72 @@
+{
+ "manifests": {
+ "api-platform/symfony": {
+ "manifest": {
+ "bundles": {
+ "ApiPlatform\\Symfony\\Bundle\\ApiPlatformBundle": [
+ "all"
+ ]
+ },
+ "copy-from-recipe": {
+ "config/": "%CONFIG_DIR%/",
+ "src/": "%SRC_DIR%/"
+ },
+ "post-install-output": [
+ " * Your API is almost ready:",
+ " 1. Create your first API resource in src/ApiResource;",
+ " 2. Go to /api to browse your API",
+ "",
+ " * Using MakerBundle? Try php bin/console make:entity --api-resource ",
+ "",
+ " * To enable the GraphQL support, run composer require webonyx/graphql-php>,",
+ " then browse /api/graphql.",
+ "",
+ " * Read> the documentation at https://api-platform.com/docs/>"
+ ]
+ },
+ "files": {
+ "config/packages/api_platform.yaml": {
+ "contents": [
+ "api_platform:",
+ " title: Hello API Platform",
+ " version: 1.0.0",
+ " formats:",
+ " jsonld: ['application/ld+json']",
+ " docs_formats:",
+ " jsonld: ['application/ld+json']",
+ " jsonopenapi: ['application/vnd.openapi+json']",
+ " html: ['text/html']",
+ " defaults:",
+ " stateless: true",
+ " cache_headers:",
+ " vary: ['Content-Type', 'Authorization', 'Origin']",
+ " extra_properties:",
+ " standard_put: true",
+ " rfc_7807_compliant_errors: true",
+ " keep_legacy_inflector: false",
+ " use_symfony_listeners: true",
+ ""
+ ],
+ "executable": false
+ },
+ "config/routes/api_platform.yaml": {
+ "contents": [
+ "api_platform:",
+ " resource: .",
+ " type: api_platform",
+ " prefix: /api",
+ ""
+ ],
+ "executable": false
+ },
+ "src/ApiResource/.gitignore": {
+ "contents": [
+ ""
+ ],
+ "executable": false
+ }
+ },
+ "ref": "74b45ac570c57eb1fbe56c984091a9ff87e18bab"
+ }
+ }
+}
diff --git a/archived/api-platform.symfony/e9952e9f393c2d048f10a78f272cd35e807d972b.json b/archived/api-platform.symfony/e9952e9f393c2d048f10a78f272cd35e807d972b.json
new file mode 100644
index 00000000..11864f80
--- /dev/null
+++ b/archived/api-platform.symfony/e9952e9f393c2d048f10a78f272cd35e807d972b.json
@@ -0,0 +1,61 @@
+{
+ "manifests": {
+ "api-platform/symfony": {
+ "manifest": {
+ "bundles": {
+ "ApiPlatform\\Symfony\\Bundle\\ApiPlatformBundle": [
+ "all"
+ ]
+ },
+ "copy-from-recipe": {
+ "config/": "%CONFIG_DIR%/",
+ "src/": "%SRC_DIR%/"
+ },
+ "post-install-output": [
+ " * Your API is almost ready:",
+ " 1. Create your first API resource in src/ApiResource;",
+ " 2. Go to /api to browse your API",
+ "",
+ " * Using MakerBundle? Try php bin/console make:entity --api-resource ",
+ "",
+ " * To enable the GraphQL support, run composer require api-platform/graphql>,",
+ " then browse /api/graphql.",
+ "",
+ " * Read> the documentation at https://api-platform.com/docs/>"
+ ]
+ },
+ "files": {
+ "config/packages/api_platform.yaml": {
+ "contents": [
+ "api_platform:",
+ " title: Hello API Platform",
+ " version: 1.0.0",
+ " defaults:",
+ " stateless: true",
+ " cache_headers:",
+ " vary: ['Content-Type', 'Authorization', 'Origin']",
+ ""
+ ],
+ "executable": false
+ },
+ "config/routes/api_platform.yaml": {
+ "contents": [
+ "api_platform:",
+ " resource: .",
+ " type: api_platform",
+ " prefix: /api",
+ ""
+ ],
+ "executable": false
+ },
+ "src/ApiResource/.gitignore": {
+ "contents": [
+ ""
+ ],
+ "executable": false
+ }
+ },
+ "ref": "e9952e9f393c2d048f10a78f272cd35e807d972b"
+ }
+ }
+}
diff --git a/index.json b/index.json
index a1386b2b..2a9ba285 100644
--- a/index.json
+++ b/index.json
@@ -513,7 +513,12 @@
"3.0",
"3.1",
"3.2",
- "3.3"
+ "3.3",
+ "4.0"
+ ],
+ "api-platform/symfony": [
+ "3.3",
+ "4.0"
],
"blackfireio/blackfire-symfony-meta": [
"1.0"