Passer au contenu principal
POST
/
v1
/
attachments
Upload an attachment
curl --request POST \
  --url https://api.devin.ai/v1/attachments \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: multipart/form-data' \
  --form file='@example-file'
"<string>"
Cet endpoint téléverse des fichiers sur nos serveurs et renvoie une URL que vous pouvez utiliser dans les sessions Devin. Le fichier n’est pas automatiquement envoyé à une session : vous devez inclure cette URL dans vos prompts.

Comment utiliser les fichiers téléversés

Devin ne reconnaît les pièces jointes que lorsqu’elles sont écrites exactement au format ATTACHMENT:"{file_url}" (ATTACHMENT au singulier, en majuscules). La ligne ATTACHMENT: doit se trouver seule sur une ligne dans votre prompt, et l’URL doit être encadrée par des guillemets doubles.Inclure simplement l’URL brute sans ce format ne fonctionnera pas. Les variantes comme ATTACHMENTS: (au pluriel) ne sont pas reconnues non plus.
Pour faire référence à un fichier téléversé dans une session Devin :
  1. Téléversez le fichier en utilisant cet endpoint pour obtenir une URL
  2. Incluez l’URL dans votre prompt lors de la création d’une session ou de l’envoi d’un message
  3. Formatez correctement l’URL en plaçant ATTACHMENT:"{file_url}" seule sur sa propre ligne dans votre prompt

Exemple complet

import os
import requests

DEVIN_API_KEY = os.getenv("DEVIN_API_KEY")

# Étape 1 : Télécharger le fichier
with open("data.csv", "rb") as f:
    response = requests.post(
        "https://api.devin.ai/v1/attachments",
        headers={"Authorization": f"Bearer {DEVIN_API_KEY}"},
        files={"file": f}
    )
file_url = response.text

# Étape 2 : Créer une session qui référence le fichier téléchargé
session_response = requests.post(
    "https://api.devin.ai/v1/sessions",
    headers={"Authorization": f"Bearer {DEVIN_API_KEY}"},
    json={
        "prompt": f"""Veuillez analyser les données du fichier CSV joint et créer un rapport de synthèse.
Concentrez-vous sur l'identification des tendances et des insights clés.

ATTACHMENT:"{file_url}"
"""
    }
)

print(session_response.json())
Important : Le préfixe ATTACHMENT: doit figurer sur une ligne dédiée dans le prompt, avec l’URL entre guillemets doubles, exactement comme indiqué ci-dessus : ATTACHMENT:"{url}". Pour joindre plusieurs fichiers, ajoutez une ligne ATTACHMENT:"{file_url}" par fichier.

Authorizations

Authorization
string
header
required

Personal API Key (apk_user_) or Service API Key (apk_)

Body

multipart/form-data
file
file
required

Response

Successful Response

The response is of type string.