Endpoints

Referencia completa de todos os endpoints da API BuildShip.

Todos os endpoints aceitam JSON e retornam JSON. Base URL: https://api.buildship.com.br/api/v1.

Health Check

GET /api/v1/health

Sem autenticacao. Retorna { "status": "ok", "version": "1.0.0" }.


Process — Arquivo + prompt

Endpoint principal pra processar arquivos com IA.

POST /api/v1/process
Content-Type: multipart/form-data

Campos:

Campo Tipo Obrigatorio Descricao
file file sim Arquivo a processar (max 500MB)
prompt string sim Instrucao pra IA
templateId string nao ID de template (substitui prompt)
templateVars object nao Variaveis do template
endUserId string nao ID do usuario final (B2B2C)
callbackUrl string nao URL pra receber resultado via webhook

Exemplo:

curl -X POST https://api.buildship.com.br/api/v1/process \
  -H "X-API-Key: bld_sua_chave" \
  -F "file=@curriculo.pdf" \
  -F "prompt=Extraia nome, email e telefone deste curriculo"

Resposta:

{
  "sessionId": "session_abc123",
  "status": "started",
  "fileUrl": "https://r2.buildship.com.br/.../curriculo.pdf"
}

Chat — Conversa simples

Pra mensagens sem arquivo, multi-turn.

POST /api/v1/chat
Content-Type: application/json

Body:

{
  "message": "Sua mensagem aqui",
  "sessionId": "session_existente_opcional",
  "endUserId": "user-123",
  "templateId": "tmpl_xyz",
  "templateVars": { "nome": "Joao" }
}

Multi-turn (mesma sessao):

# Primeira mensagem
curl -X POST .../api/v1/chat -d '{"message": "Ola"}'
# → { "sessionId": "session_abc", "status": "started" }

# Segunda (passa o sessionId)
curl -X POST .../api/v1/chat -d '{"message": "E ai?", "sessionId": "session_abc"}'
# → { "sessionId": "session_abc", "status": "resumed" }

B2B Send — Hibrido

Aceita arquivo + prompt + sessao numa unica chamada. Util pra automacoes.

POST /api/v1/b2b/send
Content-Type: multipart/form-data

Funciona como /process se tiver file, ou como /chat se nao tiver. Permite continuar sessao existente passando sessionId.


Sessions

Listar sessoes

GET /api/v1/sessions
GET /api/v1/sessions?endUserId=user-123
GET /api/v1/sessions?limit=20&offset=0

Buscar sessao especifica

GET /api/v1/sessions/:sessionId

Resposta:

{
  "id": "session_abc",
  "status": "completed",
  "messages": [
    { "role": "user", "content": "...", "timestamp": "..." },
    { "role": "assistant", "content": "...", "timestamp": "..." }
  ],
  "lastOutput": "Resposta final da IA",
  "tokensUsed": 1234,
  "creditsUsed": 12,
  "createdAt": "2026-04-28T10:00:00Z",
  "endUserId": "user-123"
}

Stream em tempo real (SSE)

GET /api/v1/sessions/:sessionId/stream

Server-Sent Events com chunks da IA conforme ela responde.


End Users (B2B2C)

Crie/liste usuarios finais da sua API pra cobrar por uso individual.

POST /api/v1/end-users
GET /api/v1/end-users
GET /api/v1/end-users/:id
PUT /api/v1/end-users/:id
DELETE /api/v1/end-users/:id

Body:

{
  "externalId": "user-123",
  "name": "Cliente Final",
  "email": "cliente@exemplo.com",
  "metadata": { "plano": "premium" }
}

Knowledge Base

Base de conhecimento por integracao — usada como contexto extra pela IA.

GET /api/v1/knowledge-base
POST /api/v1/knowledge-base
PUT /api/v1/knowledge-base/:id
DELETE /api/v1/knowledge-base/:id

Conta e uso

GET /api/v1/account

Retorna creditos, plano, limites e estatisticas de uso.

Quer integrar com ajuda da IA?

Copia esta pagina como .md e cola no ChatGPT/Claude — ela vai te guiar na integracao