Documentação técnica

Rotas reais para slicing e cotação em impressão 3D

Esta documentação cobre as rotas disponíveis no Mantis para saúde do serviço, processamento de arquivos, variações de slicing e fluxos de cotação.

Basehttps://mantis.makermarket.com

Ambiente público da API.

AutenticaçãoToken Bearer

Todas as rotas de operação exigem autenticação.

Entradamultipart/form-data

Uploads usam o campo file quando aplicável.

Resumo da API

As rotas abaixo são as registradas no serviço atual.

Rotas públicas

GET /healthcheck, / e /doc.

Rotas autenticadas

Todas as rotas POST operacionais usam requireInboundToken.

Uploads

As rotas de processamento recebem arquivo com upload.single("file").

Autenticação e formato

O padrão de integração é direto e orientado a upload.

Header esperadoAuthorization: Bearer <TOKEN>
Formato de arquivomultipart/form-data com campo file nas rotas que fazem upload.
Campos comunsinstance, callback e outros variam por rota.
Tipos de rota Fatiamento: gera dados técnicos, 3MF (se STL), imagens de placas e G-code.
Cotação: calcula a partir de STL (convertido) ou 3MF.
GET

/healthcheck

Verifica se a aplicação está online e retorna a versão atual.

Pública
Resposta{ status: "online", version }
AutenticaçãoNão obrigatória.
Requisição
curl "https://mantis.makermarket.com/healthcheck"
Resposta
{
  "status": "online",
  "version": "1.2.0"
}
POST

/slice

Envia um arquivo para fatiamento e cria um job assíncrono no Mantis.

Token obrigatório

O arquivo é processado de forma assíncrona: após o envio, o Mantis coloca o job na fila de slicing e retorna imediatamente um identificador. Quando o processamento for concluído, os dados técnicos serão enviados para a rota de callback (webhook) informada.

Corpo obrigatório file (arquivo 3MF ou STL) e instance (ID do produto na sua plataforma).
Query opcional callback (rota de webhook que receberá os dados do fatiamento após a conclusão).

A rota de callback será chamada automaticamente quando o slicing terminar. Nela, o Mantis envia os dados técnicos do fatiamento e, caso configurado no webhook, também pode incluir as imagens das placas geradas e o arquivo 3MF processado.

Requisição
curl -X POST "https://mantis.makermarket.com/slice?callback=https://app.makermarket.com/webhooks/mantis" \
  -H "Authorization: Bearer <TOKEN>" \
  -F "instance=12104" \
  -F "file=@./part.3mf"
Resposta
{
  "jobId": "2ef2b7a8-b30e-4bb5-8f83-6dbe55e96c16",
  "originalFilename": "part.3mf",
  "instance": 12104,
  "status": "QUEUED",
  "engine": "bambu"
}
POST

/slicing-light

Envia um arquivo para fatiamento em modo leve, priorizando retorno rápido de dados e imagens.

Token obrigatório

Funciona de forma assíncrona, assim como o endpoint padrão. O Mantis recebe o arquivo, cria o job e processa o slicing em fila. A diferença é que este modo não gera nem armazena artefatos completos, retornando apenas os dados essenciais e as imagens das placas.

Corpo obrigatório file (arquivo 3MF ou STL) e instance (ID do produto na sua plataforma).
Modo de processamento metadata-only (sem upload de artefatos completos).

Após a conclusão do slicing, os dados técnicos são enviados para a rota de callback (webhook), quando informada. Neste endpoint, o retorno inclui as imagens das placas geradas, mas não inclui o arquivo 3MF processado nem outros artefatos completos.

Requisição
curl -X POST "https://mantis.makermarket.com/slicing-light" \
  -H "Authorization: Bearer <TOKEN>" \
  -F "instance=12104" \
  -F "file=@./part.3mf"
Resposta
{
  "jobId": "ad1ea3de-b9ce-4c58-8d53-b49bfc08e502",
  "originalFilename": "part.3mf",
  "instance": 12104,
  "status": "QUEUED",
  "uploadMode": "metadata-only",
  "engine": "bambu"
}
POST

/slicing-json

Envia um arquivo para fatiamento em modo enxuto, retornando apenas os dados técnicos do processamento.

Token obrigatório

Este endpoint usa processamento assíncrono em modo no-upload. O Mantis recebe o arquivo, cria o job e executa o slicing sem realizar upload de artefatos, imagens de placas ou arquivo 3MF processado. O retorno inclui somente o resultado técnico do fatiamento.

Corpo file obrigatório. instance pode ser enviado quando necessário para identificar o produto na sua plataforma.
Query opcional callback (rota de webhook que receberá o resultado do fatiamento após a conclusão).

Quando o slicing termina, o resultado pode ser enviado para a rota de callback informada. Neste modo, o webhook recebe apenas os dados do fatiamento, sem imagens das placas e sem arquivos adicionais.

