Guides
Tutorials
⚠ This class and its children offer no backward compatibility regarding positional parameters.
class ApiPlatform\Metadata\Operation extends ApiPlatform\Metadata\Metadata
{
    public __construct(null|string $shortName, null|string $class, null|bool $paginationEnabled, null|string $paginationType, null|int $paginationItemsPerPage, null|int $paginationMaximumItemsPerPage, null|bool $paginationPartial, null|bool $paginationClientEnabled, null|bool $paginationClientItemsPerPage, null|bool $paginationClientPartial, null|bool $paginationFetchJoinCollection, null|bool $paginationUseOutputWalkers, null|array $paginationViaCursor, null|array<string, string>|array<int, string> $order, null|string $description, null|array $normalizationContext, null|array $denormalizationContext, null|bool $collectDenormalizationErrors, null|string $security, null|string $securityMessage, null|string $securityPostDenormalize, null|string $securityPostDenormalizeMessage, null|string $securityPostValidation, null|string $securityPostValidationMessage, null|string $deprecationReason, null|array<int, string> $filters, null|array $validationContext, array|string|false $input, array|string|false $output, string|array|bool $mercure, string|bool $messenger, null|bool $elasticsearch, null|int $urlGenerationStrategy, null|bool $read, null|bool $deserialize, null|bool $validate, null|bool $write, null|bool $serialize, null|bool $fetchPartial, null|bool $forceEager, null|int $priority, null|string $name, string|callable $provider, string|callable $processor, null|ApiPlatform\State\OptionsInterface $stateOptions, array $extraProperties)
    public withOperation($operation)
    public canRead(): bool
    public withRead(bool $read): ApiPlatform\Metadata\Operation
    public canDeserialize(): bool
    public withDeserialize(bool $deserialize): ApiPlatform\Metadata\Operation
    public canValidate(): bool
    public withValidate(bool $validate): ApiPlatform\Metadata\Operation
    public canWrite(): bool
    public withWrite(bool $write): ApiPlatform\Metadata\Operation
    public canSerialize(): bool
    public withSerialize(bool $serialize): ApiPlatform\Metadata\Operation
    public getPriority(): int
    public withPriority(int $priority): ApiPlatform\Metadata\Operation
    public getName(): string
    public withName(string $name): ApiPlatform\Metadata\Operation
    public getShortName(): string
    public withShortName(string $shortName): static
    public getClass(): string
    public withClass(string $class): static
    public getDescription(): string
    public withDescription(null|string $description): static
    public getUrlGenerationStrategy(): int
    public withUrlGenerationStrategy(int $urlGenerationStrategy): static
    public getDeprecationReason(): string
    public withDeprecationReason($deprecationReason): static
    public getNormalizationContext(): array
    public withNormalizationContext(array $normalizationContext): static
    public getDenormalizationContext(): array
    public withDenormalizationContext(array $denormalizationContext): static
    public getCollectDenormalizationErrors(): bool
    public withCollectDenormalizationErrors(null|bool $collectDenormalizationErrors): static
    public getValidationContext(): array
    public withValidationContext(array $validationContext): static
    public getFilters(): array<int, string>
    public withFilters(array $filters): static
    public getElasticsearch(): bool
    public withElasticsearch(bool $elasticsearch): static
    public getMercure(): array|bool
    public withMercure($mercure): static
    public getMessenger()
    public withMessenger($messenger): static
    public getInput()
    public withInput($input): static
    public getOutput()
    public withOutput($output): static
    public getOrder(): array
    public withOrder(array $order): static
    public getFetchPartial(): bool
    public withFetchPartial(bool $fetchPartial): static
    public getForceEager(): bool
    public withForceEager(bool $forceEager): static
    public getPaginationEnabled(): bool
    public withPaginationEnabled(bool $paginationEnabled): static
    public getPaginationType(): string
    public withPaginationType(string $paginationType): static
    public getPaginationItemsPerPage(): int
    public withPaginationItemsPerPage(int $paginationItemsPerPage): static
    public getPaginationMaximumItemsPerPage(): int
    public withPaginationMaximumItemsPerPage(int $paginationMaximumItemsPerPage): static
    public getPaginationPartial(): bool
    public withPaginationPartial(bool $paginationPartial): static
    public getPaginationClientEnabled(): bool
    public withPaginationClientEnabled(bool $paginationClientEnabled): static
    public getPaginationClientItemsPerPage(): bool
    public withPaginationClientItemsPerPage(bool $paginationClientItemsPerPage): static
    public getPaginationClientPartial(): bool
    public withPaginationClientPartial(bool $paginationClientPartial): static
    public getPaginationFetchJoinCollection(): bool
    public withPaginationFetchJoinCollection(bool $paginationFetchJoinCollection): static
    public getPaginationUseOutputWalkers(): bool
    public withPaginationUseOutputWalkers(bool $paginationUseOutputWalkers): static
    public getSecurity(): string
    public withSecurity($security): static
    public getSecurityMessage(): string
    public withSecurityMessage(string $securityMessage): static
    public getSecurityPostDenormalize(): string
    public withSecurityPostDenormalize($securityPostDenormalize): static
    public getSecurityPostDenormalizeMessage(): string
    public withSecurityPostDenormalizeMessage(string $securityPostDenormalizeMessage): static
    public getSecurityPostValidation(): string
    public withSecurityPostValidation(null|string $securityPostValidation): static
    public getSecurityPostValidationMessage(): string
    public withSecurityPostValidationMessage(null|string $securityPostValidationMessage): static
    public getProcessor(): callable|string
    public withProcessor(null|callable|string $processor): static
    public getProvider(): callable|string
    public withProvider(null|callable|string $provider): static
    public getStateOptions(): ApiPlatform\State\OptionsInterface
    public withStateOptions(null|ApiPlatform\State\OptionsInterface $stateOptions): static
    public getExtraProperties(): array
    public withExtraProperties(array $extraProperties): static
    protected copyFrom(ApiPlatform\Metadata\Metadata $resource): static
}class ApiPlatform\Metadata\Operation extends ApiPlatform\Metadata\Metadata
{
    public __construct(null|string $shortName, null|string $class, null|bool $paginationEnabled, null|string $paginationType, null|int $paginationItemsPerPage, null|int $paginationMaximumItemsPerPage, null|bool $paginationPartial, null|bool $paginationClientEnabled, null|bool $paginationClientItemsPerPage, null|bool $paginationClientPartial, null|bool $paginationFetchJoinCollection, null|bool $paginationUseOutputWalkers, null|array $paginationViaCursor, null|array<string, string>|array<int, string> $order, null|string $description, null|array $normalizationContext, null|array $denormalizationContext, null|bool $collectDenormalizationErrors, null|string $security, null|string $securityMessage, null|string $securityPostDenormalize, null|string $securityPostDenormalizeMessage, null|string $securityPostValidation, null|string $securityPostValidationMessage, null|string $deprecationReason, null|array<int, string> $filters, null|array $validationContext, array|string|false $input, array|string|false $output, string|array|bool $mercure, string|bool $messenger, null|bool $elasticsearch, null|int $urlGenerationStrategy, null|bool $read, null|bool $deserialize, null|bool $validate, null|bool $write, null|bool $serialize, null|bool $fetchPartial, null|bool $forceEager, null|int $priority, null|string $name, string|callable $provider, string|callable $processor, null|ApiPlatform\State\OptionsInterface $stateOptions, array $extraProperties)
    public withOperation($operation)
    public canRead(): bool
    public withRead(bool $read): ApiPlatform\Metadata\Operation
    public canDeserialize(): bool
    public withDeserialize(bool $deserialize): ApiPlatform\Metadata\Operation
    public canValidate(): bool
    public withValidate(bool $validate): ApiPlatform\Metadata\Operation
    public canWrite(): bool
    public withWrite(bool $write): ApiPlatform\Metadata\Operation
    public canSerialize(): bool
    public withSerialize(bool $serialize): ApiPlatform\Metadata\Operation
    public getPriority(): int
    public withPriority(int $priority): ApiPlatform\Metadata\Operation
    public getName(): string
    public withName(string $name): ApiPlatform\Metadata\Operation
    public getShortName(): string
    public withShortName(string $shortName): static
    public getClass(): string
    public withClass(string $class): static
    public getDescription(): string
    public withDescription(null|string $description): static
    public getUrlGenerationStrategy(): int
    public withUrlGenerationStrategy(int $urlGenerationStrategy): static
    public getDeprecationReason(): string
    public withDeprecationReason($deprecationReason): static
    public getNormalizationContext(): array
    public withNormalizationContext(array $normalizationContext): static
    public getDenormalizationContext(): array
    public withDenormalizationContext(array $denormalizationContext): static
    public getCollectDenormalizationErrors(): bool
    public withCollectDenormalizationErrors(null|bool $collectDenormalizationErrors): static
    public getValidationContext(): array
    public withValidationContext(array $validationContext): static
    public getFilters(): array<int, string>
    public withFilters(array $filters): static
    public getElasticsearch(): bool
    public withElasticsearch(bool $elasticsearch): static
    public getMercure(): array|bool
    public withMercure($mercure): static
    public getMessenger()
    public withMessenger($messenger): static
    public getInput()
    public withInput($input): static
    public getOutput()
    public withOutput($output): static
    public getOrder(): array
    public withOrder(array $order): static
    public getFetchPartial(): bool
    public withFetchPartial(bool $fetchPartial): static
    public getForceEager(): bool
    public withForceEager(bool $forceEager): static
    public getPaginationEnabled(): bool
    public withPaginationEnabled(bool $paginationEnabled): static
    public getPaginationType(): string
    public withPaginationType(string $paginationType): static
    public getPaginationItemsPerPage(): int
    public withPaginationItemsPerPage(int $paginationItemsPerPage): static
    public getPaginationMaximumItemsPerPage(): int
    public withPaginationMaximumItemsPerPage(int $paginationMaximumItemsPerPage): static
    public getPaginationPartial(): bool
    public withPaginationPartial(bool $paginationPartial): static
    public getPaginationClientEnabled(): bool
    public withPaginationClientEnabled(bool $paginationClientEnabled): static
    public getPaginationClientItemsPerPage(): bool
    public withPaginationClientItemsPerPage(bool $paginationClientItemsPerPage): static
    public getPaginationClientPartial(): bool
    public withPaginationClientPartial(bool $paginationClientPartial): static
    public getPaginationFetchJoinCollection(): bool
    public withPaginationFetchJoinCollection(bool $paginationFetchJoinCollection): static
    public getPaginationUseOutputWalkers(): bool
    public withPaginationUseOutputWalkers(bool $paginationUseOutputWalkers): static
    public getSecurity(): string
    public withSecurity($security): static
    public getSecurityMessage(): string
    public withSecurityMessage(string $securityMessage): static
    public getSecurityPostDenormalize(): string
    public withSecurityPostDenormalize($securityPostDenormalize): static
    public getSecurityPostDenormalizeMessage(): string
    public withSecurityPostDenormalizeMessage(string $securityPostDenormalizeMessage): static
    public getSecurityPostValidation(): string
    public withSecurityPostValidation(null|string $securityPostValidation): static
    public getSecurityPostValidationMessage(): string
    public withSecurityPostValidationMessage(null|string $securityPostValidationMessage): static
    public getProcessor(): callable|string
    public withProcessor(null|callable|string $processor): static
    public getProvider(): callable|string
    public withProvider(null|callable|string $provider): static
    public getStateOptions(): ApiPlatform\State\OptionsInterface
    public withStateOptions(null|ApiPlatform\State\OptionsInterface $stateOptions): static
    public getExtraProperties(): array
    public withExtraProperties(array $extraProperties): static
    protected copyFrom(ApiPlatform\Metadata\Metadata $resource): static
}string $shortNamestring $shortNamestring $classstring $classbool $paginationEnabledbool $paginationEnabledThe paginationEnabled option enables (or disables) the pagination for the current collection operation.
<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationEnabled: true)]
class Book
{
    // ...
}<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationEnabled: true)]
class Book
{
    // ...
}# api/config/api_platform/resources.yaml
resources:
    App\Entity\Book:
        - operations:
              ApiPlatform\Metadata\GetCollection:
                  paginationEnabled: true# api/config/api_platform/resources.yaml
