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

# Manage Content

> List, inspect, look up, and delete your content in Gloo AI.

<Tabs>
  <Tab title="Via API">
    The Content Management APIs help you understand and control your content catalog—list all items for a [publisher](/getting-started/glossary#publisher), inspect detailed metadata, look up items by your internal IDs, and permanently remove content when needed.

    ## Prerequisites

    Before starting, ensure you have:

    * A **Gloo AI Studio** account
    * Your **Client ID** and **Client Secret** from the [API Credentials page](/studio/manage-api-credentials)
    * **Authentication setup** - Complete the [Authentication Tutorial](/tutorials/authentication) first

    <Info>
      The caller must belong to the organization that owns the specified publisher.
    </Info>

    ***

    ## List All Items

    Retrieve all items for a publisher with basic metadata including status, title, producer id, and filename. Use this to audit your catalog or find specific [`item_id`](/getting-started/glossary#item_id) values.

    **When to use:**

    * Audit your content catalog
    * Find item IDs for subsequent operations
    * Check ingestion status across all items

    ```bash Shell theme={null}
    curl -X GET "https://platform.ai.gloo.com/engine/v2/publisher/{publisher-id}/items" \
      -H "Authorization: Bearer $ACCESS_TOKEN"
    ```

    **Example Response:**

    ```json theme={null}
    [
      {
        "item_id": "070839ad-9ec7-4d3b-b8ee-c61495842e96",
        "producer_id": "EP-1",
        "item_title": "Introduction to Faith",
        "filename": "intro-faith.pdf",
        "status": "COMPLETED"
      },
      {
        "item_id": "2ae016a2-b2e9-4f64-8a4d-9cb9fa9d87b7",
        "producer_id": "SERMON-63",
        "item_title": "Weekly Sermon",
        "filename": "sermon-2024-01.mp3",
        "status": "COMPLETED"
      }
    ]
    ```

    **Status values:** `STARTED`, `QUEUED`, `FETCHING`, `TRANSCRIBING`, `NORMALIZING`, `CHUNKING`, `EMBEDDING`, `SYNCED`, `ENRICHED`, `COMPLETED`, `FAILED`

    **Full API details:** [Get Publisher Items API Reference](/api-reference/content-controls/get-publisher-items)

    ***

    ## List Producer IDs (Paginated)

    Retrieve a paginated list of distinct `producer_id` values for a publisher. This is the recommended way to enumerate producer IDs for publishers with large catalogs, as it avoids the response-size limits of the [List All Items](#list-all-items) endpoint.

    **When to use:**

    * Enumerate producer IDs for publishers with large catalogs (thousands of items)
    * Page through all producer IDs without hitting response-size limits
    * Build sync pipelines that reconcile your internal IDs with Gloo

    <Info>
      Results are sorted alphabetically by `producer_id`. The default and maximum
      page size is **1,000**.
    </Info>

    ```bash Shell theme={null}
    curl -X GET "https://platform.ai.gloo.com/engine/v2/publisher/{publisher-id}/producer-ids?page=1&page_size=1000" \
      -H "Authorization: Bearer $ACCESS_TOKEN"
    ```

    **Example Response:**

    ```json theme={null}
    {
      "producer_ids": ["EP-1", "EP-2", "EP-3", "SERMON-63", "SERMON-64"],
      "pagination": {
        "page": 1,
        "page_size": 1000,
        "total": 4520,
        "total_pages": 5
      }
    }
    ```

    **Query Parameters:**

    | Parameter   | Type    | Default | Description                                      |
    | ----------- | ------- | ------- | ------------------------------------------------ |
    | `page`      | integer | `1`     | Page number (1-indexed).                         |
    | `page_size` | integer | `1000`  | Number of producer IDs per page. Maximum `1000`. |

    **Full API details:** [Get Publisher Producer IDs API Reference](/api-reference/content-controls/get-publisher-producer-ids)

    ***

    ## Get Item Details

    Retrieve comprehensive metadata for a specific item including status, collection memberships, and all editable fields.

    **When to use:**

    * Inspect item state before updates or deletion
    * Verify metadata completeness
    * Check collection memberships and visibility settings

    ```bash Shell theme={null}
    curl -X GET "https://platform.ai.gloo.com/engine/v2/items/{item-id}" \
      -H "Authorization: Bearer $ACCESS_TOKEN"
    ```

    **Example Response:**

    ```json theme={null}
    {
      "item_id": "2ae016a2-b2e9-4f64-8a4d-9cb9fa9d87b7",
      "status": "COMPLETED",
      "item_title": "Weekly Sermon",
      "item_subtitle": "Faith in Action Series",
      "filename": "sermon-2024-01.mp3",
      "author": ["Pastor Smith"],
      "item_tags": ["sermons", "faith"],
      "visible_in_search": true,
      "visible_in_chat": true,
      "updated_at": "2025-01-15T10:30:00.000Z"
    }
    ```

    **Full API details:** [Get Item Metadata API Reference](/api-reference/content-controls/get-item-metadata)

    ***

    ## Look Up by Producer ID

    If you assigned your own internal ID ([`producer_id`](/getting-started/glossary#producer_id)) when uploading content, use this endpoint to find the corresponding Gloo [`item_id`](/getting-started/glossary#item_id).

    **When to use:**

    * Map your internal IDs to Gloo item IDs
    * Integrate with your existing content management systems
    * Look up items without storing Gloo IDs

    ```bash Shell theme={null}
    curl -X POST "https://platform.ai.gloo.com/engine/v2/publisher/{publisher-id}/items/by-producer" \
      -H "Authorization: Bearer $ACCESS_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "producer_ids": ["your-internal-id-123"]
      }'
    ```

    **Example Response:**

    ```json theme={null}
    {
      "producer_id": "your-internal-id-123",
      "item_id": "2ae016a2-b2e9-4f64-8a4d-9cb9fa9d87b7"
    }
    ```

    **Full API details:** [Get Item by Producer ID API Reference](/api-reference/content-controls/get-item-by-producer-id)

    ***

    ## Delete Items

    Permanently remove items from all storage systems. This is irreversible and purges data from vector databases, file storage, and all related records.
    Items can be deleted in batches of up to 1000 at a time.

    <Warning>
      Deletion is permanent and cannot be undone. Verify item IDs carefully before
      deleting.
    </Warning>

    **When to use:**

    * Remove obsolete or test content
    * Comply with data removal requests
    * Clean up failed ingestions

    ```bash Shell theme={null}
    curl -X DELETE "https://platform.ai.gloo.com/engine/v2/items" \
      -H "Authorization: Bearer $ACCESS_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "item_ids": ["070839ad-9ec7-4d3b-b8ee-c61495842e96"]
      }'
    ```

    **Example Response:**

    ```json theme={null}
    {
      "success": true,
      "mode": "hard",
      "total_requested": 1,
      "total_deleted": 1,
      "total_failed": 0,
      "message": "Successfully deleted 1 of 1 items"
    }
    ```

    **Full API details:** [Delete Item API Reference](/api-reference/content-controls/delete-item)

    ***

    ## Common Workflows

    ### Audit Your Catalog

    1. **List all items** to get an overview of your content
    2. **Inspect individual items** to check metadata completeness
    3. **Update metadata** using the [Edit Content](/api-guides/edit-content) APIs

    ### Find and Fix Items

    1. **List items** to find content needing updates
    2. **Get item details** to understand current state
    3. **Update single item** or **bulk update** to fix issues

    ### Bulk Cleanup

    1. **List items** to identify content for removal
    2. **Verify items** before deletion
    3. **Delete items** in batches to clean up your catalog
  </Tab>

  <Tab title="Via Gloo AI Studio">
    The **Content Library** in Studio gives you a visual view of all ingested content for your publisher.

    1. Click **Data Engine** in the Studio sidebar, then click **Content Library**.
    2. You'll see a table of all your content with columns for:
       * **Item Title** — The title of your content
       * **File Name** — The original filename
       * **Type** — Content type (e.g., article)
       * **Status** — Processing status (Successful or Pending)
       * **Upload Date** — When the content was added
       * **Actions** — Edit metadata or remove items
    3. Use the search bar to find specific items by title or filename.
    4. Click the **edit icon** in the Actions column to update metadata for any item.

    <Note>
      To delete items in bulk, use the [API delete endpoint](#delete-items). Bulk
      deletion is not currently available in the Studio UI.
    </Note>
  </Tab>
</Tabs>
