Vai al contenuto principale
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>"
Questo endpoint carica file sui nostri server e restituisce un URL che puoi utilizzare come riferimento nelle sessioni di Devin. Il file non viene inviato automaticamente a nessuna sessione: devi includere l’URL nei tuoi prompt.

Come usare i file caricati

Devin riconosce gli allegati solo quando sono scritti esattamente nel formato ATTACHMENT:"{file_url}" (ATTACHMENT al singolare, tutto maiuscolo). La riga ATTACHMENT: deve trovarsi da sola nel prompt e l’URL deve essere racchiuso tra doppi apici.Inserire semplicemente l’URL in chiaro senza questo formato non funzionerà. Varianti come ATTACHMENTS: (plurale) non vengono riconosciute.
Per fare riferimento a un file caricato in una sessione di Devin:
  1. Carica il file usando questo endpoint per ottenere un URL
  2. Includi l’URL nel prompt quando crei una sessione o invii un messaggio
  3. Formatta correttamente l’URL inserendo ATTACHMENT:"{file_url}" su una riga separata nel prompt

Esempio completo

import os
import requests

DEVIN_API_KEY = os.getenv("DEVIN_API_KEY")

# Passaggio 1: Carica il file
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

# Passaggio 2: Crea una sessione che fa riferimento al file caricato
session_response = requests.post(
    "https://api.devin.ai/v1/sessions",
    headers={"Authorization": f"Bearer {DEVIN_API_KEY}"},
    json={
        "prompt": f"""Analizza i dati nel file CSV allegato e crea un report di riepilogo.
Concentrati sull'identificazione delle tendenze e degli insight principali.

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

print(session_response.json())
Importante: Il prefisso ATTACHMENT: deve trovarsi su una riga a sé stante nel prompt, con l’URL racchiuso tra virgolette doppie, esattamente come mostrato sopra: ATTACHMENT:"{url}". Per allegare più file, aggiungi una riga ATTACHMENT:"{file_url}" per ogni file.

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.