Pular para o conteúdo 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>"
Este endpoint faz upload de arquivos para nossos servidores e retorna uma URL que você pode usar como referência em sessões do Devin. O arquivo não é enviado automaticamente para nenhuma sessão — você precisa incluir a URL nos seus prompts.

Como usar arquivos carregados

Devin só reconhece anexos quando eles estão escritos exatamente no formato ATTACHMENT:"{file_url}" (ATTACHMENT no singular, em letras maiúsculas). A linha com ATTACHMENT: deve estar sozinha no prompt, e a URL deve estar entre aspas duplas.Simplesmente incluir a URL sem esse formato não vai funcionar. Variações como ATTACHMENTS: (no plural) também não são reconhecidas.
Para fazer referência a um arquivo carregado em uma sessão do Devin:
  1. Envie o arquivo usando este endpoint para obter uma URL
  2. Inclua a URL no seu prompt ao criar uma sessão ou enviar uma mensagem
  3. Formate a URL corretamente colocando ATTACHMENT:"{file_url}" em uma linha própria no seu prompt

Exemplo completo

import os
import requests

DEVIN_API_KEY = os.getenv("DEVIN_API_KEY")

# Passo 1: Fazer upload do arquivo
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

# Passo 2: Criar uma sessão que referencia o arquivo carregado
session_response = requests.post(
    "https://api.devin.ai/v1/sessions",
    headers={"Authorization": f"Bearer {DEVIN_API_KEY}"},
    json={
        "prompt": f"""Analise os dados no arquivo CSV anexado e crie um relatório resumido.
Foque em identificar tendências e insights principais.

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

print(session_response.json())
Importante: O prefixo ATTACHMENT: deve estar em uma linha separada no prompt, com a URL entre aspas duplas, exatamente como mostrado acima: ATTACHMENT:"{url}". Para anexar vários arquivos, adicione uma linha ATTACHMENT:"{file_url}" para cada arquivo.

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.