resources:
    App\Entity\Book:
        - operations:
              ApiPlatform\Metadata\GetCollection:
                  paginationEnabled: true<?xml version="1.0" encoding="UTF-8" ?>
<!-- api/config/api_platform/resources.xml -->
 
<resources
        xmlns="https://api-platform.com/schema/metadata/resources-3.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0
        https://api-platform.com/schema/metadata/resources-3.0.xsd">
    <resource class="App\Entity\Book">
        <operations>
            <operation class="ApiPlatform\Metadata\GetCollection" paginationEnabled=true />
        </operations>
    </resource>
</resources><?xml version="1.0" encoding="UTF-8" ?>
<!-- api/config/api_platform/resources.xml -->
 
<resources
        xmlns="https://api-platform.com/schema/metadata/resources-3.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0
        https://api-platform.com/schema/metadata/resources-3.0.xsd">
    <resource class="App\Entity\Book">
        <operations>
            <operation class="ApiPlatform\Metadata\GetCollection" paginationEnabled=true />
        </operations>
    </resource>
</resources>string $paginationTypestring $paginationTypeThe paginationType option defines the type of pagination (page or cursor) to use for the current collection operation.
<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationType: 'page')]
class Book
{
    // ...
}<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationType: 'page')]
class Book
{
    // ...
}# api/config/api_platform/resources.yaml
resources:
    App\Entity\Book:
        - operations:
              ApiPlatform\Metadata\GetCollection:
                  paginationType: page# api/config/api_platform/resources.yaml
