> ## 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.

# Update Catalog Config

> Updates the configuration for the catalog. Only Title Entities can call this API. There is a limit of 10 requests in 10 seconds for this API. More information about the Catalog Config can be found here: https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/settings

Allowed entity token types: title

## Error codes

This operation may return the following PlayFab errors:

| Error | Code |
| --- | --- |
| BillingInformationRequired | 1266 |
| CatalogConfigInvalid | 4010 |
| InvalidEntityType | 1373 |




## OpenAPI

````yaml /services/playfab/api-references/rest/economy/economy.openapi.json post /Catalog/UpdateCatalogConfig
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/UpdateCatalogConfig:
    post:
      tags:
        - Catalog
      summary: Update Catalog Config
      description: >
        Updates the configuration for the catalog. Only Title Entities can call
        this API. There is a limit of 10 requests in 10 seconds for this API.
        More information about the Catalog Config can be found here:
        https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/settings


        Allowed entity token types: title


        ## Error codes


        This operation may return the following PlayFab errors:


        | Error | Code |

        | --- | --- |

        | BillingInformationRequired | 1266 |

        | CatalogConfigInvalid | 4010 |

        | InvalidEntityType | 1373 |
      operationId: UpdateCatalogConfig
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCatalogConfigRequest'
      responses:
        '200':
          $ref: '#/components/responses/UpdateCatalogConfigResponse'
        '400':
          $ref: '#/components/responses/ApiErrorWrapper'
      security:
        - EntityToken: []
