# Publicar

`POST https://wyroapi.vercel.app/v1/posts`

| Campo | Tipo | Descripción |
| --- | --- | --- |
| `text` | string | Texto del post. Obligatorio. |
| `platforms` | string[] | Redes: `instagram`, `facebook`, `tiktok`, `linkedin`, `twitter`, `threads`, `youtube`, `pinterest`. También acepta `ig`, `fb`, `x`, `yt`. |
| `account_ids` | string[] | Alternativa a `platforms`: ids de `GET /v1/accounts`. |
| `media` | object[] | `[{"url": "https://...", "type": "image"}]`. Hasta 10. El tipo se deduce de la extensión. |
| `scheduled_at` | string | Fecha ISO 8601 con zona horaria. Sin esto se publica ya. |

## Reglas por red

| Red | Límite de texto | Necesita |
| --- | --- | --- |
| Instagram | 2200 | imagen o video |
| Facebook | 63206 | nada |
| TikTok | 2200 | video |
| LinkedIn | 3000 | nada |
| X | 280 | nada |
| Threads | 500 | nada |
| YouTube | 5000 | video |
| Pinterest | 500 | imagen o video |

## Ejemplo

```
curl -X POST https://wyroapi.vercel.app/v1/posts \
  -H "Authorization: Bearer $WYRO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Lanzamos algo nuevo 🚀",
    "platforms": ["instagram", "linkedin"],
    "media": [{"url": "https://picsum.photos/seed/demo/1080/1080"}],
    "scheduled_at": "2026-11-02T10:00:00-03:00"
  }'
```

## Respuesta

```json
{
  "id": "post_…",
  "status": "scheduled",
  "simulated": true,
  "preview_url": "https://wyroapi.vercel.app/p/abc123xyz0",
  "targets": [{ "platform": "instagram", "preview_url": "…" }, { "platform": "linkedin", "preview_url": "…" }],
  "next_step": "Muéstrale al usuario la vista previa…"
}
```

Consulta el estado con `GET /v1/posts/{id}`.