resources:
    App\Entity\Book:
        - operations:
              ApiPlatform\Metadata\GetCollection:
                  paginationType: page<?xml version="1.0" encoding="UTF-8" ?>
<!-- api/config/api_platform/resources.xml -->
 
<resources
        xmlns="https://api-platform.com/schema/metadata/resources-3.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0
        https://api-platform.com/schema/metadata/resources-3.0.xsd">
    <resource class="App\Entity\Book">
        <operations>
            <operation class="ApiPlatform\Metadata\GetCollection" paginationType="page" />
        </operations>
    </resource>
</resources><?xml version="1.0" encoding="UTF-8" ?>
<!-- api/config/api_platform/resources.xml -->
 
<resources
        xmlns="https://api-platform.com/schema/metadata/resources-3.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0
        https://api-platform.com/schema/metadata/resources-3.0.xsd">
    <resource class="App\Entity\Book">
        <operations>
            <operation class="ApiPlatform\Metadata\GetCollection" paginationType="page" />
        </operations>
    </resource>
</resources>int $paginationItemsPerPageint $paginationItemsPerPageThe paginationItemsPerPage option defines the number of items per page for the current collection operation.
<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationItemsPerPage: 30)]
class Book
{
    // ...
}<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationItemsPerPage: 30)]
class Book
{
    // ...
}# api/config/api_platform/resources.yaml
resources:
    App\Entity\Book:
        - operations:
              ApiPlatform\Metadata\GetCollection:
                  paginationItemsPerPage: 30# api/config/api_platform/resources.yaml
resources:
    App\Entity\Book:
        - operations:
              ApiPlatform\Metadata\GetCollection:
                  paginationItemsPerPage: 30<?xml version="1.0" encoding="UTF-8" ?>
<!-- api/config/api_platform/resources.xml -->
<resources
        xmlns="https://api-platform.com/schema/metadata/resources-3.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0
        https://api-platform.com/schema/metadata/resources-3.0.xsd">
    <resource class="App\Entity\Book">
        <operations>
            <operation class="ApiPlatform\Metadata\GetCollection" paginationItemsPerPage=30 />
        </operations>
    </resource>
</resources><?xml version="1.0" encoding="UTF-8" ?>
<!-- api/config/api_platform/resources.xml -->
<resources
        xmlns="https://api-platform.com/schema/metadata/resources-3.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0
        https://api-platform.com/schema/metadata/resources-3.0.xsd">
    <resource class="App\Entity\Book">
        <operations>
            <operation class="ApiPlatform\Metadata\GetCollection" paginationItemsPerPage=30 />
        </operations>
    </resource>
</resources>int $paginationMaximumItemsPerPageint $paginationMaximumItemsPerPageThe paginationMaximumItemsPerPage option defines the maximum number of items per page for the current resource.
<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationMaximumItemsPerPage: 50)]
class Book
{
    // ...
}<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationMaximumItemsPerPage: 50)]
class Book
{
    // ...
}# api/config/api_platform/resources.yaml
resources:
    App\Entity\Book:
        - operations:
              ApiPlatform\Metadata\GetCollection:
                  paginationMaximumItemsPerPage: 50# api/config/api_platform/resources.yaml
resources:
    App\Entity\Book:
        - operations:
              ApiPlatform\Metadata\GetCollection:
                  paginationMaximumItemsPerPage: 50<?xml version="1.0" encoding="UTF-8" ?>
<!-- api/config/api_platform/resources.xml -->
<resources
        xmlns="https://api-platform.com/schema/metadata/resources-3.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0
        https://api-platform.com/schema/metadata/resources-3.0.xsd">
    <resource class="App\Entity\Book">
        <operations>
            <operation class="ApiPlatform\Metadata\GetCollection" paginationMaximumItemsPerPage=50 />
        </operations>
    </resource>
