Skip to main content
POST
/
api
/
products
/
queue-from-url
Queue Product From Url
curl --request POST \
  --url https://api.merchantops.ai/api/products/queue-from-url \
  --header 'Content-Type: application/json' \
  --data '
{
  "product_type_key": "<string>",
  "product_url": "<string>",
  "enrich_product": true,
  "key": "<string>",
  "scrape_brand_site": true,
  "search_lakehouse": true,
  "vendor_id": "<string>"
}
'
{
  "id": "<string>",
  "key": "<string>",
  "productType": {},
  "source": "<string>",
  "confidence": 123,
  "createdAt": "<string>",
  "createdBy": "<string>",
  "enrichmentScore": 123,
  "enrichmentSources": [
    "<string>"
  ],
  "errorMessage": "<string>",
  "isPublished": false,
  "job_id": "<string>",
  "labels": [
    "<string>"
  ],
  "lakehouseMatched": true,
  "lakehousePropertiesCount": 123,
  "langfuseTraceId": "<string>",
  "lastModifiedAt": "<string>",
  "lastModifiedBy": "<string>",
  "properties": {},
  "properties_metadata": {},
  "propertyCount": 0,
  "publish_chips": [
    {}
  ],
  "publish_status": "<string>",
  "scrapeWarnings": [
    {}
  ],
  "status": "<string>",
  "version": 1
}

Headers

authorization
string | null
X-Organization-ID
string | null

Cookies

stytch_session
string | null

Body

application/json

Request model for queuing product from URL.

product_type_key
string
required

ProductType key

product_url
string
required

Product page URL

enrich_product
boolean
default:true

Run AI enrichment (description, features, attributes)

key
string | null

Optional product key (auto-generated from URL if not provided)

scrape_brand_site
boolean
default:true

Scrape brand website during enrichment

search_lakehouse
boolean
default:true

Search product lakehouse for existing data

vendor_id
string | null

Optional vendor ID

Response

Successful Response

Response model for a single Product.

id
string
required

MongoDB ObjectId as string

key
string
required

Internal unique identifier

productType
Producttype · object
required

Product type reference

source
string
required

Source of product data

confidence
number | null

Confidence score (0-1)

createdAt
string | null

Creation timestamp

createdBy
string | null

User who created this

enrichmentScore
number | null

Enrichment completeness score (0-1)

enrichmentSources
string[] | null

Buckets that contributed to merged product

errorMessage
string | null

Error message if status=failed

isPublished
boolean
default:false

DEPRECATED manual flag; superseded by publish_status

job_id
string | null

Job ID for tracking enrichment progress

labels
string[]

Version labels

lakehouseMatched
boolean | null

Did lakehouse_search contribute any property?

lakehousePropertiesCount
integer | null

Properties sourced from lakehouse

langfuseTraceId
string | null

Langfuse trace ID

lastModifiedAt
string | null

Last modification timestamp

lastModifiedBy
string | null

User who last modified this

properties
Properties · object

Product data keyed by PropertyDefinition key

properties_metadata
Properties Metadata · object

Per-property metadata

propertyCount
integer
default:0

Number of properties with values

publish_chips
Publish Chips · object[]

Per-enabled-target publish chips: {target_key, target_env, name, state(in_sync|drifted|never_published), published_version, published_at}

publish_status
string | null

Computed publish status: draft | live | changed

scrapeWarnings
Scrapewarnings · object[] | null

Scrape-quality warnings if the brand-site scrape returned suspect content

status
string | null

Status: complete, failed, partial

version
integer
default:1

Version number