Pular para o conteúdo
Siglata Docs
Português
Esc
navegarabrir⌘Jpré-visualizar
Nesta página

API HTTP

Consulte cabeçalhos, rotas, status e erros da API HTTP.

A API HTTP do Siglata expõe serviços essenciais de espaço de trabalho, fluxos de autenticação e pipelines de transferência de dados. A API oferece tratamento de erros tipado, limites multi-inquilino rigorosos e suporte completo a internacionalização.

A URL base padrão de produção é:

https://www.siglata.com

Cabeçalhos Padrão

Todas as requisições para a API do Siglata utilizam cabeçalhos HTTP padronizados:

Cabeçalho Descrição Exemplo
Authorization Token Bearer para requisições autenticadas da API e transferências MCP. Bearer sig_acc_9f8a7...
x-siglata-locale Idioma de preferência para e-mails transacionais, modelos de convite e mensagens de erro localizadas. en-US ou pt-BR
Content-Type Formato da carga útil. O padrão é application/json para endpoints de controle e application/octet-stream para blocos binários de arquivos. application/json
Origin Validado nos endpoints do MCP e CORS para evitar abusos de origens cruzadas. https://exemplo.com

API do Serviço Principal

Verificação de Saúde e Sessão

Inspecione a disponibilidade da API, a localização ativa e a identidade da sessão atual.

GET /api HTTP/1.1
Host: www.siglata.com
Authorization: Bearer <token-opcional>
x-siglata-locale: pt-BR

Resposta (200 OK)

{
  "service": "siglata",
  "status": "ok",
  "locale": "pt-BR",
  "user": {
    "id": "usr_9f8a7b6c5d",
    "email": "alex@exemplo.com",
    "name": "Alex Smith",
    "image": null
  }
}

Quando chamado sem uma sessão ativa ou token, user retorna null.

