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

# Update item metadata

> Update mutable metadata fields for an item. Provide either producer_id or item_id along with publisher_id to identify the target item. (Both may be passed in as well.)

<Card title="Error Reference: Content Controls" icon="triangle-exclamation" href="/api-reference/general/errors#content-controls-data-engine">
  Common errors: item not found (404), publisher not found (400), ownership mismatch (403), vector-store update failure (502).
</Card>


## OpenAPI

````yaml patch /engine/v2/item
openapi: 3.1.0
info:
  title: AI API
  description: |-
    Optimized for high-speed inference and scalability by Gloo AI

    [Swagger UI](./docs) | [ReDoc UI](./redoc)
  version: 1.0.0
servers:
  - url: https://platform.ai.gloo.com
security:
  - bearerAuth: []
tags:
  - name: Content Controls
  - name: Data Engine
  - name: Ingestion & Enrichment
  - name: answers
  - name: chat
  - name: completions
  - name: content
  - name: core
  - name: data
  - name: get-models
  - name: ingestion
  - name: sotc
paths:
  /engine/v2/item:
    patch:
      tags:
        - Data Engine
        - Content Controls
      summary: Update item metadata
      description: >-
        Update mutable metadata fields for an item. Provide either producer_id
        or item_id along with publisher_id to identify the target item. (Both
        may be passed in as well.)
      operationId: edit_item_metadata_engine_v2_item_patch
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateItemMetadataRequest'
      responses:
        '200':
          description: Item updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EditItemMetadataResponse'
        '400':
          description: Bad Request - Publisher not found or invalid identifiers
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
              examples:
                publisher_not_found:
                  summary: Publisher not found
                  value:
                    detail:
                      code: publisher_not_found
                      message: Publisher not found
                invalid_identifiers:
                  summary: No item identifier provided
                  value:
                    detail:
                      code: Invalid request
                      message: Item ID or Producer ID with Publisher ID required
        '403':
          description: Forbidden - Item does not belong to the specified publisher
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
              example:
                detail:
                  code: item_publisher_mismatch
                  message: Item does not belong to the specified publisher
        '404':
          description: Item not found
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
              example:
                detail:
                  code: item_not_found
                  message: Item not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '502':
          description: Bad Gateway - Vector store update failed
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
              example:
                detail:
                  code: Weaviate update failed
                  message: Postgres not modified due to vector store update failure
                  weaviate_error: Weaviate update failed
      security:
        - HTTPBearer: []
components:
  schemas:
    UpdateItemMetadataRequest:
      type: object
      title: UpdateItemMetadataRequest
      description: >-
        Update mutable metadata fields for an item. Provide either producer_id
        or item_id to identify the target item. (Both may be passed in
        together.)
      properties:
        publisher_id:
          type: string
          title: Publisher Id
          description: Publisher ID that owns the item
          format: uuid
        item_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Item Id
          description: Item ID to update (preferred when available)
        producer_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Producer Id
          description: Producer-specific identifier for the item
        item_title:
          anyOf:
            - type: string
            - type: 'null'
          title: Item Title
        item_subtitle:
          anyOf:
            - type: string
            - type: 'null'
          title: Item Subtitle
        publication_date:
          anyOf:
            - type: string
            - type: 'null'
          title: Publication Date
        item_image:
          anyOf:
            - type: string
            - type: 'null'
          title: Item Image
        item_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Item Url
        item_summary:
          anyOf:
            - type: string
            - type: 'null'
          title: Item Summary
        item_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Item Number
        item_extra:
          anyOf:
            - type: string
            - type: 'null'
          title: Item Extra
        author:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          title: Author
        item_tags:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          title: Item Tags
      required:
        - publisher_id
      anyOf:
        - required:
            - item_id
          properties:
            item_id:
              type: string
              format: uuid
        - required:
            - producer_id
          properties:
            producer_id:
              type: string
      additionalProperties: false
    EditItemMetadataResponse:
      type: object
      title: EditItemMetadataResponse
      properties:
        success:
          type: boolean
          title: Success
        message:
          type: string
          title: Message
      required:
        - success
        - message
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Bearer authentication header of the form Bearer `<token>`, where
        `<token>` is your [auth token](/studio/manage-api-credentials).
    HTTPBearer:
      type: http
      scheme: bearer

````