</resources><?xml version="1.0" encoding="UTF-8" ?>
<!-- api/config/api_platform/resources.xml -->
<resources
        xmlns="https://api-platform.com/schema/metadata/resources-3.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0
        https://api-platform.com/schema/metadata/resources-3.0.xsd">
    <resource class="App\Entity\Book">
        <operations>
            <operation class="ApiPlatform\Metadata\GetCollection" paginationMaximumItemsPerPage=50 />
        </operations>
    </resource>
</resources>bool $paginationPartialbool $paginationPartialThe paginationPartial option enables (or disables) the partial pagination for the current collection operation.
<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationPartial: true)]
class Book
{
    // ...
}<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationPartial: true)]
class Book
{
    // ...
}# api/config/api_platform/resources.yaml
resources:
    App\Entity\Book:
        - operations:
              ApiPlatform\Metadata\GetCollection:
                  paginationPartial: true# api/config/api_platform/resources.yaml
resources:
    App\Entity\Book:
        - operations:
              ApiPlatform\Metadata\GetCollection:
                  paginationPartial: true<?xml version="1.0" encoding="UTF-8" ?>
<!-- api/config/api_platform/resources.xml -->
<resources
        xmlns="https://api-platform.com/schema/metadata/resources-3.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0
        https://api-platform.com/schema/metadata/resources-3.0.xsd">
    <resource class="App\Entity\Book">
        <operations>
            <operation class="ApiPlatform\Metadata\GetCollection" paginationPartial=true />
        </operations>
    </resource>
</resources><?xml version="1.0" encoding="UTF-8" ?>
<!-- api/config/api_platform/resources.xml -->
<resources
        xmlns="https://api-platform.com/schema/metadata/resources-3.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0
        https://api-platform.com/schema/metadata/resources-3.0.xsd">
    <resource class="App\Entity\Book">
        <operations>
            <operation class="ApiPlatform\Metadata\GetCollection" paginationPartial=true />
        </operations>
    </resource>
</resources>bool $paginationClientEnabledbool $paginationClientEnabledThe paginationClientEnabled option allows (or disallows) the client to enable (or disable) the pagination for the current collection operation.
<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationClientEnabled: true)]
class Book
{
    // ...
}<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationClientEnabled: true)]
class Book
{
    // ...
}# api/config/api_platform/resources.yaml
resources:
    App\Entity\Book:
        - operations:
              ApiPlatform\Metadata\GetCollection:
                  paginationClientEnabled: true# api/config/api_platform/resources.yaml
resources:
    App\Entity\Book:
        - operations:
              ApiPlatform\Metadata\GetCollection:
                  paginationClientEnabled: true<?xml version="1.0" encoding="UTF-8" ?>
<!-- api/config/api_platform/resources.xml -->
<resources
        xmlns="https://api-platform.com/schema/metadata/resources-3.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0
        https://api-platform.com/schema/metadata/resources-3.0.xsd">
    <resource class="App\Entity\Book">
        <operations>
            <operation class="ApiPlatform\Metadata\GetCollection" paginationClientEnabled=true />
        </operations>
    </resource>
</resources><?xml version="1.0" encoding="UTF-8" ?>
<!-- api/config/api_platform/resources.xml -->
<resources
        xmlns="https://api-platform.com/schema/metadata/resources-3.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0
        https://api-platform.com/schema/metadata/resources-3.0.xsd">
    <resource class="App\Entity\Book">
        <operations>
            <operation class="ApiPlatform\Metadata\GetCollection" paginationClientEnabled=true />
        </operations>
    </resource>
</resources>The pagination can now be enabled (or disabled) by adding a query parameter named pagination:
GET /books?pagination=false: disabledGET /books?pagination=true: enabledbool $paginationClientItemsPerPagebool $paginationClientItemsPerPageThe paginationClientItemsPerPage option allows (or disallows) the client to set the number of items per page for the current collection operation.
<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationClientItemsPerPage: true)]
class Book
{
    // ...
}<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationClientItemsPerPage: true)]
class Book
{
    // ...
}# api/config/api_platform/resources.yaml
resources:
    App\Entity\Book:
        - operations:
              ApiPlatform\Metadata\GetCollection:
                  paginationClientItemsPerPage: true# api/config/api_platform/resources.yaml
resources:
    App\Entity\Book:
        - operations:
              ApiPlatform\Metadata\GetCollection:
                  paginationClientItemsPerPage: true<?xml version="1.0" encoding="UTF-8" ?>
<!-- api/config/api_platform/resources.xml -->
<resources
        xmlns="https://api-platform.com/schema/metadata/resources-3.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0
        https://api-platform.com/schema/metadata/resources-3.0.xsd">
    <resource class="App\Entity\Book">
        <operations>
            <operation class="ApiPlatform\Metadata\GetCollection" paginationClientItemsPerPage=true />
        </operations>
    </resource>
</resources><?xml version="1.0" encoding="UTF-8" ?>
<!-- api/config/api_platform/resources.xml -->
<resources
        xmlns="https://api-platform.com/schema/metadata/resources-3.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0
        https://api-platform.com/schema/metadata/resources-3.0.xsd">
    <resource class="App\Entity\Book">
        <operations>
            <operation class="ApiPlatform\Metadata\GetCollection" paginationClientItemsPerPage=true />
        </operations>
    </resource>
</resources>The number of items can now be set by adding a query parameter named itemsPerPage:
GET /books?itemsPerPage=50bool $paginationClientPartialbool $paginationClientPartialThe paginationClientPartial option allows (or disallows) the client to enable (or disable) the partial pagination for the current collection operation.
<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationClientPartial: true)]
class Book
{
    // ...
}<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationClientPartial: true)]
class Book
{
    // ...
}# api/config/api_platform/resources.yaml
resources:
    App\Entity\Book:
        - operations:
              ApiPlatform\Metadata\GetCollection:
                  paginationClientPartial: true# api/config/api_platform/resources.yaml
resources:
    App\Entity\Book:
        - operations:
              ApiPlatform\Metadata\GetCollection:
                  paginationClientPartial: true<?xml version="1.0" encoding="UTF-8" ?>
