---
title: "Suggest buyer prompts from catalog products"
method: POST
path: "/catalog_prompt_suggestions"
tags: ["Store Integrations"]
---

# Suggest buyer prompts from catalog products

`POST /catalog_prompt_suggestions`

## Request

- Base URL: `https://api.llmpulse.ai/api/v1`
- URL: `https://api.llmpulse.ai/api/v1/catalog_prompt_suggestions`
- Auth: API key in header `Authorization`

Writes buyer prompts for up to 20 catalog products and saves them as pending suggestions in the project's Suggested prompts queue, with the product recorded on each. Generation draws on the hourly prompt-suggestion allowance the app also uses (ERR_QUOTA_EXCEEDED once it is used up); a failed generation returns ERR_GENERATION_FAILED (502) and can be retried. Requires a `read_write` scope API key and, for team members, create access to Prompts. Not available to accounts with a white-label portal or an embed (ERR_INTEGRATION_UNAVAILABLE).

## Request body

- CatalogPromptSuggestionsCreateRequest
  - `project_id` integer, required
  - `platform` 'shopify', required
  - `country_code` string: Defaults to the project country
  - `language_code` string: Defaults to the project language
  - `products` CatalogProduct[], required
    - `external_id` string, required: The store's product id, e.g. gid://shopify/Product/1
    - `title` string, required
    - `handle` string
    - `product_type` string
    - `vendor` string
    - `tags` string[]
    - `collections` string[]
    - `url` string

## Response `201`

The suggestions saved for these products

- CatalogPromptSuggestionsCreateResponse
  - `project_id` integer, required
  - `created` integer, required
  - `skipped` integer, required: Generated prompts not saved because the project already holds them as a suggestion (from any source or product, in any status).
  - `data` CatalogPromptSuggestion[], required
    - `id` integer, required
    - `prompt` string, required
    - `status` string, required: pending, accepted or rejected
    - `source` string, required: Always catalog
    - `country_code` string, nullable, required
    - `language_code` string, nullable, required
    - `product` object, required: The catalog product the suggestion was written for
      - `external_id` string, nullable: The store's product id, e.g. gid://shopify/Product/1
      - `handle` string, nullable
      - `title` string, nullable
    - `prompt_id` integer, nullable, required: The tracked prompt an accepted suggestion became; null until accepted
    - `accepted_at` string, date-time, nullable, required: When the suggestion was accepted; null until then
    - `created_at` string, date-time, required
  - `request_id` string, required

## Other responses

- `403`: The account has a white-label portal or an embed, so store integrations are not available (ERR_INTEGRATION_UNAVAILABLE). Writes with a read-only key answer ERR_INSUFFICIENT_SCOPE, and a team member without the permission ERR_INSUFFICIENT_PERMISSION, with the same status
- `404`: Resource not found
- `422`: Invalid parameters
- `502`: The AI generation failed; retry the request

## Changes

- **2026-10-04** `8698fcf9df22`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/llmpulse/apis/llm-pulse-api/changes/catalog_prompt_suggestions/post.md)

---

[API](https://skmtc.dev/llmpulse/apis/llm-pulse-api.md) - [All operations](https://skmtc.dev/llmpulse/apis/llm-pulse-api/llms.txt) - [OpenAPI document](https://skmtc.dev/llmpulse/apis/llm-pulse-api/revisions/38a31f123641?raw)
