Malga Seller Documents API
The Seller Documents API from Malga — 2 operation(s) for seller documents.
The Seller Documents API from Malga — 2 operation(s) for seller documents.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/plug-seller-documents-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: '0.5'
title: Documentação Malga Seller Documents API
description: '# Authentication
Os serviços de API da Malga são protegidos através de chaves de acesso.'
servers:
- url: https://api.malga.io
description: Production
security:
- X-Client-ID: []
X-Api-Key: []
tags:
- name: Seller Documents
paths:
/v1/sellers/documents:
post:
summary: Upload de documento
operationId: uploadSellerDocument
description: 'Faz upload de um documento (imagem ou PDF) para posterior associação a um seller.
O arquivo fica armazenado temporariamente por 7 dias. Após esse prazo, o documento expira e não pode mais ser utilizado.
**Tipos aceitos:** SELFIE, CNH_FULL, CNH_FRONT, CNH_BACK, RG_FRONT, RG_BACK
**Formatos aceitos:**
- SELFIE e CNH_FULL: PNG, JPEG, BMP, WebP, HEIC, HEIF, PDF
- CNH_FRONT, CNH_BACK, RG_FRONT, RG_BACK: PNG, JPEG, BMP, WebP, HEIC, HEIF (sem PDF)
**Tamanho máximo:** 3MB'
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
type:
type: string
enum:
- SELFIE
- CNH_FULL
- CNH_FRONT
- CNH_BACK
- RG_FRONT
- RG_BACK
description: Tipo do documento
file:
type: string
format: binary
description: Arquivo do documento
required:
- type
- file
responses:
'201':
description: Documento enviado com sucesso
content:
application/json:
schema:
$ref: '#/components/schemas/UploadedDocumentResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'413':
description: Arquivo excede o tamanho máximo de 3MB
tags:
- Seller Documents
get:
summary: Listar documentos
operationId: listSellerDocuments
description: Lista os documentos do cliente autenticado. Documentos expirados não são retornados.
parameters:
- name: status
in: query
required: false
description: Filtrar por status do documento
schema:
type: string
enum:
- uploaded
- attached
- sent
- name: type
in: query
required: false
description: Filtrar por tipo do documento
schema:
type: string
enum:
- SELFIE
- CNH_FULL
- CNH_FRONT
- CNH_BACK
- RG_FRONT
- RG_BACK
- name: createdAt
in: query
required: false
description: Filtrar documentos criados a partir desta data (ISO 8601)
schema:
type: string
format: date-time
- name: limit
in: query
required: false
description: Itens por página (máximo 50)
schema:
type: number
default: 10
- name: page
in: query
required: false
description: Número da página
schema:
type: number
default: 1
- name: sort
in: query
required: false
description: Ordenação por data de criação
schema:
type: string
enum:
- ASC
- DESC
default: DESC
responses:
'200':
description: Lista de documentos
content:
application/json:
schema:
$ref: '#/components/schemas/UploadedDocumentListResponse'
tags:
- Seller Documents
/v1/sellers/documents/{documentId}:
get:
summary: Consultar documento
operationId: getSellerDocument
description: Retorna os detalhes de um documento. Documentos expirados retornam 404.
parameters:
- name: documentId
in: path
required: true
description: ID do documento
schema:
type: string
format: uuid
responses:
'200':
description: Detalhes do documento
content:
application/json:
schema:
$ref: '#/components/schemas/UploadedDocumentResponse'
'404':
description: Documento não encontrado ou expirado
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
tags:
- Seller Documents
delete:
summary: Deletar documento
operationId: deleteSellerDocument
description: 'Remove um documento. Apenas documentos com status `uploaded` podem ser deletados.
Documentos já associados a um seller (status `attached` ou `sent`) não podem ser removidos.'
parameters:
- name: documentId
in: path
required: true
description: ID do documento
schema:
type: string
format: uuid
responses:
'204':
description: Documento removido com sucesso
'400':
description: Documento já associado a um seller
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Documento não encontrado
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
tags:
- Seller Documents
components:
schemas:
UploadedDocumentListResponse:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/UploadedDocumentResponse'
meta:
type: object
properties:
totalItems:
type: number
itemCount:
type: number
itemsPerPage:
type: number
totalPages:
type: number
currentPage:
type: number
ErrorResponse:
properties:
error:
type: object
allOf:
- $ref: '#/components/schemas/ErrorItem'
UploadedDocumentResponse:
type: object
properties:
id:
type: string
format: uuid
description: Identificador do documento
type:
type: string
enum:
- SELFIE
- CNH_FULL
- CNH_FRONT
- CNH_BACK
- RG_FRONT
- RG_BACK
description: Tipo do documento
status:
type: string
enum:
- uploaded
- attached
- sent
description: 'Status do documento:
- `uploaded`: documento enviado, aguardando associação com seller
- `attached`: documento associado a um seller, aguardando envio ao provedor
- `sent`: documento enviado ao provedor com sucesso
'
expiresAt:
type: string
format: date-time
description: Data de expiração do documento (7 dias após upload)
example:
id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
type: SELFIE
status: uploaded
expiresAt: '2026-04-15T18:00:00.000Z'
ErrorItem:
properties:
type:
type: string
enum:
- api_error
- bad_request
- invalid_request_error
- card_declined
code:
type: integer
description: Código HTTP do erro (por exemplo, `422` em erros de regra de negócio).
declinedCode:
type: string
description: Código de retorno da transação em caso de falha na autorização
key:
type: string
description: 'Chave estável que identifica o erro de negócio (ex.: `bank_identifier_required`). Útil para tratar o erro programaticamente, independente da mensagem traduzida.'
businessCode:
type: string
description: 'Chave estável de regra de negócio retornada em `422`. Permite tratar o erro programaticamente independente da mensagem traduzida. Exemplos em sessões: `pix_boleto_multiple_payments_not_allowed`, `pix_boleto_one_to_one_reactivation_blocked`, `platform_fee_exceeds_link_amount`, `session_disabled`, `multiple_payments_limit_reached`.
'
message:
type: string
description: Descrição breve do erro
details:
type: array
description: Lista contendo objetos que detalham o erro de validação
securitySchemes:
X-Client-ID:
type: apiKey
in: header
name: X-Client-Id
X-Api-Key:
type: apiKey
in: header
name: X-Api-Key
x-tagGroups:
- name: API Key
tags:
- Client-token
- name: Cartões
tags:
- Tokens
- Cards
- name: Pagamentos
tags:
- Customers
- Charges
- Sessions
- Sellers
- Vendors
- Split
- 3DSecure2
- Settings
- name: Notificação e eventos
tags:
- Webhooks
- name: Provedores
tags:
- Merchants
- Providers
- name: Gestão de pagamentos
tags:
- Flows
- name: Exportar Dados
tags:
- Reports
- name: Apêndice
tags:
- Tabelas de tipos