<!-- api/config/api_platform/resources.xml -->
<resources
        xmlns="https://api-platform.com/schema/metadata/resources-3.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0
        https://api-platform.com/schema/metadata/resources-3.0.xsd">
    <resource class="App\Entity\Book">
        <operations>
            <operation class="ApiPlatform\Metadata\GetCollection" paginationClientPartial=true />
        </operations>
    </resource>
</resources><?xml version="1.0" encoding="UTF-8" ?>
<!-- api/config/api_platform/resources.xml -->
<resources
        xmlns="https://api-platform.com/schema/metadata/resources-3.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0
        https://api-platform.com/schema/metadata/resources-3.0.xsd">
    <resource class="App\Entity\Book">
        <operations>
            <operation class="ApiPlatform\Metadata\GetCollection" paginationClientPartial=true />
        </operations>
    </resource>
</resources>The partial pagination can now be enabled (or disabled) by adding a query parameter named partial:
GET /books?partial=false: disabledGET /books?partial=true: enabledbool $paginationFetchJoinCollectionbool $paginationFetchJoinCollectionThe PaginationExtension of API Platform performs some checks on the QueryBuilder to guess, in most common
cases, the correct values to use when configuring the Doctrine ORM Paginator: $fetchJoinCollection
argument, whether there is a join to a collection-valued association.
When set to true, the Doctrine ORM Paginator will perform an additional query, in order to get the
correct number of results. You can configure this using the paginationFetchJoinCollection option:
<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationFetchJoinCollection: false)]
class Book
{
    // ...
}<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationFetchJoinCollection: false)]
class Book
{
    // ...
}# api/config/api_platform/resources.yaml
resources:
    App\Entity\Book:
        - operations:
              ApiPlatform\Metadata\GetCollection:
                  paginationFetchJoinCollection: false# api/config/api_platform/resources.yaml
resources:
    App\Entity\Book:
        - operations:
              ApiPlatform\Metadata\GetCollection:
                  paginationFetchJoinCollection: false<?xml version="1.0" encoding="UTF-8" ?>
<!-- api/config/api_platform/resources.xml -->
<resources
        xmlns="https://api-platform.com/schema/metadata/resources-3.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0
        https://api-platform.com/schema/metadata/resources-3.0.xsd">
    <resource class="App\Entity\Book">
        <operations>
            <operation class="ApiPlatform\Metadata\GetCollection" paginationFetchJoinCollection=false />
        </operations>
    </resource>
</resources><?xml version="1.0" encoding="UTF-8" ?>
<!-- api/config/api_platform/resources.xml -->
<resources
        xmlns="https://api-platform.com/schema/metadata/resources-3.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0
        https://api-platform.com/schema/metadata/resources-3.0.xsd">
    <resource class="App\Entity\Book">
        <operations>
            <operation class="ApiPlatform\Metadata\GetCollection" paginationFetchJoinCollection=false />
        </operations>
    </resource>
</resources>For more information, please see the Pagination entry in the Doctrine ORM documentation.
bool $paginationUseOutputWalkersbool $paginationUseOutputWalkersThe PaginationExtension of API Platform performs some checks on the QueryBuilder to guess, in most common
cases, the correct values to use when configuring the Doctrine ORM Paginator: $setUseOutputWalkers setter,
whether to use output walkers.
When set to true, the Doctrine ORM Paginator will use output walkers, which are compulsory for some types
of queries. You can configure this using the paginationUseOutputWalkers option:
<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationUseOutputWalkers: false)]
class Book
{
    // ...
}<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationUseOutputWalkers: false)]
class Book
{
    // ...
}# api/config/api_platform/resources.yaml
resources:
    App\Entity\Book:
        - operations:
              ApiPlatform\Metadata\GetCollection:
                  paginationUseOutputWalkers: false# api/config/api_platform/resources.yaml
resources:
    App\Entity\Book:
        - operations:
              ApiPlatform\Metadata\GetCollection:
                  paginationUseOutputWalkers: false<?xml version="1.0" encoding="UTF-8" ?>
<!-- api/config/api_platform/resources.xml -->
<resources
        xmlns="https://api-platform.com/schema/metadata/resources-3.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0
        https://api-platform.com/schema/metadata/resources-3.0.xsd">
    <resource class="App\Entity\Book">
        <operations>
            <operation class="ApiPlatform\Metadata\GetCollection" paginationUseOutputWalkers=false />
        </operations>
    </resource>
</resources><?xml version="1.0" encoding="UTF-8" ?>
<!-- api/config/api_platform/resources.xml -->
<resources
        xmlns="https://api-platform.com/schema/metadata/resources-3.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0
        https://api-platform.com/schema/metadata/resources-3.0.xsd">
    <resource class="App\Entity\Book">
        <operations>
            <operation class="ApiPlatform\Metadata\GetCollection" paginationUseOutputWalkers=false />
        </operations>
    </resource>
</resources>For more information, please see the Pagination entry in the Doctrine ORM documentation.
array $paginationViaCursorarray $paginationViaCursorThe paginationViaCursor option configures the cursor-based pagination for the current resource.
Select your unique sorted field as well as the direction you'll like the pagination to go via filters.
Note that for now you have to declare a RangeFilter and an OrderFilter on the property used for the cursor-based pagination:
<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\ApiFilter;
use ApiPlatform\Metadata\GetCollection;
use ApiPlatform\Doctrine\Odm\Filter\OrderFilter;
use ApiPlatform\Doctrine\Odm\Filter\RangeFilter;
 
#[GetCollection(paginationPartial: true, paginationViaCursor: [['field' => 'id', 'direction' => 'DESC']])]
#[ApiFilter(RangeFilter::class, properties: ["id"])]
#[ApiFilter(OrderFilter::class, properties: ["id" => "DESC"])]
class Book
{
    // ...
}<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\ApiFilter;
use ApiPlatform\Metadata\GetCollection;
use ApiPlatform\Doctrine\Odm\Filter\OrderFilter;
use ApiPlatform\Doctrine\Odm\Filter\RangeFilter;
 
