> ## Documentation Index
> Fetch the complete documentation index at: https://docs.so-me.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Publicaciones

> Crea, programa y gestiona publicaciones de redes sociales desde la CLI

El grupo de comandos `posts` te permite listar, crear, actualizar, programar, reintentar y eliminar publicaciones
en cualquier plataforma conectada. Todos los comandos aceptan las opciones globales (`--json` por defecto,
`--table`, `--verbose`, `--api-key`, `--api-url`) y leen las credenciales de `SOME_API_KEY`
/ `SOME_API_URL` cuando se omiten esas opciones.

## posts:list

Lista las publicaciones de tu espacio de trabajo con filtros opcionales. Usa [`posts:calendar`](#postscalendar)
para filtrar por un rango de fechas.

```bash theme={null}
so-me posts:list [options]
```

| Opción | Descripción | Por defecto |
| - | - | - |
| `--status <status>` | Filtra por estado: `SCHEDULED`, `POSTED`, `FAILED`, `PENDING`, `PENDING_APPROVAL`, `REJECTED`, `DRAFT` | – |
| `--platform <platform>` | Filtra por plataforma (p. ej. `TWITTER`, `LINKEDIN`) | – |
| `--page <number>` | Número de página | `1` |
| `--limit <number>` | Elementos por página (máx. `100`) | `20` |

```bash Ejemplo theme={null}
so-me posts:list --status SCHEDULED --platform TWITTER --table
```

## posts:get

Obtiene una publicación por ID con todos sus detalles.

```bash theme={null}
so-me posts:get <id>
```

| Argumento | Descripción |
| - | - |
| `<id>` | ID de la publicación **(obligatorio)** |

```bash Ejemplo theme={null}
so-me posts:get 550e8400-e29b-41d4-a716-446655440000
```

## posts:calendar

Obtiene las publicaciones programadas dentro de un rango de fechas concreto. Útil para vistas de tipo calendario.

```bash theme={null}
so-me posts:calendar --start <iso-date> --end <iso-date>
```

| Opción | Descripción |
| - | - |
| `--start <date>` | Fecha de inicio (ISO 8601) **(obligatorio)** |
| `--end <date>` | Fecha de fin (ISO 8601) **(obligatorio)** |

```bash Ejemplo theme={null}
so-me posts:calendar --start 2026-04-01T00:00:00Z --end 2026-04-30T23:59:59Z
```

## posts:create

Crea una publicación nueva dirigida a cualquier plataforma conectada. Omite `--date` para publicar de inmediato, o
indica una marca de tiempo ISO 8601 para programarla para más tarde.

```bash theme={null}
so-me posts:create -c <text> [options]
```

| Opción | Descripción | Por defecto |
| - | - | - |
| `-c, --content <text>` | Contenido de la publicación **(obligatorio)** | – |
| `-s, --date <date>` | Fecha programada (ISO 8601). Omítela para publicar de inmediato | – |
| `-t, --type <type>` | Tipo de publicación: `schedule` o `draft` | `schedule` |
| `-m, --media <items>` | Rutas de archivos locales y/o ID de archivos multimedia, separados por comas | – |
| `-a, --accounts <ids>` | ID de la cuenta desde la que publicar | – |
| `--post-type <type>` | Tipo de contenido: `TEXT`, `IMAGE`, `VIDEO`, `CAROUSEL`, `REEL`, `STORY` | `TEXT` |
| `--platform <platform>` | Red social: `TWITTER`, `LINKEDIN`, etc. | `TWITTER` |
| `--metadata <json>` | Metadatos específicos de la plataforma en JSON | – |
| `-j, --json-file <path>` | Ruta a un archivo JSON que describe una publicación compleja | – |

```bash Ejemplos theme={null}
# Simple text post (publishes immediately)
so-me posts:create -c "Hello world!" --platform TWITTER

# Scheduled LinkedIn post
so-me posts:create -c "Scheduled post" -s 2026-04-10T14:00:00Z --platform LINKEDIN

# Post with a local image file
so-me posts:create -c "With media" -m ./photo.jpg --post-type IMAGE

# Post referencing existing media library file IDs
so-me posts:create -c "By file id" -m file-id-1,file-id-2 --post-type IMAGE

# Save as a draft instead of scheduling
so-me posts:create -c "Work in progress" -t draft --platform TWITTER

# Complex post from a JSON file
so-me posts:create -j ./campaign.json
```

> [!NOTE]
>
> La opción `-m, --media` acepta una mezcla, separada por comas, de **rutas de archivos locales** y
> **UUID de archivos multimedia existentes**. Los archivos locales se prefirman y se suben automáticamente; los UUID
> se obtienen de tu biblioteca multimedia. Cada elemento debe ser una ruta de archivo legible o un
> UUID de archivo válido; cualquier otra cosa se rechaza. Los tipos de archivo admitidos incluyen PNG, JPG, JPEG,
> GIF, WebP, SVG, MP4, MOV, AVI, WebM, MP3, WAV y PDF.

> [!TIP]
>
> Si no pasas `--accounts` y tienes varias cuentas de la plataforma elegida, la CLI
> te pide que selecciones una de forma interactiva. Al crear un borrador (`-t draft`), la cuenta es
> opcional: la publicación se envía sin ella si no se indica o no se resuelve ninguna.

> [!WARNING]
>
> Cuando se indica `-j, --json-file`, el contenido del archivo se usa tal cual como cuerpo de la solicitud
> y las demás opciones (`-c`, `--platform`, `--media`, etc.) se ignoran.

## posts:update

Actualiza el texto, la fecha programada o los metadatos específicos de la plataforma de una publicación existente.

```bash theme={null}
so-me posts:update <id> [options]
```

| Argumento | Descripción |
| - | - |
| `<id>` | ID de la publicación **(obligatorio)** |

| Opción | Descripción |
| - | - |
| `-c, --content <text>` | Contenido actualizado |
| `-s, --date <date>` | Fecha programada actualizada (ISO 8601) |
| `--metadata <json>` | Metadatos específicos de la plataforma actualizados, en JSON |

```bash Ejemplo theme={null}
so-me posts:update 550e8400-e29b-41d4-a716-446655440000 -c "Updated content" -s 2026-04-16T10:00:00Z
```

## posts:delete

Elimina una o más publicaciones. Si eliminas un solo ID se usa el endpoint de eliminación individual; si pasas
varios ID se usa la eliminación masiva. Pide confirmación a menos que se indique `-y`.

```bash theme={null}
so-me posts:delete <ids...> [options]
```

| Argumento | Descripción |
| - | - |
| `<ids...>` | Uno o más ID de publicación **(obligatorio)** |

| Opción | Descripción |
| - | - |
| `-y, --yes` | Omite la confirmación |

```bash Ejemplos theme={null}
# Delete a single post
so-me posts:delete 550e8400-e29b-41d4-a716-446655440000

# Delete multiple posts and skip confirmation
so-me posts:delete id-1 id-2 id-3 -y
```

## posts:bulk-delete

Elimina varias publicaciones por ID en una sola solicitud masiva. Pide confirmación a menos que se indique `-y`.

```bash theme={null}
so-me posts:bulk-delete <ids...> [options]
```

| Argumento | Descripción |
| - | - |
| `<ids...>` | ID de las publicaciones que se eliminan **(obligatorio)** |

| Opción | Descripción |
| - | - |
| `-y, --yes` | Omite la confirmación |

```bash Ejemplo theme={null}
so-me posts:bulk-delete id-1 id-2 id-3 -y
```

## posts:schedule

Programa una publicación para una fecha futura.

```bash theme={null}
so-me posts:schedule <id> -s <date>
```

| Argumento | Descripción |
| - | - |
| `<id>` | ID de la publicación **(obligatorio)** |

| Opción | Descripción |
| - | - |
| `-s, --date <date>` | Fecha de programación (ISO 8601, debe ser futura) **(obligatorio)** |

```bash Ejemplo theme={null}
so-me posts:schedule 550e8400-e29b-41d4-a716-446655440000 -s 2026-04-15T14:00:00Z
```

## posts:unschedule

Quita una publicación de la programación.

```bash theme={null}
so-me posts:unschedule <id>
```

| Argumento | Descripción |
| - | - |
| `<id>` | ID de la publicación **(obligatorio)** |

```bash Ejemplo theme={null}
so-me posts:unschedule 550e8400-e29b-41d4-a716-446655440000
```

## posts:retry

Reintenta una publicación fallida. La publicación vuelve a ponerse en cola para publicarse.

```bash theme={null}
so-me posts:retry <id>
```

| Argumento | Descripción |
| - | - |
| `<id>` | ID de la publicación **(obligatorio)** |

```bash Ejemplo theme={null}
so-me posts:retry 550e8400-e29b-41d4-a716-446655440000
```

## posts:resubmit

Reenvía para aprobación una publicación rechazada.

```bash theme={null}
so-me posts:resubmit <id>
```

| Argumento | Descripción |
| - | - |
| `<id>` | ID de la publicación **(obligatorio)** |

```bash Ejemplo theme={null}
so-me posts:resubmit 550e8400-e29b-41d4-a716-446655440000
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.