> ## 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.

# Posts

> Crie, agende e gerencie posts de redes sociais pela CLI

O grupo de comandos `posts` permite listar, criar, atualizar, agendar, tentar novamente e excluir posts
em qualquer plataforma conectada. Todos os comandos aceitam as flags globais (`--json` padrão,
`--table`, `--verbose`, `--api-key`, `--api-url`) e leem as credenciais de `SOME_API_KEY`
/ `SOME_API_URL` quando essas flags são omitidas.

## posts:list

Lista os posts do seu espaço de trabalho, com filtros opcionais. Use [`posts:calendar`](#postscalendar)
para filtrar por um intervalo de datas.

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

| Opção | Descrição | Padrão |
| - | - | - |
| `--status <status>` | Filtra por status: `SCHEDULED`, `POSTED`, `FAILED`, `PENDING`, `PENDING_APPROVAL`, `REJECTED`, `DRAFT` | – |
| `--platform <platform>` | Filtra por plataforma (por exemplo, `TWITTER`, `LINKEDIN`) | – |
| `--page <number>` | Número da página | `1` |
| `--limit <number>` | Itens por página (máx. `100`) | `20` |

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

## posts:get

Obtém um único post pelo ID, com todos os detalhes.

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

| Argumento | Descrição |
| - | - |
| `<id>` | ID do post **(obrigatório)** |

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

## posts:calendar

Obtém os posts agendados dentro de um intervalo de datas específico. Útil para visualizações no estilo de calendário.

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

| Opção | Descrição |
| - | - |
| `--start <date>` | Data inicial (ISO 8601) **(obrigatório)** |
| `--end <date>` | Data final (ISO 8601) **(obrigatório)** |

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

## posts:create

Cria um novo post para qualquer plataforma conectada. Omita `--date` para publicar imediatamente ou
informe um timestamp ISO 8601 para agendar para depois.

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

| Opção | Descrição | Padrão |
| - | - | - |
| `-c, --content <text>` | Conteúdo do post **(obrigatório)** | – |
| `-s, --date <date>` | Data de agendamento (ISO 8601). Omita para publicar imediatamente | – |
| `-t, --type <type>` | Tipo do post: `schedule` ou `draft` | `schedule` |
| `-m, --media <items>` | Caminhos de arquivos locais e/ou IDs de arquivos de mídia, separados por vírgula | – |
| `-a, --accounts <ids>` | ID da conta a partir da qual publicar | – |
| `--post-type <type>` | Tipo de conteúdo: `TEXT`, `IMAGE`, `VIDEO`, `CAROUSEL`, `REEL`, `STORY` | `TEXT` |
| `--platform <platform>` | Plataforma social: `TWITTER`, `LINKEDIN` etc. | `TWITTER` |
| `--metadata <json>` | Metadados específicos da plataforma em JSON | – |
| `-j, --json-file <path>` | Caminho de um arquivo JSON que descreve um post complexo | – |

```bash Exemplos theme={null}
# Post de texto simples (publica imediatamente)
so-me posts:create -c "Hello world!" --platform TWITTER

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

# Post com um arquivo de imagem local
so-me posts:create -c "With media" -m ./photo.jpg --post-type IMAGE

# Post que referencia IDs de arquivos já existentes na biblioteca de mídia
so-me posts:create -c "By file id" -m file-id-1,file-id-2 --post-type IMAGE

# Salvar como rascunho em vez de agendar
so-me posts:create -c "Work in progress" -t draft --platform TWITTER

# Post complexo a partir de um arquivo JSON
so-me posts:create -j ./campaign.json
```

> [!NOTE]
>
> A opção `-m, --media` aceita uma mistura, separada por vírgulas, de **caminhos de arquivos locais** e
> **UUIDs de arquivos de mídia existentes**. Os arquivos locais recebem uma URL pré-assinada e são enviados automaticamente; os UUIDs
> são carregados da sua biblioteca de mídia. Cada item deve ser um caminho de arquivo legível ou um
> UUID de arquivo válido; qualquer outra coisa é rejeitada. Os tipos de arquivo compatíveis incluem PNG, JPG, JPEG,
> GIF, WebP, SVG, MP4, MOV, AVI, WebM, MP3, WAV e PDF.

> [!TIP]
>
> Se você não passar `--accounts` e tiver várias contas para a plataforma escolhida, a CLI
> pede que você selecione uma de forma interativa. Ao criar um rascunho (`-t draft`), a conta é
> opcional: o post é enviado sem conta se nenhuma for informada ou resolvida.

> [!WARNING]
>
> Quando `-j, --json-file` é informada, o conteúdo do arquivo é usado exatamente como está no corpo da requisição
> e as demais flags (`-c`, `--platform`, `--media` etc.) são ignoradas.

## posts:update

Atualiza o texto, a data de agendamento ou os metadados específicos da plataforma de um post existente.

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

| Argumento | Descrição |
| - | - |
| `<id>` | ID do post **(obrigatório)** |

| Opção | Descrição |
| - | - |
| `-c, --content <text>` | Conteúdo atualizado |
| `-s, --date <date>` | Data de agendamento atualizada (ISO 8601) |
| `--metadata <json>` | Metadados específicos da plataforma atualizados, em JSON |

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

## posts:delete

Exclui um ou mais posts. Excluir um único ID usa o endpoint de exclusão individual; informar
vários IDs usa a exclusão em lote. Pede confirmação, a menos que `-y` seja usada.

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

| Argumento | Descrição |
| - | - |
| `<ids...>` | Um ou mais IDs de post **(obrigatório)** |

| Opção | Descrição |
| - | - |
| `-y, --yes` | Ignora a confirmação |

```bash Exemplos theme={null}
# Excluir um único post
so-me posts:delete 550e8400-e29b-41d4-a716-446655440000

# Excluir vários posts sem confirmação
so-me posts:delete id-1 id-2 id-3 -y
```

## posts:bulk-delete

Exclui vários posts pelo ID em uma única requisição em lote. Pede confirmação, a menos que `-y` seja usada.

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

| Argumento | Descrição |
| - | - |
| `<ids...>` | IDs dos posts a excluir **(obrigatório)** |

| Opção | Descrição |
| - | - |
| `-y, --yes` | Ignora a confirmação |

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

## posts:schedule

Agenda um post para uma data futura.

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

| Argumento | Descrição |
| - | - |
| `<id>` | ID do post **(obrigatório)** |

| Opção | Descrição |
| - | - |
| `-s, --date <date>` | Data de agendamento (ISO 8601, deve estar no futuro) **(obrigatório)** |

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

## posts:unschedule

Remove um post do agendamento.

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

| Argumento | Descrição |
| - | - |
| `<id>` | ID do post **(obrigatório)** |

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

## posts:retry

Tenta novamente um post que falhou. O post volta para a fila de publicação.

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

| Argumento | Descrição |
| - | - |
| `<id>` | ID do post **(obrigatório)** |

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

## posts:resubmit

Reenvia para aprovação um post que foi rejeitado.

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

| Argumento | Descrição |
| - | - |
| `<id>` | ID do post **(obrigatório)** |

```bash Exemplo 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.