---
title: "Carga una oferta en la cola de Señales, para que una persona la revise"
method: POST
path: "/api/v1/create_product_signal"
tags: ["Ecommerce"]
---

# Carga una oferta en la cola de Señales, para que una persona la revise

`POST /api/v1/create_product_signal`

## Request

- Base URL: `https://api.pymaia.com`
- URL: `https://api.pymaia.com/api/v1/create_product_signal`
- Auth: HTTP bearer

Carga una oferta en la cola de Señales, para que una persona la revise. Nace en `new`: crear NO aprueba ni publica nada. El tipo tiene que existir (mirá list_signal_types). `external_id` es la clave de idempotencia — en Temu es el goods_id, en MercadoLibre el MLA: repetirlo actualiza la oferta en vez de duplicarla, y nunca le cambia el estado. Si te equivocaste, discard_product_signals la saca.

## Request body

- object
  - `signal_type` string, required: Slug del tipo (list_signal_types los lista)
  - `external_id` string, required: Id del producto en la tienda: goods_id de Temu, MLA de MercadoLibre
  - `title` string, required: Lo que se ve en la cola
  - `payload` object: Los campos que declara el tipo (precio, foto, etc.)
  - `score` number: Cuánto importa, 0-100. Ordena la cola.
  - `permalink` string, uri: URL del producto. Sin esto no se le puede encolar el video.

## Response `200`

Tool executed successfully

- object
  - `ok` boolean
  - `result` unknown
  - `duration_ms` number

## Other responses

- `400`: Invalid params or handler error
- `401`: Missing or invalid Bearer token
- `403`: Missing required scope(s) (`denied_scope`), or the tool's module is disabled for the organization (`module_disabled`, with `why`, `fix` and `module`)
- `404`: Tool not found, internal-only, or excluded for OAuth connectors
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/pymaia/apis/pymaia-api.md) · [All operations](https://skmtc.dev/pymaia/apis/pymaia-api/llms.txt) · [OpenAPI document](https://skmtc.dev/pymaia/apis/pymaia-api/revisions/b8e21a01970f?raw)
