> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Set Item Moderation State

> Sets the moderation state for an item, including the concern category and string reason. More information about moderation states can be found here: https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/ugc/moderation

Allowed entity token types: title

## Error codes

This operation may return the following PlayFab errors:

| Error | Code |
| --- | --- |
| DatabaseThroughputExceeded | 1113 |
| ItemNotFound | 1047 |




## OpenAPI

````yaml /services/playfab/api-references/rest/economy/economy.openapi.json post /Catalog/SetItemModerationState
openapi: 3.0.0
info:
  version: '260922'
  title: PlayFab Economy API
  description: >-
    API methods for managing the catalog. Inventory manages in-game assets for
    any given entity. API methods for managing the versioned catalogs.
  termsOfService: https://playfab.com/terms/
  contact:
    url: https://community.playfab.com/index.html
  license:
    name: Apache 2.0
    url: https://github.com/PlayFab/API_Specs/blob/master/LICENSE
servers:
  - url: https://{titleId}.playfabapi.com
    description: PlayFab title endpoint
    variables:
      titleId:
        default: your_title_id
        description: Your PlayFab title ID (hex).
security: []
tags:
  - name: Catalog
    description: |-
      Catalog Management APIs. In general for Catalog APIs, 
                          Read APIs are limited to 100 requests in 60 seconds 
                          for Player Entities while Title Entities are limited to 10000 requests
                          in 10 seconds. For Write APIs, Player Entities are limited to 10 requests 
                          in 30 seconds and Title Entities are limited to 1000 requests in 10 seconds.
  - name: Inventory
    description: |-
      Player Inventory Management APIs. Inventory operations work on an 
                          eventually consistent system against a cache of the Catalog. It can take a few moments for 
                          changes to propagate. In general for Inventory APIs, Read APIs are limited to 100 requests 
                          in 60 seconds for Player Entities while Title Entities are limited to 10000 requests
                          in 10 seconds. For Write APIs, Player Entities are limited to 30 requests 
                          in 90 seconds and Title Entities are limited to 1000 requests in 10 seconds.
  - name: VersionedCatalog
    description: ''
paths:
  /Catalog/SetItemModerationState:
    post:
      tags:
        - Catalog
      summary: Set Item Moderation State
      description: >
        Sets the moderation state for an item, including the concern category
        and string reason. More information about moderation states can be found
        here:
        https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/ugc/moderation


        Allowed entity token types: title


        ## Error codes


        This operation may return the following PlayFab errors:


        | Error | Code |

        | --- | --- |

        | DatabaseThroughputExceeded | 1113 |

        | ItemNotFound | 1047 |
      operationId: SetItemModerationState
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetItemModerationStateRequest'
      responses:
        '200':
          $ref: '#/components/responses/SetItemModerationStateResponse'
        '400':
          $ref: '#/components/responses/ApiErrorWrapper'
      security:
        - EntityToken: []
components:
  schemas:
    SetItemModerationStateRequest:
      type: object
      properties:
        AlternateId:
          allOf:
            - $ref: '#/components/schemas/CatalogAlternateId'
          description: An alternate ID associated with this item.
        CustomTags:
          description: >-
            The optional custom tags associated with the request (e.g. build
            number, external trace identifiers, etc.).
          type: object
        Id:
          description: The unique ID of the item.
          type: string
        Reason:
          description: The reason for the moderation state change for the associated item.
          type: string
        Status:
          allOf:
            - $ref: '#/components/schemas/ModerationStatus'
          description: The status to set for the associated item.
      example:
        Status: AwaitingModeration
        Reason: User reports over threshold
        Id: dddddddd-dddd-dddd-dddd-dddddddddddd
    CatalogAlternateId:
      type: object
      properties:
        Type:
          description: Type of the alternate ID.
          type: string
        Value:
          description: Value of the alternate ID.
          type: string
    ModerationStatus:
      type: string
      enum:
        - Unknown
        - AwaitingModeration
        - Approved
        - Rejected
    SetItemModerationStateResponse:
      type: object
      properties: {}
      example: {}
    ApiErrorWrapper:
      description: The basic wrapper around every failed API response
      type: object
      properties:
        code:
          description: Numerical HTTP code
          type: integer
        status:
          description: String HTTP code
          type: string
        error:
          description: Playfab error code
          type: string
        errorCode:
          description: Numerical PlayFab error code
          type: integer
        errorMessage:
          description: Description for the PlayFab errorCode
          type: string
        errorDetails:
          description: Detailed description of individual issues with the request object
          type: object
      required:
        - code
        - errorCode
  responses:
    SetItemModerationStateResponse:
      description: ''
      content:
        application/json:
          schema:
            type: object
            properties:
              code:
                type: integer
                description: >-
                  The Http status code. If X-ReportErrorAsSuccess header is set
                  to true, this will report the actual http error code.
              status:
                type: string
                description: The Http status code as a string.
              data:
                $ref: '#/components/schemas/SetItemModerationStateResponse'
            example:
              code: 200
              status: OK
              data: {}
    ApiErrorWrapper:
      description: This is the outer wrapper for all responses with errors
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorWrapper'
  securitySchemes:
    EntityToken:
      type: apiKey
      in: header
      name: X-EntityToken
      description: >-
        This API requires an Entity Session Token, available from the Entity
        GetEntityToken method.

````

## Related topics

- [Set Item Moderation State](/services/playfab/api-references/rest/economy/catalog/set-item-moderation-state.md)
- [PFCatalogSetItemModerationStateAsync](/services/playfab/api-references/c/pfcatalog/functions/pfcatalogsetitemmoderationstateasync.md)
- [PFCatalogSetItemModerationStateRequest](/services/playfab/api-references/c/pfcatalogtypes/structs/pfcatalogsetitemmoderationstaterequest.md)
- [Moderating your user generated content](/services/playfab/economy-monetization/economy-v2/ugc/moderation.md)
- [Economy Pricing Meters](/services/playfab/pricing/meters/catalog-meters.md)
