*http_method_override?:bool|Param,// Set true to enable support for the '_method' request parameter to determine the intended HTTP method on POST requests. // Default: false
*trust_x_sendfile_type_header?:scalar|Param|null,// Set true to enable support for xsendfile in binary file responses. // Default: "%env(bool:default::SYMFONY_TRUST_X_SENDFILE_TYPE_HEADER)%"
*set_locale_from_accept_language?:bool|Param,// Whether to use the Accept-Language HTTP header to set the Request locale (only when the "_locale" request attribute is not passed). // Default: false
*set_content_language_from_locale?:bool|Param,// Whether to set the Content-Language HTTP header on the Response using the Request locale. // Default: false
*handle_all_throwables?:bool|Param,// HttpKernel will handle all kinds of \Throwable. // Default: true
*csrf_protection?:bool|array{
*enabled?:scalar|Param|null,// Default: null
*stateless_token_ids?:list<scalar|Param|null>,
*check_header?:scalar|Param|null,// Whether to check the CSRF token in a header in addition to a cookie when using stateless protection. // Default: false
*cookie_name?:scalar|Param|null,// The name of the cookie to use when using stateless protection. // Default: "csrf-token"
*terminate_on_cache_hit?:bool|Param,// Deprecated: Setting the "framework.http_cache.terminate_on_cache_hit.terminate_on_cache_hit" configuration option is deprecated. It will be removed in version 9.0.
*collect_serializer_data?:true|Param,// Deprecated: Setting the "framework.profiler.collect_serializer_data.collect_serializer_data" configuration option is deprecated. It will be removed in version 9.0. // Default: true
*default_uri?:scalar|Param|null,// The default URI used to generate URLs in a non-HTTP context. // Default: null
*http_port?:scalar|Param|null,// Default: 80
*https_port?:scalar|Param|null,// Default: 443
*strict_requirements?:scalar|Param|null,// set to true to throw an exception when a parameter does not match the requirements set to false to disable exceptions when a parameter does not match the requirements (and return null instead) set to null to disable parameter checks against requirements 'true' is the preferred configuration in development mode, while 'false' or 'null' might be preferred in production // Default: true
*exclude_dotfiles?:bool|Param,// If true, any files starting with "." will be excluded from the asset mapper. // Default: true
*server?:bool|Param,// If true, a "dev server" will return the assets from the public directory (true in "debug" mode only by default). // Default: true
*public_prefix?:scalar|Param|null,// The public path where the assets will be written to (and served from when "server" is true). // Default: "/assets/"
*missing_import_mode?:"strict"|"warn"|"ignore"|Param,// Behavior if an asset cannot be found when imported from JavaScript or CSS files - e.g. "import './non-existent.js'". "strict" means an exception is thrown, "warn" means a warning is logged, "ignore" means the import is left as-is. // Default: "warn"
*extensions?:array<string,scalar|Param|null>,
*importmap_path?:scalar|Param|null,// The path of the importmap.php file. // Default: "%kernel.project_dir%/importmap.php"
*importmap_polyfill?:scalar|Param|null,// The importmap name that will be used to load the polyfill. Set to false to disable. // Default: "es-module-shims"
*property_metadata_existence_check?:bool|Param,// When enabled, validateProperty() and validatePropertyValue() throw an exception if no metadata is found for the given property. // Default: false
*with_constructor_extractor?:bool|Param,// Registers the constructor extractor. // Default: true
*},
*cache?:array{// Cache configuration
*prefix_seed?:scalar|Param|null,// Used to namespace cache keys when using several apps with the same shared backend. // Default: "_%kernel.project_dir%.%kernel.container_class%"
*app?:scalar|Param|null,// App related cache pools configuration. // Default: "cache.adapter.filesystem"
*system?:scalar|Param|null,// System related cache pools configuration. // Default: "cache.adapter.system"
*default_serializer?:scalar|Param|null,// Service id to use as the default serializer for the transports. // Default: "messenger.transport.native_php_serializer"
*symfony_serializer?:array{
*format?:scalar|Param|null,// Serialization format for the messenger.transport.symfony_serializer service (which is not the serializer used by default). // Default: "json"
*serializer?:scalar|Param|null,// Service id of a custom serializer to use. // Default: null
*options?:array<string,mixed>,
*failure_transport?:scalar|Param|null,// Transport name to send failed messages to (after all retries have failed). // Default: null
*retry_strategy?:string|array{
*service?:scalar|Param|null,// Service id to override the retry strategy entirely. // Default: null
*max_retries?:int|Param,// Default: 3
*delay?:int|Param,// Time in ms to delay (or the initial value when multiplier is used). // Default: 1000
*multiplier?:float|Param,// If greater than 1, delay will grow exponentially for each retry: this delay = (delay * (multiple ^ retries)). // Default: 2
*max_delay?:int|Param,// Max time in ms that a retry should ever be delayed (0 = infinite). // Default: 0
*jitter?:float|Param,// Randomness to apply to the delay (between 0 and 1). // Default: 0.1
*},
*rate_limiter?:scalar|Param|null,// Rate limiter name to use when processing messages. // Default: null
*}>,
*failure_transport?:scalar|Param|null,// Transport name to send failed messages to (after all retries have failed). // Default: null
*delay?:int|Param,// Time in ms to delay (or the initial value when multiplier is used). // Default: 1000
*multiplier?:float|Param,// If greater than 1, delay will grow exponentially for each retry: delay * (multiple ^ retries). // Default: 2
*max_delay?:int|Param,// Max time in ms that a retry should ever be delayed (0 = infinite). // Default: 0
*jitter?:float|Param,// Randomness in percent (between 0 and 1) to apply to the delay. // Default: 0.1
*},
*},
*mock_response_factory?:scalar|Param|null,// `true` to always return empty 200 responses, or the id of the service to use to generate mock responses - which should be either an invokable or an iterable.
*scope?:scalar|Param|null,// The regular expression that the request URL must match before adding the other options. When none is provided, the base URI is used instead.
*base_uri?:scalar|Param|null,// The URI to resolve relative URLs, following rules in RFC 3985, section 2.
*auth_basic?:scalar|Param|null,// An HTTP Basic authentication "username:password".
*auth_bearer?:scalar|Param|null,// A token enabling HTTP Bearer authorization.
*auth_ntlm?:scalar|Param|null,// A "username:password" pair to use Microsoft NTLM authentication (requires the cURL extension).
*query?:array<string,scalar|Param|null>,
*headers?:array<string,mixed>,
*max_redirects?:int|Param,// The maximum number of redirects to follow.
*http_version?:scalar|Param|null,// The default HTTP version, typically 1.1 or 2.0, leave to null for the best version.
*resolve?:array<string,scalar|Param|null>,
*proxy?:scalar|Param|null,// The URL of the proxy to pass requests through or null for automatic detection.
*no_proxy?:scalar|Param|null,// A comma separated list of hosts that do not require a proxy to be reached.
*timeout?:float|Param,// The idle timeout, defaults to the "default_socket_timeout" ini parameter.
*max_duration?:float|Param,// The maximum execution time for the request+response as a whole.
*bindto?:scalar|Param|null,// A network interface name, IP address, a host name or a UNIX socket to bind to.
*verify_peer?:bool|Param,// Indicates if the peer should be verified in a TLS context.
*verify_host?:bool|Param,// Indicates if the host should exist as a certificate common name.
*cafile?:scalar|Param|null,// A certificate authority file.
*capath?:scalar|Param|null,// A directory that contains multiple certificate authority files.
*local_cert?:scalar|Param|null,// A PEM formatted certificate file.
*local_pk?:scalar|Param|null,// A private key file.
*passphrase?:scalar|Param|null,// The passphrase used to encrypt the "local_pk" file.
*ciphers?:scalar|Param|null,// A list of TLS ciphers separated by colons, commas or spaces (e.g. "RC3-SHA:TLS13-AES-128-GCM-SHA256"...).
*crypto_method?:scalar|Param|null,// The minimum version of TLS to accept; must be one of STREAM_CRYPTO_METHOD_TLSv*_CLIENT constants.
*mock_response_factory?:scalar|Param|null,// `true` to always return empty 200 responses, `false` to disable mocking, or the id of the service to use to generate mock responses (invokable or iterable).
*extra?:array<string,mixed>,
*rate_limiter?:scalar|Param|null,// Rate limiter name to use for throttling requests. // Default: null
*caching?:bool|array{// Caching configuration.
*enabled?:bool|Param,// Default: false
*cache_pool?:string|Param,// The taggable cache pool to use for storing the responses. // Default: "cache.http_client"
*shared?:bool|Param,// Indicates whether the cache is shared (public) or private. // Default: true
*max_ttl?:int|Param,// The maximum TTL (in seconds) allowed for cached responses. // Default: 86400
*},
*retry_failed?:bool|array{
*enabled?:bool|Param,// Default: false
*retry_strategy?:scalar|Param|null,// service id to override the retry strategy. // Default: null
*repository?:scalar|Param|null,// S/MIME certificate repository service. This service shall implement the `Symfony\Component\Mailer\EventListener\SmimeCertificateRepositoryInterface`. // Default: ""
*cipher?:int|Param,// A set of algorithms used to encrypt the message // Default: null
*lock_factory?:scalar|Param|null,// The service ID of the lock factory used by this limiter (or null to disable locking). // Default: "auto"
*cache_pool?:scalar|Param|null,// The cache pool to use for storing the current limiter state. // Default: "cache.rate_limiter"
*storage_service?:scalar|Param|null,// The service ID of a custom storage implementation, this precedes any configured "cache_pool". // Default: null
*policy?:"fixed_window"|"token_bucket"|"sliding_window"|"compound"|"no_limit"|Param,// The algorithm to be used by this limiter.
*limiters?:string|list<scalar|Param|null>,
*limit?:int|Param,// The maximum allowed hits in a fixed interval or burst.
*interval?:scalar|Param|null,// Configures the fixed interval if "policy" is set to "fixed_window" or "sliding_window". The value must be a number followed by "second", "minute", "hour", "day", "week" or "month" (or their plural equivalent).
*rate?:array{// Configures the fill rate if "policy" is set to "token_bucket".
*interval?:scalar|Param|null,// Configures the rate interval. The value must be a number followed by "second", "minute", "hour", "day", "week" or "month" (or their plural equivalent).
*amount?:int|Param,// Amount of tokens to add each interval. // Default: 1
*},
*anchor_at?:scalar|Param|null,// Aligns the "fixed_window" policy to a calendar (e.g. "2024-01-05 00:00:00 UTC" combined with `interval: 1 month` resets the counter on the 5th of each month). UTC if not specified. // Default: null
*timezone?:scalar|Param|null,// The timezone used when formatting dates, when set to null, the timezone returned by date_default_timezone_get() is used. // Default: null
*},
*number_format?:array{// The default format options for the number_format filter.
*html_to_text_converter?:scalar|Param|null,// A service implementing the "Symfony\Component\Mime\HtmlToTextConverter\HtmlToTextConverterInterface". // Default: null
*erase_credentials?:bool|Param,// Deprecated: Setting the "security.erase_credentials.erase_credentials" configuration option is deprecated. It will be removed in Symfony 9.0, as the "eraseCredentials()" method was removed in Symfony 8.0. // Default: true
*hash_algorithm?:scalar|Param|null,// Name of hashing algorithm for PBKDF2 (i.e. sha256, sha512, etc..) See hash_algos() for a list of supported algorithms. // Default: "sha512"
*class?:scalar|Param|null,// The full entity class name of your user class.
*property?:scalar|Param|null,// Default: null
*manager_name?:scalar|Param|null,// Default: null
*},
*}>,
*firewalls?:array<string,array{// Default: []
*pattern?:scalar|Param|null,
*host?:scalar|Param|null,
*methods?:string|list<scalar|Param|null>,
*security?:bool|Param,// Default: true
*user_checker?:scalar|Param|null,// The UserChecker to use when authenticating users in this firewall. // Default: "security.user_checker"
*request_matcher?:scalar|Param|null,
*access_denied_url?:scalar|Param|null,
*access_denied_handler?:scalar|Param|null,
*entry_point?:scalar|Param|null,// An enabled authenticator name or a service id that implements "Symfony\Component\Security\Http\EntryPoint\AuthenticationEntryPointInterface".
*check_route?:scalar|Param|null,// Route that will validate the login link - e.g. "app_login_link_verify".
*check_post_only?:scalar|Param|null,// If true, only HTTP POST requests to "check_route" will be handled by the authenticator. // Default: false
*signature_properties?:list<scalar|Param|null>,
*lifetime?:int|Param,// The lifetime of the login link in seconds. // Default: 600
*max_uses?:int|Param,// Max number of times a login link can be used - null means unlimited within lifetime. // Default: null
*used_link_cache?:scalar|Param|null,// Cache service id used to expired links of max_uses is set.
*success_handler?:scalar|Param|null,// A service id that implements Symfony\Component\Security\Http\Authentication\AuthenticationSuccessHandlerInterface.
*failure_handler?:scalar|Param|null,// A service id that implements Symfony\Component\Security\Http\Authentication\AuthenticationFailureHandlerInterface.
*provider?:scalar|Param|null,// The user provider to load users from.
*base_uri?:scalar|Param|null,// Base URI of the userinfo endpoint on the OIDC server, or the OIDC server URI to use the discovery (require "discovery" to be configured).
*discovery?:array{// Enable the OIDC discovery.
*cache?:array{
*id?:scalar|Param|null,// Cache service id to use to cache the OIDC discovery configuration.
*},
*},
*claim?:scalar|Param|null,// Claim which contains the user identifier (e.g. sub, email, etc.). // Default: "sub"
*client?:scalar|Param|null,// HttpClient service id to use to call the OIDC server.
*},
*oidc?:array{
*discovery?:array{// Enable the OIDC discovery.
*base_uri?:string|list<scalar|Param|null>,
*cache?:array{
*id?:scalar|Param|null,// Cache service id to use to cache the OIDC discovery configuration.
*},
*enforce_key_usage_verification?:bool|Param,// When enabled (default), only keys explicitly designated for signature (via "use":"sig" or a "key_ops" entry containing "sign"/"verify") are accepted. When disabled, keys without any usage designation are also accepted; keys explicitly restricted to encryption are still rejected. // Default: true
*},
*claim?:scalar|Param|null,// Claim which contains the user identifier (e.g.: sub, email..). // Default: "sub"
*audience?:scalar|Param|null,// Audience set in the token, for validation purpose.
*issuers?:list<scalar|Param|null>,
*algorithms?:list<scalar|Param|null>,
*keyset?:scalar|Param|null,// JSON-encoded JWKSet used to sign the token (must contain a list of valid public keys).
*encryption?:bool|array{
*enabled?:bool|Param,// Default: false
*enforce?:bool|Param,// When enabled, the token shall be encrypted. // Default: false
*algorithms?:list<scalar|Param|null>,
*keyset?:scalar|Param|null,// JSON-encoded JWKSet used to decrypt the token (must contain a list of valid private keys).
*},
*},
*cas?:array{
*validation_url?:scalar|Param|null,// CAS server validation URL
*prefix?:scalar|Param|null,// CAS prefix // Default: "cas"
*http_client?:scalar|Param|null,// HTTP Client service // Default: null
*url?:scalar|Param|null,// A URL with connection information; any parameter value parsed from this string will override explicitly set parameters
*dbname?:scalar|Param|null,
*host?:scalar|Param|null,// Defaults to "localhost" at runtime.
*port?:scalar|Param|null,// Defaults to null at runtime.
*user?:scalar|Param|null,// Defaults to "root" at runtime.
*password?:scalar|Param|null,// Defaults to null at runtime.
*dbname_suffix?:scalar|Param|null,// Adds the given suffix to the configured database name, this option has no effects for the SQLite platform
*application_name?:scalar|Param|null,
*charset?:scalar|Param|null,
*path?:scalar|Param|null,
*memory?:bool|Param,
*unix_socket?:scalar|Param|null,// The unix socket to use for MySQL
*persistent?:bool|Param,// True to use as persistent connection for the ibm_db2 driver
*protocol?:scalar|Param|null,// The protocol to use for the ibm_db2 driver (default to TCPIP if omitted)
*service?:bool|Param,// True to use SERVICE_NAME as connection parameter instead of SID for Oracle
*servicename?:scalar|Param|null,// Overrules dbname parameter if given and used as SERVICE_NAME or SID connection parameter for Oracle depending on the service parameter.
*sessionMode?:scalar|Param|null,// The session mode to use for the oci8 driver
*server?:scalar|Param|null,// The name of a running database server to connect to for SQL Anywhere.
*default_dbname?:scalar|Param|null,// Override the default database (postgres) to connect to for PostgreSQL connection.
*sslmode?:scalar|Param|null,// Determines whether or with what priority a SSL TCP/IP connection will be negotiated with the server for PostgreSQL.
*sslrootcert?:scalar|Param|null,// The name of a file containing SSL certificate authority (CA) certificate(s). If the file exists, the server's certificate will be verified to be signed by one of these authorities.
*sslcert?:scalar|Param|null,// The path to the SSL client certificate file for PostgreSQL.
*sslkey?:scalar|Param|null,// The path to the SSL client key file for PostgreSQL.
*sslcrl?:scalar|Param|null,// The file name of the SSL certificate revocation list for PostgreSQL.
*pooled?:bool|Param,// True to use a pooled server with the oci8/pdo_oracle driver
*MultipleActiveResultSets?:bool|Param,// Configuring MultipleActiveResultSets for the pdo_sqlsrv driver
*instancename?:scalar|Param|null,// Optional parameter, complete whether to add the INSTANCE_NAME parameter in the connection. It is generally used to connect to an Oracle RAC server to select the name of a particular instance.
*connectstring?:scalar|Param|null,// Complete Easy Connect connection descriptor, see https://docs.oracle.com/database/121/NETAG/naming.htm.When using this option, you will still need to provide the user and password parameters, but the other parameters will no longer be used. Note that when using this parameter, the getHost and getPort methods from Doctrine\DBAL\Connection will no longer function as expected.
*url?:scalar|Param|null,// A URL with connection information; any parameter value parsed from this string will override explicitly set parameters
*dbname?:scalar|Param|null,
*host?:scalar|Param|null,// Defaults to "localhost" at runtime.
*port?:scalar|Param|null,// Defaults to null at runtime.
*user?:scalar|Param|null,// Defaults to "root" at runtime.
*password?:scalar|Param|null,// Defaults to null at runtime.
*dbname_suffix?:scalar|Param|null,// Adds the given suffix to the configured database name, this option has no effects for the SQLite platform
*application_name?:scalar|Param|null,
*charset?:scalar|Param|null,
*path?:scalar|Param|null,
*memory?:bool|Param,
*unix_socket?:scalar|Param|null,// The unix socket to use for MySQL
*persistent?:bool|Param,// True to use as persistent connection for the ibm_db2 driver
*protocol?:scalar|Param|null,// The protocol to use for the ibm_db2 driver (default to TCPIP if omitted)
*service?:bool|Param,// True to use SERVICE_NAME as connection parameter instead of SID for Oracle
*servicename?:scalar|Param|null,// Overrules dbname parameter if given and used as SERVICE_NAME or SID connection parameter for Oracle depending on the service parameter.
*sessionMode?:scalar|Param|null,// The session mode to use for the oci8 driver
*server?:scalar|Param|null,// The name of a running database server to connect to for SQL Anywhere.
*default_dbname?:scalar|Param|null,// Override the default database (postgres) to connect to for PostgreSQL connection.
*sslmode?:scalar|Param|null,// Determines whether or with what priority a SSL TCP/IP connection will be negotiated with the server for PostgreSQL.
*sslrootcert?:scalar|Param|null,// The name of a file containing SSL certificate authority (CA) certificate(s). If the file exists, the server's certificate will be verified to be signed by one of these authorities.
*sslcert?:scalar|Param|null,// The path to the SSL client certificate file for PostgreSQL.
*sslkey?:scalar|Param|null,// The path to the SSL client key file for PostgreSQL.
*sslcrl?:scalar|Param|null,// The file name of the SSL certificate revocation list for PostgreSQL.
*pooled?:bool|Param,// True to use a pooled server with the oci8/pdo_oracle driver
*MultipleActiveResultSets?:bool|Param,// Configuring MultipleActiveResultSets for the pdo_sqlsrv driver
*instancename?:scalar|Param|null,// Optional parameter, complete whether to add the INSTANCE_NAME parameter in the connection. It is generally used to connect to an Oracle RAC server to select the name of a particular instance.
*connectstring?:scalar|Param|null,// Complete Easy Connect connection descriptor, see https://docs.oracle.com/database/121/NETAG/naming.htm.When using this option, you will still need to provide the user and password parameters, but the other parameters will no longer be used. Note that when using this parameter, the getHost and getPort methods from Doctrine\DBAL\Connection will no longer function as expected.
*}>,
*}>,
*},
*orm?:array{
*default_entity_manager?:scalar|Param|null,
*enable_native_lazy_objects?:bool|Param,// Deprecated: The "enable_native_lazy_objects" option is deprecated and will be removed in DoctrineBundle 4.0, as native lazy objects are now always enabled. // Default: true
*controller_resolver?:bool|array{
*enabled?:bool|Param,// Default: true
*auto_mapping?:bool|Param,// Deprecated: The "doctrine.orm.controller_resolver.auto_mapping.auto_mapping" option is deprecated and will be removed in DoctrineBundle 4.0, as it only accepts `false` since 3.0. // Set to true to enable using route placeholders as lookup criteria when the primary key doesn't match the argument name // Default: false
*evict_cache?:bool|Param,// Set to true to fetch the entity from the database instead of using the cache, if any // Default: false
*validate_xml_mapping?:bool|Param,// Set to "true" to opt-in to the new mapping driver mode that was added in Doctrine ORM 2.14 and will be mandatory in ORM 3.0. See https://github.com/doctrine/orm/pull/6728. // Default: false
*connection?:scalar|Param|null,// Connection name to use for the migrations database. // Default: null
*em?:scalar|Param|null,// Entity manager name to use for the migrations database (available when doctrine/orm is installed). // Default: null
*all_or_nothing?:scalar|Param|null,// Run all migrations in a transaction. // Default: false
*check_database_platform?:scalar|Param|null,// Adds an extra check in the generated migrations to allow execution only on the same platform as they were initially generated on. // Default: true
*organize_migrations?:scalar|Param|null,// Organize migrations mode. Possible values are: "BY_YEAR", "BY_YEAR_AND_MONTH", false // Default: false
*enable_profiler?:bool|Param,// Whether or not to enable the profiler collector to calculate and visualize migration status. This adds some queries overhead. // Default: false
*transactional?:bool|Param,// Whether or not to wrap migrations in a single transaction. // Default: true
*title?:scalar|Param|null,// The title of the API. // Default: ""
*description?:scalar|Param|null,// The description of the API. // Default: ""
*version?:scalar|Param|null,// The version of the API. // Default: "0.0.0"
*show_webby?:bool|Param,// If true, show Webby on the documentation page // Default: true
*use_symfony_listeners?:bool|Param,// Uses Symfony event listeners instead of the ApiPlatform\Symfony\Controller\MainController. // Default: false
*name_converter?:scalar|Param|null,// Specify a name converter to use. // Default: null
*asset_package?:scalar|Param|null,// Specify an asset package name to use. // Default: null
*path_segment_name_generator?:scalar|Param|null,// Specify a path name generator to use. // Default: "api_platform.metadata.path_segment_name_generator.underscore"
*inflector?:scalar|Param|null,// Specify an inflector to use. // Default: "api_platform.metadata.inflector"
*validator?:array{
*serialize_payload_fields?:mixed,// Set to null to serialize all payload fields when a validation error is thrown, or set the fields you want to include explicitly. // Default: []
*query_parameter_validation?:bool|Param,// Deprecated: Will be removed in API Platform 5.0. // Default: true
*},
*jsonapi?:array{
*use_iri_as_id?:bool|Param,// Set to false to use entity identifiers instead of IRIs as the "id" field in JSON:API responses. // Default: true
*allow_client_generated_id?:bool|Param,// Allow client-generated IDs on JSON:API POST per https://jsonapi.org/format/#crud-creating-client-ids. Off by default to prevent id spoofing on public endpoints. // Default: false
*},
*eager_loading?:bool|array{
*enabled?:bool|Param,// Default: true
*fetch_partial?:bool|Param,// Fetch only partial data according to serialization groups. If enabled, Doctrine ORM entities will not work as expected if any of the other fields are used. // Default: false
*max_joins?:int|Param,// Max number of joined relations before EagerLoading throws a RuntimeException // Default: 30
*force_eager?:bool|Param,// Force join on every relation. If disabled, it will only join relations having the EAGER fetch mode. // Default: true
*},
*handle_symfony_errors?:bool|Param,// Allows to handle symfony exceptions. // Default: false
*enable_swagger?:bool|Param,// Enable the Swagger documentation and export. // Default: true
*enable_link_security?:bool|Param,// Deprecated: This option is always enabled and will be removed in API Platform 5.0. // Enable security for Links (sub resources). // Default: true
*collection?:array{
*exists_parameter_name?:scalar|Param|null,// The name of the query parameter to filter on nullable field values. // Default: "exists"
*order?:scalar|Param|null,// The default order of results. // Default: "ASC"
*order_parameter_name?:scalar|Param|null,// The name of the query parameter to order results. // Default: "order"
*order_nulls_comparison?:"nulls_smallest"|"nulls_largest"|"nulls_always_first"|"nulls_always_last"|Param|null,// The nulls comparison strategy. // Default: null
*pagination?:bool|array{
*enabled?:bool|Param,// Default: true
*page_parameter_name?:scalar|Param|null,// The default name of the parameter handling the page number. // Default: "page"
*enabled_parameter_name?:scalar|Param|null,// The name of the query parameter to enable or disable pagination. // Default: "pagination"
*items_per_page_parameter_name?:scalar|Param|null,// The name of the query parameter to set the number of items per page. // Default: "itemsPerPage"
*partial_parameter_name?:scalar|Param|null,// The name of the query parameter to enable or disable partial pagination. // Default: "partial"
*hydra_prefix?:bool|Param,// Use the "hydra:" prefix. // Default: false
*},
*doctrine?:bool|array{
*enabled?:bool|Param,// Default: true
*},
*doctrine_mongodb_odm?:bool|array{
*enabled?:bool|Param,// Default: false
*},
*oauth?:bool|array{
*enabled?:bool|Param,// Default: false
*clientId?:scalar|Param|null,// The oauth client id. // Default: ""
*clientSecret?:scalar|Param|null,// The OAuth client secret. Never use this parameter in your production environment. It exposes crucial security information. This feature is intended for dev/test environments only. Enable "oauth.pkce" instead // Default: ""
*pkce?:bool|Param,// Enable the oauth PKCE. // Default: false
*type?:scalar|Param|null,// The oauth type. // Default: "oauth2"
*flow?:scalar|Param|null,// The oauth flow grant type. // Default: "application"
*tokenUrl?:scalar|Param|null,// The oauth token url. // Default: ""
*authorizationUrl?:scalar|Param|null,// The oauth authentication url. // Default: ""
*refreshUrl?:scalar|Param|null,// The oauth refresh url. // Default: ""
*graphql_playground?:bool|array{// Deprecated: The "graphql_playground" configuration is deprecated and will be ignored.
*enabled?:bool|Param,// Default: false
*},
*max_query_complexity?:int|Param,// Default: 500
*nesting_separator?:scalar|Param|null,// The separator to use to filter nested fields. // Default: "_"
*collection?:array{
*pagination?:bool|array{
*enabled?:bool|Param,// Default: true
*},
*},
*},
*swagger?:array{
*persist_authorization?:bool|Param,// Persist the SwaggerUI Authorization in the localStorage. // Default: false
*versions?:list<scalar|Param|null>,
*api_keys?:array<string,array{// Default: []
*name?:scalar|Param|null,// The name of the header or query parameter containing the api key.
*type?:"query"|"header"|Param,// Whether the api key should be a query parameter or a header.
*}>,
*http_auth?:array<string,array{// Default: []
*scheme?:scalar|Param|null,// The OpenAPI HTTP auth scheme, for example "bearer"
*bearerFormat?:scalar|Param|null,// The OpenAPI HTTP bearer format
*}>,
*swagger_ui_extra_configuration?:mixed,// To pass extra configuration to Swagger UI, like docExpansion or filter. // Default: []
*},
*http_cache?:array{
*public?:bool|Param|null,// To make all responses public by default. // Default: null
*invalidation?:bool|array{// Enable the tags-based cache invalidation system.
*enabled?:bool|Param,// Default: false
*varnish_urls?:list<scalar|Param|null>,
*urls?:list<scalar|Param|null>,
*scoped_clients?:list<scalar|Param|null>,
*max_header_length?:int|Param,// Max header length supported by the cache server. // Default: 7500
*request_options?:mixed,// To pass options to the client charged with the request. // Default: []
*purger?:scalar|Param|null,// Specify a purger to use (available values: "api_platform.http_cache.purger.varnish.ban", "api_platform.http_cache.purger.varnish.xkey", "api_platform.http_cache.purger.souin"). // Default: "api_platform.http_cache.purger.varnish"
*xkey?:array{// Deprecated: The "xkey" configuration is deprecated, use your own purger to customize surrogate keys or the appropriate parameters.
*glue?:scalar|Param|null,// xkey glue between keys // Default: " "
*},
*},
*},
*mercure?:bool|array{
*enabled?:bool|Param,// Default: false
*hub_url?:scalar|Param|null,// The URL sent in the Link HTTP header. If not set, will default to the URL for MercureBundle's default hub. // Default: null
*include_type?:bool|Param,// Always include @type in updates (including delete ones). // Default: false
*},
*messenger?:bool|array{
*enabled?:bool|Param,// Default: false
*},
*elasticsearch?:bool|array{
*enabled?:bool|Param,// Default: false
*hosts?:list<scalar|Param|null>,
*ssl_ca_bundle?:scalar|Param|null,// Path to the SSL CA bundle file for Elasticsearch SSL verification. // Default: null
*ssl_verification?:bool|Param,// Enable or disable SSL verification for Elasticsearch connections. // Default: true
*client?:"elasticsearch"|"opensearch"|Param,// The search engine client to use: "elasticsearch" or "opensearch". // Default: "elasticsearch"
*},
*openapi?:array{
*contact?:array{
*name?:scalar|Param|null,// The identifying name of the contact person/organization. // Default: null
*url?:scalar|Param|null,// The URL pointing to the contact information. MUST be in the format of a URL. // Default: null
*email?:scalar|Param|null,// The email address of the contact person/organization. MUST be in the format of an email address. // Default: null
*},
*termsOfService?:scalar|Param|null,// A URL to the Terms of Service for the API. MUST be in the format of a URL. // Default: null
*tags?:list<array{// Default: []
*name?:scalar|Param|null,
*description?:scalar|Param|null,// Default: null
*}>,
*license?:array{
*name?:scalar|Param|null,// The license name used for the API. // Default: null
*url?:scalar|Param|null,// URL to the license used for the API. MUST be in the format of a URL. // Default: null
*identifier?:scalar|Param|null,// An SPDX license expression for the API. The identifier field is mutually exclusive of the url field. // Default: null
*},
*swagger_ui_extra_configuration?:mixed,// To pass extra configuration to Swagger UI, like docExpansion or filter. // Default: []
*scalar_extra_configuration?:mixed,// To pass extra configuration to Scalar API Reference, like theme or darkMode. // Default: []
*overrideResponses?:bool|Param,// Whether API Platform adds automatic responses to the OpenAPI documentation. // Default: true
*error_resource_class?:scalar|Param|null,// The class used to represent errors in the OpenAPI documentation. // Default: null
*validation_error_resource_class?:scalar|Param|null,// The class used to represent validation errors in the OpenAPI documentation. // Default: null
*namespace_prefix?:scalar|Param|null,// Add a prefix to all maker generated classes. e.g set it to "Api" to set the maker namespace to "App\Api\" (if the maker.root_namespace config is App). e.g. App\Api\State\MyStateProcessor // Default: ""
*},
*mcp?:bool|array{
*enabled?:bool|Param,// Default: true
*format?:scalar|Param|null,// The serialization format used for MCP tool input/output. Must be a format registered in api_platform.formats (e.g. "jsonld", "json", "jsonapi"). // Default: "jsonld"