#[GetCollection(paginationPartial: true, paginationViaCursor: [['field' => 'id', 'direction' => 'DESC']])]
#[ApiFilter(RangeFilter::class, properties: ["id"])]
#[ApiFilter(OrderFilter::class, properties: ["id" => "DESC"])]
class Book
{
    // ...
}# api/config/api_platform/resources.yaml
resources:
    App\Entity\Book:
        - operations:
              ApiPlatform\Metadata\GetCollection:
                  paginationPartial: true
                  paginationViaCursor:
                      - { field: 'id', direction: 'DESC' }
                  filters: [ 'app.filters.book.range', 'app.filters.book.order' ]# api/config/api_platform/resources.yaml
resources:
    App\Entity\Book:
        - operations:
              ApiPlatform\Metadata\GetCollection:
                  paginationPartial: true
                  paginationViaCursor:
                      - { field: 'id', direction: 'DESC' }
                  filters: [ 'app.filters.book.range', 'app.filters.book.order' ]<?xml version="1.0" encoding="UTF-8" ?>
<!-- api/config/api_platform/resources.xml -->
 
<resources
        xmlns="https://api-platform.com/schema/metadata/resources-3.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0
        https://api-platform.com/schema/metadata/resources-3.0.xsd">
    <resource class="App\Entity\Book">
        <operations>
            <operation class="ApiPlatform\Metadata\GetCollection" paginationPartial=true>
                <filters>
                    <filter>app.filters.book.range</filter>
                    <filter>app.filters.book.order</filter>
                </filters>
                <paginationViaCursor>
                    <paginationField field="id" direction="DESC" />
                </paginationViaCursor>
            </operation>
        </operations>
    </resource>
</resources><?xml version="1.0" encoding="UTF-8" ?>
<!-- api/config/api_platform/resources.xml -->
 
<resources
        xmlns="https://api-platform.com/schema/metadata/resources-3.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0
        https://api-platform.com/schema/metadata/resources-3.0.xsd">
    <resource class="App\Entity\Book">
        <operations>
            <operation class="ApiPlatform\Metadata\GetCollection" paginationPartial=true>
                <filters>
                    <filter>app.filters.book.range</filter>
                    <filter>app.filters.book.order</filter>
                </filters>
                <paginationViaCursor>
                    <paginationField field="id" direction="DESC" />
                </paginationViaCursor>
            </operation>
        </operations>
    </resource>
</resources>To know more about cursor-based pagination take a look at this blog post on medium (draft).
array $orderarray $orderstring $descriptionstring $descriptionarray $normalizationContextarray $normalizationContextarray $denormalizationContextarray $denormalizationContextbool $collectDenormalizationErrorsbool $collectDenormalizationErrorsstring $securitystring $securitystring $securityMessagestring $securityMessagestring $securityPostDenormalizestring $securityPostDenormalizestring $securityPostDenormalizeMessagestring $securityPostDenormalizeMessagestring $securityPostValidationstring $securityPostValidationstring $securityPostValidationMessagestring $securityPostValidationMessagestring $deprecationReasonstring $deprecationReasonThe deprecationReason option deprecates the current operation with a deprecation message.
<?php
// api/src/Entity/Parchment.php
use ApiPlatform\Metadata\Get;
 
#[Get(deprecationReason: 'Create a Book instead')]
class Parchment
{
    // ...
}<?php
// api/src/Entity/Parchment.php
use ApiPlatform\Metadata\Get;
 
#[Get(deprecationReason: 'Create a Book instead')]
class Parchment
{
    // ...
}# api/config/api_platform/resources.yaml
resources:
    App\Entity\Parchment:
        - operations:
              ApiPlatform\Metadata\Get:
                  deprecationReason: 'Create a Book instead'# api/config/api_platform/resources.yaml
resources:
    App\Entity\Parchment:
        - operations:
              ApiPlatform\Metadata\Get:
                  deprecationReason: 'Create a Book instead'<?xml version="1.0" encoding="UTF-8" ?>
<!-- api/config/api_platform/resources.xml -->
 
<resources
        xmlns="https://api-platform.com/schema/metadata/resources-3.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0
        https://api-platform.com/schema/metadata/resources-3.0.xsd">
    <resource class="App\Entity\Parchment">
        <operations>
            <operation class="ApiPlatform\Metadata\Get" deprecationReason="Create a Book instead" />
        <operations>
    </resource>
</resources><?xml version="1.0" encoding="UTF-8" ?>
<!-- api/config/api_platform/resources.xml -->
 
<resources
        xmlns="https://api-platform.com/schema/metadata/resources-3.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0
        https://api-platform.com/schema/metadata/resources-3.0.xsd">
    <resource class="App\Entity\Parchment">
        <operations>
            <operation class="ApiPlatform\Metadata\Get" deprecationReason="Create a Book instead" />
        <operations>
    </resource>
</resources>owl:deprecated annotation property will be added to the appropriate data structuredeprecated property will be addedisDeprecated and deprecationReason properties will be added to the schemaarray $filtersarray $filtersThe filters option configures the filters (declared as services) available on the collection routes for the current resource.
<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(filters: ['app.filters.book.search'])]
class Book
{
    // ...
}<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(filters: ['app.filters.book.search'])]
class Book
{
    // ...
}# api/config/api_platform/resources.yaml
resources:
    App\Entity\Book:
        - operations:
              ApiPlatform\Metadata\GetCollection:
                  filters: ['app.filters.book.search']# api/config/api_platform/resources.yaml
resources:
    App\Entity\Book:
        - operations:
              ApiPlatform\Metadata\GetCollection:
                  filters: ['app.filters.book.search']<?xml version="1.0" encoding="UTF-8" ?>
<!-- api/config/api_platform/resources.xml -->
<resources
        xmlns="https://api-platform.com/schema/metadata/resources-3.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0
        https://api-platform.com/schema/metadata/resources-3.0.xsd">
    <resource class="App\Entity\Book">
        <operations>
            <operation class="ApiPlatform\Metadata\GetCollection">
                <filters>
                    <filter>app.filters.book.search</filter>
                </filters>
            </operation>
        </operations>
    </resource>