Endpoints de Autenticação (/auth/*)

Os endpoints de autenticação administram credenciais sem senha, sessões e organizações multi-inquilino.

Envia um link de acesso de uso único para o endereço de e-mail do usuário no idioma solicitado.

POST /auth/sign-in/magic-link HTTP/1.1
Host: www.siglata.com
Content-Type: application/json
x-siglata-locale: pt-BR

{
  "email": "alex@exemplo.com"
}

Resposta (200 OK)

{
  "status": true
}

Valida o token do link mágico de uso único e define um cookie de sessão seguro e HTTP-only.

GET /auth/magic-link/verify?token=tok_3b4c5d6e7f HTTP/1.1
Host: www.siglata.com

Obter Sessão Ativa

Recupera a sessão atualmente autenticada e o registro do usuário.

GET /auth/get-session HTTP/1.1
Host: www.siglata.com

Encerrar Sessão (Sign Out)

Invalida a sessão ativa e remove os cookies de autenticação.

POST /auth/sign-out HTTP/1.1
Host: www.siglata.com

Gerenciamento de Organizações

Administre os limites e funções de espaços de trabalho multi-inquilino:

Criar Organização

POST /auth/organization/create

  • Corpo: { "name": "Acme Corp", "slug": "acme-corp" }
  • Resposta: Registro da organização criada com seu ID.

Listar Organizações do Usuário

GET /auth/organization/list

  • Resposta: Lista de organizações às quais o usuário pertence, incluindo suas funções.

Obter Detalhes da Organização

GET /auth/organization/get?organizationId=org_1a2b3c4d5e

  • Resposta: Perfil detalhado da organização, membros e metadados.

Convidar Membro da Equipe

POST /auth/organization/invite-member

  • Cabeçalhos: x-siglata-locale: pt-BR (ou en-US)
  • Corpo: { "email": "dev@exemplo.com", "role": "member", "organizationId": "org_1a2b3c4d5e" }
  • Resposta: Registro do convite criado.

Listar Convites Pendentes

GET /auth/organization/list-invitations?organizationId=org_1a2b3c4d5e

  • Resposta: Lista de convites pendentes.

Cancelar Convite

POST /auth/organization/cancel-invitation

  • Corpo: { "invitationId": "inv_9a8b7c6d5e" }

Atualizar Função de Membro

POST /auth/organization/update-member-role

  • Corpo: { "memberId": "usr_3c4d5e6f7g", "role": "admin", "organizationId": "org_1a2b3c4d5e" }

Remover Membro

POST /auth/organization/remove-member

  • Corpo: { "memberIdOrEmail": "usr_3c4d5e6f7g", "organizationId": "org_1a2b3c4d5e" }

Endpoints de Descoberta OAuth 2.0

O Siglata publica documentos de descoberta padrão para clientes OAuth 2.0 e MCP:

  • GET /.well-known/oauth-authorization-server
  • GET /.well-known/openid-configuration
  • GET /.well-known/oauth-protected-resource/v1/mcp

Endpoints do Model Context Protocol e Transferências (/v1/mcp/*)

Os endpoints /v1/mcp/* processam mensagens do protocolo JSON-RPC e transferências de arquivos binários de alto rendimento. O tools/list expõe apenas duas ferramentas, execute e search, e as operações de gerenciamento rodam dentro de scripts execute.

Streamable HTTP para JSON-RPC

POST /v1/mcp HTTP/1.1
Host: www.siglata.com
Authorization: Bearer <token-de-acesso-oauth>
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "execute",
    "arguments": {
      "script": "return await files_list({ state: 'active', limit: 25 });"
    }
  }
}

Enviar Parte Binária (Upload de Bloco)

Transfere uma parte individual de 8 MiB para uma reserva de upload ativa criada via upload_begin.

PUT /v1/mcp/uploads/{uploadId}/parts/{partNumber} HTTP/1.1
Host: www.siglata.com
Authorization: Bearer <token-de-acesso-oauth>
Content-Type: application/octet-stream

<bytes binários brutos: exatamente 8.388.608 bytes, ou os bytes restantes para a parte final>
  • partNumber: Inteiro indexado a partir de 1 (de 1 a 10.000).
  • Resposta: 200 OK mediante validação e gravação bem-sucedida do bloco.

Download Binário Autenticado

Transmite os bytes do arquivo armazenado diretamente para o chamador autorizado.

GET /v1/mcp/files/{fileId}/download HTTP/1.1
Host: www.siglata.com
Authorization: Bearer <token-de-acesso-oauth>
  • Resposta: 200 OK com Content-Type correspondente ao tipo de mídia original, Content-Length e Content-Disposition: attachment.
  • Valida a associação ativa na organização antes de iniciar a transmissão dos bytes.

Códigos de Status HTTP

Status Código Significado
200 OK Requisição bem-sucedida; dados retornados.
201 Created Recurso criado com sucesso (por exemplo, organização, convite).
204 No Content Ação concluída com sucesso sem corpo de resposta.
400 Bad Request Carga malformada, esquema inválido ou divergência no tamanho do bloco.
401 Unauthorized Token de autenticação ausente ou inválido, ou sessão expirada.
403 Forbidden Escopo OAuth insuficiente, associação obrigatória ou origem não permitida.
404 Not Found Arquivo, upload, organização ou convite de destino não encontrado.
409 Conflict Cota de armazenamento excedida ou conflito de estado concorrente.
410 Gone A reserva de upload expirou ou a janela de 30 dias na lixeira terminou.
500 Internal Error Exceção na execução do lado do servidor.

Taxonomia de Erros

O Siglata retorna erros tipados e estruturados com códigos legíveis por máquina:

{
  "code": "quota_exceeded",
  "message": "Storage quota limit reached for this organization"
}

Códigos de Erro Comuns

Código de Erro Status HTTP Descrição
invalid_input 400 Um ou mais parâmetros falharam nas regras de validação.
part_mismatch 400 O tamanho da parte não corresponde aos 8 MiB esperados.
upload_incomplete 400 Tentativa de concluir o upload com partes ausentes.
SESSION_EXPIRED 401 A sessão autorizadora expirou; reautenticação obrigatória.
INSUFFICIENT_SCOPE 403 A concessão OAuth não possui o escopo necessário para esta operação, ou o teto maxScopes MCP da organização o exclui.
MCP_ACCESS_REVOKED 403 O acesso MCP da organização está revoked. Linhas ausentes passam a testing automaticamente.
ORGANIZATION_MEMBERSHIP_REQUIRED 403 O usuário não é membro ativo da organização solicitada.
ORGANIZATION_ADMIN_REQUIRED 403 A operação exige privilégios de owner ou admin.
ORIGIN_NOT_ALLOWED 403 Origem da requisição rejeitada pela política de segurança CORS.
not_found 404 Registro de arquivo, upload ou organização não encontrado.
INVITATION_NOT_FOUND 404 O ID de convite informado não existe.
quota_exceeded 409 O upload não pode prosseguir porque ultrapassaria o limite de 10 GiB.
conflict 409 Modificação concorrente ou conflito de estado.
upload_expired 410 A reserva de upload expirou antes da conclusão.
restore_expired 410 O arquivo ultrapassou o período de recuperação de 30 dias da lixeira.
storage_failure 500 O backend de armazenamento encontrou um erro inesperado.
database_failure 500 Falha em consulta ou transação no banco de dados.

Esta página foi útil?