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

# Publish Draft Item

> Initiates a publish of an item from the working catalog to the public catalog. You can use the GetItemPublishStatus API to track the state of the item publish.

Allowed entity token types: title, master_player_account, title_player_account

## Error codes

This operation may return the following PlayFab errors:

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




## OpenAPI

````yaml post /Catalog/PublishDraftItem
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/PublishDraftItem:
    post:
      tags:
        - Catalog
      summary: Publish Draft Item
      description: >
        Initiates a publish of an item from the working catalog to the public
        catalog. You can use the GetItemPublishStatus API to track the state of
        the item publish.


        Allowed entity token types: title, master_player_account,
        title_player_account


        ## Error codes


        This operation may return the following PlayFab errors:


        | Error | Code |

        | --- | --- |

        | DatabaseThroughputExceeded | 1113 |

        | ItemNotFound | 1047 |
      operationId: PublishDraftItem
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublishDraftItemRequest'
        description: >-
          The call kicks off a workflow to publish the item to the public
          catalog. The Publish Status API should be used to monitor the publish
          job.
      responses:
        '200':
          $ref: '#/components/responses/PublishDraftItemResponse'
        '400':
          $ref: '#/components/responses/ApiErrorWrapper'
      security:
        - EntityToken: []
components:
  schemas:
    PublishDraftItemRequest:
      description: >-
        The call kicks off a workflow to publish the item to the public catalog.
        The Publish Status API should be used to monitor the publish job.
      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
        Entity:
          allOf:
            - $ref: '#/components/schemas/EntityKey'
          description: The entity to perform this action on.
        ETag:
          description: >-
            ETag of the catalog item to published from the working catalog to
            the public catalog. Used for optimistic concurrency. If the provided
            ETag does not match the ETag in the current working catalog, the
            request will be rejected. If not provided, the current version of
            the document in the working catalog will be published.
          type: string
        Id:
          description: The unique ID of the item.
          type: string
      example:
        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
    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
    PublishDraftItemResponse:
      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:
    PublishDraftItemResponse:
      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/PublishDraftItemResponse'
            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

- [Publish Draft Item](/api-reference/catalog/publish-draft-item.md)
- [PFCatalogPublishDraftItemRequest](/services/playfab/api-references/c/pfcatalogtypes/structs/pfcatalogpublishdraftitemrequest.md)
- [PFCatalogPublishDraftItemAsync](/services/playfab/api-references/c/pfcatalog/functions/pfcatalogpublishdraftitemasync.md)
- [Publish your first user generated content](/services/playfab/economy-monetization/economy-v2/tutorials/publish-ugc.md)
- [Quickstart](/services/playfab/economy-monetization/economy-v2/quickstart.md)