</resources><?xml version="1.0" encoding="UTF-8" ?>
<!-- api/config/api_platform/resources.xml -->
<resources
        xmlns="https://api-platform.com/schema/metadata/resources-3.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0
        https://api-platform.com/schema/metadata/resources-3.0.xsd">
    <resource class="App\Entity\Book">
        <operations>
            <operation class="ApiPlatform\Metadata\GetCollection">
                <filters>
                    <filter>app.filters.book.search</filter>
                </filters>
            </operation>
        </operations>
    </resource>
</resources>array $validationContextarray $validationContextThe validationContext option configure the context of validation for the current Operation.
You can, for instance, describe the validation groups that will be used :
  #[Put(validationContext: ['groups' => ['Default', 'putValidation']])]
  #[Post(validationContext: ['groups' => ['Default', 'postValidation']])]  #[Put(validationContext: ['groups' => ['Default', 'putValidation']])]
  #[Post(validationContext: ['groups' => ['Default', 'postValidation']])]For more examples, read our guide on validation.
$input$input$output$output$mercure$mercurestring|bool $messengerstring|bool $messengerThe messenger option dispatches the current resource through the Message Bus.
<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\Post;
 
#[Post(messenger: true)]
class Book
{
    // ...
}<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\Post;
 
#[Post(messenger: true)]
class Book
{
    // ...
}# api/config/api_platform/resources.yaml
resources:
    App\Entity\Book:
        - operations:
              ApiPlatform\Metadata\Post:
                  messenger: true# api/config/api_platform/resources.yaml
resources:
    App\Entity\Book:
        - operations:
              ApiPlatform\Metadata\Post:
                  messenger: true<?xml version="1.0" encoding="UTF-8" ?>
<!-- api/config/api_platform/resources.xml -->
 
<resources
        xmlns="https://api-platform.com/schema/metadata/resources-3.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0
        https://api-platform.com/schema/metadata/resources-3.0.xsd">
    <resource class="App\Entity\Book">
        <operations>
            <operation class="ApiPlatform\Metadata\Post" messenger=true />
        </operations>
    </resource>
</resources><?xml version="1.0" encoding="UTF-8" ?>
<!-- api/config/api_platform/resources.xml -->
 
<resources
        xmlns="https://api-platform.com/schema/metadata/resources-3.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0
        https://api-platform.com/schema/metadata/resources-3.0.xsd">
    <resource class="App\Entity\Book">
        <operations>
            <operation class="ApiPlatform\Metadata\Post" messenger=true />
        </operations>
    </resource>
