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

# Criar uma nova publicação

> Cria uma publicação com arquivos de mídia opcionais. Para anexar mídia, primeiro chame POST /v1/posts/presign-media para obter as URLs de upload, envie seus arquivos para o S3 e depois inclua aqui as referências dos arquivos.



## OpenAPI

````yaml /pt-BR/openapi.json post /v1/posts
openapi: 3.0.0
info:
  title: Social media studio API
  description: >-
    A API do Social media studio permite gerenciar seu fluxo de trabalho de
    redes sociais via código: criar e agendar publicações, organizar mídia,
    acompanhar análises, gerenciar sua equipe e mais.


    ## URL base


    ```

    https://api.so-me.studio

    ```


    ## Autenticação


    Todos os endpoints `/v1/*` exigem uma chave de API enviada no cabeçalho
    `X-API-Key`.


    ```

    X-API-Key: sk_live_xxxxxxxxxxxxxxxxxxxxxxxx

    ```


    ## Scopes


    Uma chave tem acesso total, a menos que você defina scopes ao criá-la. Uma
    chave com scopes só pode chamar os endpoints cobertos por eles; os demais
    endpoints retornam `403 Forbidden`. Um endpoint `GET` exige
    `<resource>:read`; `POST`, `PUT`, `PATCH` e `DELETE` exigem
    `<resource>:write`, que inclui `read`. Recursos: `accounts`, `posts` (também
    rascunhos e aprovações), `media`, `analytics` (somente leitura), `inbox`,
    `ai`, `biolinks`, `teams`, `settings`, `webhooks`, `support`, `templates`
    (somente leitura), `whatsapp`. Os endpoints de chaves de API e de espaço de
    trabalho em `/v1/settings`, e `PATCH /v1/settings/profile`, exigem uma chave
    de acesso total. Chaves com scopes não podem usar o servidor MCP.


    ## Obter sua chave de API


    1. Entre no seu espaço de trabalho no [Social media
    studio](https://so-me.studio/pt-BR)

    2. Vá em **Configurações** > aba **API**

    3. Clique em **Nova chave de API**, dê um nome a ela e copie a chave


    > A chave completa é exibida apenas uma vez. Guarde-a com segurança.


    ## Limites de taxa


    60 requisições por minuto por espaço de trabalho. Se você exceder esse
    limite, receberá uma resposta `429 Too Many Requests`.


    ## Planos


    O acesso à API está disponível nos planos **Standard**, **Advanced** e
    **Lifetime**.
  version: '1.0'
  contact: {}
servers:
  - url: https://api.so-me.studio
    description: Produção
security: []
tags:
  - name: Posts
    description: Criar, gerenciar, agendar e publicar publicações de redes sociais
  - name: Accounts
    description: Gerenciar as contas de redes sociais conectadas
  - name: Drafts
    description: Criar e gerenciar rascunhos
  - name: Media
    description: Enviar, organizar e gerenciar arquivos e pastas de mídia
  - name: Analytics
    description: Análises no nível da plataforma e da publicação em todas as contas sociais
  - name: Inbox
    description: Conversas, respostas e respostas salvas da caixa de entrada social
  - name: AI
    description: Geração de texto e imagem com IA
  - name: Approvals
    description: Fluxo de aprovação de publicações para colaboração da equipe
  - name: Teams
    description: Gerenciamento de membros da equipe e convites
  - name: Biolinks
    description: Páginas de link na bio com botões, publicações e temas
  - name: Settings
    description: Perfil, organização, chaves de API, faturamento e uso
  - name: Authentication
    description: Cadastro, login, redefinição de senha e autorização de dispositivo
  - name: Plans
    description: Planos de assinatura, recursos e complementos disponíveis
  - name: Public Biolink
    description: >-
      Resolução de páginas de biolink públicas e rastreamento de análises (sem
      autenticação)
paths:
  /v1/posts:
    post:
      tags:
        - Posts
      summary: Criar uma nova publicação
      description: >-
        Cria uma publicação com arquivos de mídia opcionais. Para anexar mídia,
        primeiro chame POST /v1/posts/presign-media para obter as URLs de
        upload, envie seus arquivos para o S3 e depois inclua aqui as
        referências dos arquivos.
      operationId: V1PostsController_create
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateV1PostDto'
      responses:
        '201':
          description: Publicação criada
        '400':
          description: Erro de validação
      security:
        - X-API-Key: []
components:
  schemas:
    CreateV1PostDto:
      type: object
      properties:
        text:
          type: string
          description: Conteúdo de texto da publicação
        socialMedia:
          enum:
            - TWITTER
            - INSTAGRAM
            - LINKEDIN
            - LINKEDIN_PAGE
            - FACEBOOK
            - TIKTOK
            - YOUTUBE
            - THREADS
            - WHATSAPP
          type: string
          description: Plataforma de rede social de destino
        postType:
          enum:
            - TEXT
            - IMAGE
            - MULTIPLE_IMAGES
            - VIDEO
            - CAROUSEL
            - REEL
            - STORY
          type: string
          description: Tipo de publicação (IMAGE, VIDEO, CAROUSEL, REEL, STORY, TEXT)
        scheduledAt:
          type: string
          description: Data ISO 8601 para o agendamento (deve estar no futuro)
        metaData:
          type: object
          description: Metadados específicos da plataforma
        files:
          description: >-
            Arquivos de mídia a anexar (use presign-media primeiro para obter
            s3Prefix e fileSrc)
          type: array
          items:
            $ref: '#/components/schemas/V1FileDto'
        accountId:
          type: string
          description: ID da conta social de onde publicar
      required:
        - text
        - socialMedia
        - postType
    V1FileDto:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: UUID do arquivo retornado por presign-media
        filename:
          type: string
          description: Nome original do arquivo
        mimetype:
          type: string
          description: Tipo MIME (por exemplo image/jpeg, video/mp4)
        size:
          type: number
          description: Tamanho do arquivo em bytes
        s3Prefix:
          type: string
          description: Chave do objeto S3 da resposta de presign-media
        fileSrc:
          type: string
          description: URL da CDN da resposta de presign-media
        duration:
          type: number
          minimum: 0.1
          maximum: 86400
          description: Duração do vídeo em segundos (obrigatória para arquivos de vídeo)
      required:
        - filename
        - mimetype
        - size
  securitySchemes:
    X-API-Key:
      type: apiKey
      in: header
      name: X-API-Key

````

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