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

# Créer une publication

> Crée une publication avec des fichiers multimédias facultatifs. Pour joindre des médias, appelez d'abord POST /v1/posts/presign-media afin d'obtenir des URL de téléversement, téléversez vos fichiers vers S3, puis incluez ici les références des fichiers.



## OpenAPI

````yaml /fr/openapi.json post /v1/posts
openapi: 3.0.0
info:
  title: Social media studio API
  description: >-
    L'API de Social media studio vous permet de gérer par programmation tout
    votre workflow de réseaux sociaux : créer et programmer des publications,
    organiser vos médias, suivre vos statistiques, gérer votre équipe, et plus
    encore.


    ## URL de base


    ```

    https://api.so-me.studio

    ```


    ## Authentification


    Tous les endpoints `/v1/*` exigent une clé d'API transmise dans l'en-tête
    `X-API-Key`.


    ```

    X-API-Key: sk_live_xxxxxxxxxxxxxxxxxxxxxxxx

    ```


    ## Scopes


    Une clé a un accès complet, sauf si vous lui donnez des scopes lors de sa
    création. Une clé limitée à certains scopes ne peut appeler que les
    endpoints couverts par ses scopes ; les autres endpoints renvoient `403
    Forbidden`. Un endpoint `GET` exige `<resource>:read` ; `POST`, `PUT`,
    `PATCH` et `DELETE` exigent `<resource>:write`, qui inclut `read`.
    Ressources : `accounts`, `posts` (également les brouillons et les
    approbations), `media`, `analytics` (lecture seule), `inbox`, `ai`,
    `biolinks`, `teams`, `settings`, `webhooks`, `support`, `templates` (lecture
    seule), `whatsapp`. Les endpoints de clés d'API et d'espace de travail sous
    `/v1/settings`, ainsi que `PATCH /v1/settings/profile`, exigent une clé à
    accès complet. Les clés limitées à certains scopes ne peuvent pas utiliser
    le serveur MCP.


    ## Obtenir votre clé d'API


    1. Connectez-vous à votre espace de travail sur [Social media
    studio](https://so-me.studio)

    2. Allez dans **Paramètres** > onglet **API**

    3. Cliquez sur **Nouvelle clé API**, donnez-lui un nom et copiez la clé


    > La clé complète n'est affichée qu'une seule fois. Conservez-la en lieu
    sûr.


    ## Limites de débit


    60 requêtes par minute et par espace de travail. Au-delà, vous recevrez une
    réponse `429 Too Many Requests`.


    ## Forfaits


    L'accès à l'API est disponible avec les forfaits **Standard**, **Advanced**
    et **Lifetime**.
  version: '1.0'
  contact: {}
servers:
  - url: https://api.so-me.studio
    description: Production
security: []
tags:
  - name: Posts
    description: >-
      Créer, gérer, programmer et publier des publications sur les réseaux
      sociaux
  - name: Accounts
    description: Gérer les comptes de réseaux sociaux connectés
  - name: Drafts
    description: Créer et gérer des brouillons
  - name: Media
    description: Téléverser, organiser et gérer des fichiers et dossiers multimédias
  - name: Analytics
    description: >-
      Statistiques au niveau des plateformes et des publications pour les
      comptes sociaux
  - name: Inbox
    description: >-
      Conversations de la boîte de réception sociale, réponses et réponses
      enregistrées
  - name: AI
    description: Génération de texte et d'images par IA
  - name: Approvals
    description: Workflow d'approbation des publications pour la collaboration d'équipe
  - name: Teams
    description: Gestion des membres de l'équipe et des invitations
  - name: Biolinks
    description: Pages de lien en bio avec boutons, publications et thèmes
  - name: Settings
    description: Profil, organisation, clés d'API, facturation et utilisation
  - name: Authentication
    description: >-
      Inscription, connexion, réinitialisation du mot de passe et autorisation
      d'appareil
  - name: Plans
    description: >-
      Forfaits d'abonnement, fonctionnalités et modules complémentaires
      disponibles
  - name: Public Biolink
    description: >-
      Résolution des pages biolink publiques et suivi des statistiques (aucune
      authentification requise)
paths:
  /v1/posts:
    post:
      tags:
        - Posts
      summary: Créer une publication
      description: >-
        Crée une publication avec des fichiers multimédias facultatifs. Pour
        joindre des médias, appelez d'abord POST /v1/posts/presign-media afin
        d'obtenir des URL de téléversement, téléversez vos fichiers vers S3,
        puis incluez ici les références des fichiers.
      operationId: V1PostsController_create
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateV1PostDto'
      responses:
        '201':
          description: Publication créée
        '400':
          description: Erreur de validation
      security:
        - X-API-Key: []
components:
  schemas:
    CreateV1PostDto:
      type: object
      properties:
        text:
          type: string
          description: Contenu textuel de la publication
        socialMedia:
          enum:
            - TWITTER
            - INSTAGRAM
            - LINKEDIN
            - LINKEDIN_PAGE
            - FACEBOOK
            - TIKTOK
            - YOUTUBE
            - THREADS
            - WHATSAPP
          type: string
          description: Plateforme de réseau social cible
        postType:
          enum:
            - TEXT
            - IMAGE
            - MULTIPLE_IMAGES
            - VIDEO
            - CAROUSEL
            - REEL
            - STORY
          type: string
          description: Type de publication (IMAGE, VIDEO, CAROUSEL, REEL, STORY, TEXT)
        scheduledAt:
          type: string
          description: Date ISO 8601 de programmation (doit être dans le futur)
        metaData:
          type: object
          description: Métadonnées propres à la plateforme
        files:
          description: >-
            Fichiers multimédias à joindre (appelez d'abord presign-media pour
            obtenir s3Prefix et fileSrc)
          type: array
          items:
            $ref: '#/components/schemas/V1FileDto'
        accountId:
          type: string
          description: ID du compte social depuis lequel publier
      required:
        - text
        - socialMedia
        - postType
    V1FileDto:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: UUID du fichier renvoyé par presign-media
        filename:
          type: string
          description: Nom de fichier d'origine
        mimetype:
          type: string
          description: Type MIME (p. ex. image/jpeg, video/mp4)
        size:
          type: number
          description: Taille du fichier en octets
        s3Prefix:
          type: string
          description: Clé de l'objet S3 issue de la réponse de presign-media
        fileSrc:
          type: string
          description: URL du CDN issue de la réponse de presign-media
        duration:
          type: number
          minimum: 0.1
          maximum: 86400
          description: Durée de la vidéo en secondes (obligatoire pour les fichiers vidéo)
      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.