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

# Générer des URL de téléversement présignées

> Réserve des fichiers de la médiathèque et renvoie une URL S3 présignée pour chacun. Téléversez chaque fichier avec une requête HTTP PUT vers son `uploadUrl`, avec un en-tête Content-Type égal au `mimetype` que vous avez déclaré pour ce fichier (par exemple `Content-Type: video/mp4`). L'URL est signée avec cet en-tête : un PUT sans lui, ou avec une autre valeur, échoue avec une erreur 403 SignatureDoesNotMatch. Les types HTML, SVG, XML, script et inconnus sont refusés avec une erreur 400.



## OpenAPI

````yaml /fr/openapi.json post /v1/media/presign-upload
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/media/presign-upload:
    post:
      tags:
        - Media
      summary: Générer des URL de téléversement présignées
      description: >-
        Réserve des fichiers de la médiathèque et renvoie une URL S3 présignée
        pour chacun. Téléversez chaque fichier avec une requête HTTP PUT vers
        son `uploadUrl`, avec un en-tête Content-Type égal au `mimetype` que
        vous avez déclaré pour ce fichier (par exemple `Content-Type:
        video/mp4`). L'URL est signée avec cet en-tête : un PUT sans lui, ou
        avec une autre valeur, échoue avec une erreur 403 SignatureDoesNotMatch.
        Les types HTML, SVG, XML, script et inconnus sont refusés avec une
        erreur 400.
      operationId: V1MediaController_presignUpload
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                files:
                  type: array
                  description: Fichiers pour lesquels générer des URL de téléversement
                  items:
                    type: object
                    properties:
                      filename:
                        type: string
                        description: Nom de fichier d'origine
                      mimetype:
                        type: string
                        description: >-
                          Type MIME (p. ex. image/jpeg, video/mp4). Le PUT de
                          téléversement doit envoyer exactement cette valeur
                          comme en-tête Content-Type.
                      size:
                        type: number
                        description: Taille du fichier en octets
                    required:
                      - filename
                      - mimetype
                      - size
                folderId:
                  type: string
                  description: Dossier de destination facultatif
              required:
                - files
      responses:
        '201':
          description: URL de téléversement présignées générées
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    fileId:
                      type: string
                      description: UUID de l'enregistrement du fichier
                    uploadUrl:
                      type: string
                      description: >-
                        URL PUT présignée. Envoyez le fichier avec un
                        Content-Type égal au mimetype déclaré.
                    fileSrc:
                      type: string
                      description: URL publique du CDN
                    s3Key:
                      type: string
                      description: Clé de l'objet S3
      security:
        - X-API-Key: []
components:
  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.