Requisição
curl -X POST "https://mantis.makermarket.com/slicing-json?callback=https://app.makermarket.com/webhooks/mantis" \
  -H "Authorization: Bearer <TOKEN>" \
  -F "file=@./part.3mf"
Resposta
{
  "jobId": "ec413bbf-a21e-4e62-b95f-7156910bf6d5",
  "originalFilename": "part.3mf",
  "status": "QUEUED",
  "uploadMode": "no-upload",
  "callback": "https://app.makermarket.com/webhooks/mantis",
  "engine": "bambu"
}
POST

/quote-stl

Envia um arquivo STL para geração de cotação baseada em fatiamento.

Token obrigatório

Este endpoint processa arquivos STL com foco em cotação. O Mantis executa o slicing de forma assíncrona utilizando o motor prusa, otimizado para estimativas de tempo, peso e custo de produção.

Corpo file obrigatório (arquivo STL para cotação). instance não é necessário nesta rota.
Query opcional callback (rota de webhook que receberá os dados da cotação após o processamento).

Após a conclusão, o resultado da cotação pode ser enviado para a rota de callback. O retorno inclui os dados técnicos do fatiamento necessários para orçamento, sem upload de artefatos completos.

Requisição
curl -X POST "https://mantis.makermarket.com/quote-stl?callback=https://app.makermarket.com/webhooks/mantis" \
  -H "Authorization: Bearer <TOKEN>" \
  -F "file=@./part.stl"
Resposta
{
  "jobId": "d6f3f9e6-3423-42ee-937b-bc48d0f62e1b",
  "originalFilename": "part.stl",
  "status": "QUEUED",
  "uploadMode": "stl-quote",
  "callback": "https://app.makermarket.com/webhooks/mantis",
  "engine": "prusa"
}
POST

/file-quote

Envia um arquivo (STL ou 3MF) para geração de cotação vinculada a um identificador da sua plataforma.

Token obrigatório

Este endpoint processa arquivos de forma assíncrona para geração de cotação. O campo fileQuotationId permite associar o resultado ao seu fluxo interno. Arquivos 3MF utilizam as configurações já embutidas, enquanto arquivos STL exigem parâmetros adicionais para definição do slicing.

Obrigatório file (STL ou 3MF) e fileQuotationId (ID da cotação na sua plataforma).
Condicional para STL material e quality são obrigatórios para definir o perfil de fatiamento.
Materiais válidos abs, petg, pla.
Qualidades válidas fast, standard, high.

Após o processamento, o resultado da cotação é gerado com base no slicing. Para arquivos STL, o Mantis utiliza os parâmetros informados para definir o perfil de impressão. Para arquivos 3MF, as configurações já existentes no arquivo são respeitadas.

Requisição
curl -X POST "https://mantis.makermarket.com/file-quote" \
  -H "Authorization: Bearer <TOKEN>" \
  -F "fileQuotationId=9001" \
  -F "material=pla" \
  -F "quality=standard" \
  -F "file=@./part.stl"
Resposta
{
  "jobId": "101ce063-2367-4049-9bd6-3550c1d9dcc7",
  "fileQuotationId": 9001,
  "originalFilename": "part.stl",
  "status": "QUEUED",
  "uploadMode": "file-quote",
  "engine": "prusa",
  "configPath": "presets/v1/merges/X1C/merged_x1c_pla_standard.ini"
}
POST

/file-quote/:jobId/retry

Reenvia para processamento um job de cotação já existente.

Token obrigatório

Este endpoint permite reenfileirar um job já criado anteriormente no fluxo de file-quote. O jobId identifica a cotação que será tentada novamente, mantendo o vínculo com o processamento original.

Path param jobId obrigatório para identificar o job que será reenviado.
Corpo multipart/form-data com file obrigatório.

O retry cria uma nova tentativa de processamento para o mesmo job. Isso é útil quando você precisa reenviar o arquivo e solicitar uma nova execução da cotação sem criar um fluxo separado.

Requisição
curl -X POST "https://mantis.makermarket.com/file-quote/101ce063-2367-4049-9bd6-3550c1d9dcc7/retry" \
  -H "Authorization: Bearer <TOKEN>" \
  -F "file=@./part.stl"
Resposta
{
  "jobId": "101ce063-2367-4049-9bd6-3550c1d9dcc7",
  "name": "4dbd1fe9-6d37-4f81-9992-4db54d14f193",
  "filename": "4dbd1fe9-6d37-4f81-9992-4db54d14f193.stl",
  "originalFilename": "part.stl",
  "status": "QUEUED",
  "action": "RETRY"
}

Acesso ao Mantis

O uso da API do Mantis requer um token de acesso válido. O serviço é disponibilizado mediante análise de uso e integração.

Autenticação

Todas as requisições exigem um token válido, enviado no header Authorization: Bearer.

Como obter acesso

Caso tenha interesse em utilizar o Mantis, entre em contato com a equipe através da página de contato.

Processo de integração

Analisamos o seu caso de uso para verificar se a integração faz sentido. Se aprovado, informamos os custos do serviço e fornecemos as credenciais de acesso.