</resources>Note: when using messenger=true on a Doctrine entity, the Doctrine Processor is not called. If you want it
to be called, you should decorate a built-in state processor
and implement your own logic.
Read how to use Messenger with an Input object.
bool $elasticsearchbool $elasticsearchint $urlGenerationStrategyint $urlGenerationStrategybool $readbool $readbool $deserializebool $deserializebool $validatebool $validatebool $writebool $writebool $serializebool $serializebool $fetchPartialbool $fetchPartialbool $forceEagerbool $forceEagerint $priorityint $prioritystring $namestring $name$provider$provider$processor$processorApiPlatform\State\OptionsInterface $stateOptionsApiPlatform\State\OptionsInterface $stateOptionsarray $extraPropertiesarray $extraPropertiespublic __construct(null|string $shortName, null|string $class, null|bool $paginationEnabled, null|string $paginationType, null|int $paginationItemsPerPage, null|int $paginationMaximumItemsPerPage, null|bool $paginationPartial, null|bool $paginationClientEnabled, null|bool $paginationClientItemsPerPage, null|bool $paginationClientPartial, null|bool $paginationFetchJoinCollection, null|bool $paginationUseOutputWalkers, null|array $paginationViaCursor, null|array<string, string>|array<int, string> $order, null|string $description, null|array $normalizationContext, null|array $denormalizationContext, null|bool $collectDenormalizationErrors, null|string $security, null|string $securityMessage, null|string $securityPostDenormalize, null|string $securityPostDenormalizeMessage, null|string $securityPostValidation, null|string $securityPostValidationMessage, null|string $deprecationReason, null|array<int, string> $filters, null|array $validationContext, array|string|false $input, array|string|false $output, string|array|bool $mercure, string|bool $messenger, null|bool $elasticsearch, null|int $urlGenerationStrategy, null|bool $read, null|bool $deserialize, null|bool $validate, null|bool $write, null|bool $serialize, null|bool $fetchPartial, null|bool $forceEager, null|int $priority, null|string $name, string|callable $provider, string|callable $processor, null|ApiPlatform\State\OptionsInterface $stateOptions, array $extraProperties)public __construct(null|string $shortName, null|string $class, null|bool $paginationEnabled, null|string $paginationType, null|int $paginationItemsPerPage, null|int $paginationMaximumItemsPerPage, null|bool $paginationPartial, null|bool $paginationClientEnabled, null|bool $paginationClientItemsPerPage, null|bool $paginationClientPartial, null|bool $paginationFetchJoinCollection, null|bool $paginationUseOutputWalkers, null|array $paginationViaCursor, null|array<string, string>|array<int, string> $order, null|string $description, null|array $normalizationContext, null|array $denormalizationContext, null|bool $collectDenormalizationErrors, null|string $security, null|string $securityMessage, null|string $securityPostDenormalize, null|string $securityPostDenormalizeMessage, null|string $securityPostValidation, null|string $securityPostValidationMessage, null|string $deprecationReason, null|array<int, string> $filters, null|array $validationContext, array|string|false $input, array|string|false $output, string|array|bool $mercure, string|bool $messenger, null|bool $elasticsearch, null|int $urlGenerationStrategy, null|bool $read, null|bool $deserialize, null|bool $validate, null|bool $write, null|bool $serialize, null|bool $fetchPartial, null|bool $forceEager, null|int $priority, null|string $name, string|callable $provider, string|callable $processor, null|ApiPlatform\State\OptionsInterface $stateOptions, array $extraProperties)| shortName | string | |
| class | string | |
| paginationEnabled | bool | https://api-platform.com/docs/core/pagination/#for-a-specific-resource | 
| paginationType | string | https://api-platform.com/docs/core/graphql/#using-the-page-based-pagination | 
| paginationItemsPerPage | int | https://api-platform.com/docs/core/pagination/#changing-the-number-of-items-per-page | 
| paginationMaximumItemsPerPage | int | https://api-platform.com/docs/core/pagination/#changing-maximum-items-per-page | 
| paginationPartial | bool | https://api-platform.com/docs/core/performance/#partial-pagination | 
| paginationClientEnabled | bool | https://api-platform.com/docs/core/pagination/#for-a-specific-resource-1 | 
| paginationClientItemsPerPage | bool | https://api-platform.com/docs/core/pagination/#for-a-specific-resource-3 | 
| paginationClientPartial | bool | https://api-platform.com/docs/core/pagination/#for-a-specific-resource-6 | 
| paginationFetchJoinCollection | bool | https://api-platform.com/docs/core/pagination/#controlling-the-behavior-of-the-doctrine-orm-paginator | 
| paginationUseOutputWalkers | bool | |
| paginationViaCursor | array | |
| order | array<string, string> array<int, string> | https://api-platform.com/docs/core/default-order/#overriding-default-order | 
| description | string | |
| normalizationContext | array | |
| denormalizationContext | array | |
| collectDenormalizationErrors | bool | |
| security | string | https://api-platform.com/docs/core/security | 
| securityMessage | string | https://api-platform.com/docs/core/security/#configuring-the-access-control-error-message | 
| securityPostDenormalize | string | https://api-platform.com/docs/core/security/#executing-access-control-rules-after-denormalization | 
| securityPostDenormalizeMessage | string | https://api-platform.com/docs/core/security/#configuring-the-access-control-error-message | 
| securityPostValidation | string | |
| securityPostValidationMessage | string | |
| deprecationReason | string | https://api-platform.com/docs/core/deprecations/#deprecating-resource-classes-operations-and-properties | 
| filters | array<int, string> | https://api-platform.com/docs/core/filters/#doctrine-orm-and-mongodb-odm-filters | 
| validationContext | array | |
| input | array string false | https://api-platform.com/docs/core/dto/#specifying-an-input-or-an-output-data-representation | 
| output | array string false | https://api-platform.com/docs/core/dto/#specifying-an-input-or-an-output-data-representation | 
| mercure | string array bool | https://api-platform.com/docs/core/mercure | 
| messenger | string bool | https://api-platform.com/docs/core/messenger/#dispatching-a-resource-through-the-message-bus | 
| elasticsearch | bool | https://api-platform.com/docs/core/elasticsearch/ | 
| urlGenerationStrategy | int | |
| read | bool | https://api-platform.com/docs/core/events/#the-event-system | 
| deserialize | bool | https://api-platform.com/docs/core/events/#the-event-system | 
| validate | bool | https://api-platform.com/docs/core/events/#the-event-system | 
| write | bool | https://api-platform.com/docs/core/events/#the-event-system | 
| serialize | bool | https://api-platform.com/docs/core/events/#the-event-system | 
| fetchPartial | bool | https://api-platform.com/docs/core/performance/#fetch-partial | 
| forceEager | bool | https://api-platform.com/docs/core/performance/#force-eager | 
| priority | int | |
| name | string | |
| provider | string callable | https://api-platform.com/docs/core/state-providers/#state-providers | 
| processor | string callable | https://api-platform.com/docs/core/state-processors/#state-processors | 
| stateOptions | ApiPlatform\State\OptionsInterface | |
| extraProperties | array | 
public withOperation($operation)public withOperation($operation)| operation | 
public canRead(): boolpublic canRead(): boolbool
public withRead(bool $read): ApiPlatform\Metadata\Operationpublic withRead(bool $read): ApiPlatform\Metadata\Operation| read | bool | 
ApiPlatform\Metadata\Operation
public canDeserialize(): boolpublic canDeserialize(): boolbool
public withDeserialize(bool $deserialize): ApiPlatform\Metadata\Operationpublic withDeserialize(bool $deserialize): ApiPlatform\Metadata\Operation| deserialize | bool | 
ApiPlatform\Metadata\Operation
public canValidate(): boolpublic canValidate(): boolbool
public withValidate(bool $validate): ApiPlatform\Metadata\Operationpublic withValidate(bool $validate): ApiPlatform\Metadata\Operation| validate | bool | 
ApiPlatform\Metadata\Operation
public canWrite(): boolpublic canWrite(): boolbool
public withWrite(bool $write): ApiPlatform\Metadata\Operationpublic withWrite(bool $write): ApiPlatform\Metadata\Operation| write | bool | 
ApiPlatform\Metadata\Operation
public canSerialize(): boolpublic canSerialize(): boolbool
public withSerialize(bool $serialize): ApiPlatform\Metadata\Operationpublic withSerialize(bool $serialize): ApiPlatform\Metadata\Operation| serialize | bool | 
ApiPlatform\Metadata\Operation
public getPriority(): intpublic getPriority(): intint
public withPriority(int $priority): ApiPlatform\Metadata\Operationpublic withPriority(int $priority): ApiPlatform\Metadata\Operation| priority | int | 
ApiPlatform\Metadata\Operation
public getName(): stringpublic getName(): stringstring
public withName(string $name): ApiPlatform\Metadata\Operationpublic withName(string $name): ApiPlatform\Metadata\Operation| name | string | 
ApiPlatform\Metadata\Operation
protected copyFrom(ApiPlatform\Metadata\Metadata $resource): staticprotected copyFrom(ApiPlatform\Metadata\Metadata $resource): static| resource | ApiPlatform\Metadata\Metadata | 
static