components:
  schemas:
    UpdateCatalogConfigRequest:
      type: object
      properties:
        Config:
          allOf:
            - $ref: '#/components/schemas/CatalogConfig'
          description: The updated catalog configuration.
        CustomTags:
          description: >-
            The optional custom tags associated with the request (e.g. build
            number, external trace identifiers, etc.).
          type: object
      example:
        Config:
          IsCatalogEnabled: true
          AdminEntities:
            - Id: ABC123
              Type: title_player_account
              TypeString: title_player_account
          DisplayPropertyIndexInfos:
            - Name: damage
              Type: QueryDouble
          ReviewerEntities:
            - Id: ABC123
              Type: title_player_account
              TypeString: title_player_account
          UserGeneratedContent:
            ContentTypes:
              - skin
              - map
              - example item
            Tags:
              - pirate
              - holiday
    CatalogConfig:
      type: object
      properties:
        AdminEntities:
          description: >-
            A list of player entity keys that will have admin permissions. There
            is a maximum of 64 entities that can be added.
          type: array
          items:
            $ref: '#/components/schemas/EntityKey'
          x-isclass: true
        Catalog:
          allOf:
            - $ref: '#/components/schemas/CatalogSpecificConfig'
          description: The set of configuration that only applies to catalog items.
        DeepLinkFormats:
          description: A list of deep link formats. Up to 10 can be added.
          type: array
          items:
            $ref: '#/components/schemas/DeepLinkFormat'
          x-isclass: true
        DisplayPropertyIndexInfos:
          description: >-
            A list of display properties to index. Up to 5 mappings can be added
            per Display Property Type. More info on display properties can be
            found here:
            https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/catalog/content-types-tags-and-properties#displayproperties
          type: array
          items:
            $ref: '#/components/schemas/DisplayPropertyIndexInfo'
          x-isclass: true
        File:
          allOf:
            - $ref: '#/components/schemas/FileConfig'
          description: The set of configuration that only applies to Files.
        Image:
          allOf:
            - $ref: '#/components/schemas/ImageConfig'
          description: The set of configuration that only applies to Images.
        IsCatalogEnabled:
          description: Flag defining whether catalog is enabled.
          type: boolean
        Platforms:
          description: >-
            A list of Platforms that can be applied to catalog items. Each
            platform can have a maximum character length of 40 and up to 128
            platforms can be listed.
          type: array
          items:
            type: string
        Review:
          allOf:
            - $ref: '#/components/schemas/ReviewConfig'
          description: The set of configuration that only applies to Ratings and Reviews.
        ReviewerEntities:
          description: >-
            A set of player entity keys that are allowed to review content.
            There is a maximum of 128 entities that can be added.
          type: array
          items:
            $ref: '#/components/schemas/EntityKey'
          x-isclass: true
        UserGeneratedContent:
          allOf:
            - $ref: '#/components/schemas/UserGeneratedContentSpecificConfig'
          description: >-
            The set of configuration that only applies to user generated
            contents.
      required:
        - IsCatalogEnabled
    UpdateCatalogConfigResponse:
      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
    EntityKey:
      description: >-
        Combined entity type and ID structure which uniquely identifies a single
        entity.
      type: object
      properties:
        Id:
          description: Unique ID of the entity.
          type: string
        Type:
          description: >-
            Entity type. See
            https://learn.microsoft.com/gaming/playfab/features/data/entities/available-built-in-entity-types
          type: string
      required:
        - Id
    CatalogSpecificConfig:
      type: object
      properties:
        ContentTypes:
          description: >-
            The set of content types that will be used for validation. Each
            content type can have a maximum character length of 40 and up to 128
            types can be listed.
          type: array
          items:
            type: string
        Tags:
          description: >-
            The set of tags that will be used for validation. Each tag can have
            a maximum character length of 32 and up to 1024 tags can be listed.
          type: array
          items:
            type: string
    DeepLinkFormat:
      type: object
      properties:
        Format:
          description: >-
            The format of the deep link to return. The format should contain
            '{id}' to represent where the item ID should be placed.
          type: string
        Platform:
          description: The target platform for the deep link.
          type: string
    DisplayPropertyIndexInfo:
      type: object
      properties:
        Name:
          description: The property name in the 'DisplayProperties' property to be indexed.
          type: string
        Type:
          allOf:
            - $ref: '#/components/schemas/DisplayPropertyType'
          description: The type of the property to be indexed.
    FileConfig:
      type: object
      properties:
        ContentTypes:
          description: >-
            The set of content types that will be used for validation. Each
            content type can have a maximum character length of 40 and up to 128
            types can be listed.
          type: array
          items:
            type: string
        Tags:
          description: >-
            The set of tags that will be used for validation. Each tag can have
            a maximum character length of 32 and up to 1024 tags can be listed.
          type: array
          items:
            type: string
    ImageConfig:
      type: object
      properties:
        Tags:
          description: >-
            The set of tags that will be used for validation. Each tag can have
            a maximum character length of 32 and up to 1024 tags can be listed.
          type: array
          items:
            type: string
    ReviewConfig:
      type: object
      properties:
        CategoryRatings:
          description: A set of categories that can be applied toward ratings and reviews.
          type: array
          items:
            $ref: '#/components/schemas/CategoryRatingConfig'
          x-isclass: true
    UserGeneratedContentSpecificConfig:
      type: object
      properties:
        ContentTypes:
          description: The set of content types that will be used for validation.
          type: array
          items:
            type: string
        Tags:
          description: The set of tags that will be used for validation.
          type: array
          items:
            type: string
    DisplayPropertyType:
      type: string
      enum:
        - None
        - QueryDateTime
        - QueryDouble
        - QueryString
        - SearchString
    CategoryRatingConfig:
      type: object
      properties:
        Name:
          description: Name of the category.
          type: string
  responses:
    UpdateCatalogConfigResponse:
      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/UpdateCatalogConfigResponse'
            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

- [Update Catalog Config](/services/playfab/api-references/rest/economy/catalog/update-catalog-config.md)
- [PFCatalogUpdateCatalogConfigRequest](/services/playfab/api-references/c/pfcatalogtypes/structs/pfcatalogupdatecatalogconfigrequest.md)
- [PFCatalogUpdateCatalogConfigAsync](/services/playfab/api-references/c/pfcatalog/functions/pfcatalogupdatecatalogconfigasync.md)
- [Publish your first user generated content](/services/playfab/economy-monetization/economy-v2/tutorials/publish-ugc.md)
- [Services C API overview - PFCatalogTypes.h](/services/playfab/api-references/c/pfcatalogtypes/pfcatalogtypes_members.md)
