openapi: 3.0.3
info:
title: CBRDoc
description: ''
version: 1.0.0
servers:
- url: 'https://api2.cbrdoc.com.br'
tags:
- name: Login
description: ''
- name: 'Autenticação em duas etapas'
description: ''
- name: 'Campos personalizados'
description: ''
- name: 'Carteira (Pré pago)'
description: ''
- name: Cliente
description: ''
- name: Compras
description: ''
- name: 'Configurações de documentos'
description: ''
- name: Contato
description: ''
- name: Dossiês
description: ''
- name: 'Faturas (Pré pago)'
description: ''
- name: 'Faturas (Pós pago)'
description: ''
- name: Gestor
description: ''
- name: Grupos
description: ''
- name: 'Grupos de permissões'
description: ''
- name: 'Grupos de usuários'
description: ''
- name: IA
description: ''
- name: 'Itens de compra'
description: ''
- name: 'Mapa de relacionamentos de empresas'
description: ''
- name: 'Meus arquivos'
description: ''
- name: Notificações
description: ''
- name: Outros
description: ''
- name: Recorrências
description: ''
- name: Relatórios
description: ''
- name: Serviços
description: ''
- name: Usuários
description: ''
components:
securitySchemes:
default:
type: http
scheme: bearer
description: 'Para obter um token use o endpoint /login e utilize o atributo access_token.'
security:
-
default: []
paths:
/login:
post:
summary: ''
operationId: postLogin
description: ''
parameters: []
responses: {}
tags:
- Login
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
description: 'Deve ser um endereço de e-mail válido.'
example: sofia.balestero@example.com
password:
type: string
description: ''
example: Senha@123
required:
- email
- password
security: []
'/login/sso/{provider}':
post:
summary: ''
operationId: postLoginSsoProvider
description: ''
parameters: []
responses: {}
tags:
- Login
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
access_token:
type: string
description: ''
example: 4e0c4ff2481a57e870574bca75304ec5d2c578df131b80ede1701c85c5d2ac98
required:
- access_token
parameters:
-
in: path
name: provider
description: ''
example: google
required: true
schema:
type: string
/login/validate-captcha:
post:
summary: ''
operationId: postLoginValidateCaptcha
description: ''
parameters: []
responses: {}
tags:
- Login
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
token:
type: string
description: ''
example: 25f4f4acacfdbfb692e09b8bd58ce542f003e2a4fdb5a0ab3ccac993e1868f25
required:
- token
/users/resend-verification-email:
post:
summary: ''
operationId: postUsersResendVerificationEmail
description: ''
parameters: []
responses: {}
tags:
- Login
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
description: 'Deve ser um endereço de e-mail válido. Deve corresponder a um valor já cadastrado.'
example: tessalia33@example.org
required:
- email
/two-factor/enable:
post:
summary: 'Habilitar a autenticação em duas etapas'
operationId: habilitarAAutenticaoEmDuasEtapas
description: ''
parameters: []
responses: {}
tags:
- 'Autenticação em duas etapas'
/two-factor/disable:
put:
summary: 'Desabilitar a autenticação em duas etapas'
operationId: desabilitarAAutenticaoEmDuasEtapas
description: ''
parameters: []
responses: {}
tags:
- 'Autenticação em duas etapas'
/two-factor/confirm:
post:
summary: 'Confirmar a ativação da autenticação em duas etapas'
operationId: confirmarAAtivaoDaAutenticaoEmDuasEtapas
description: ''
parameters: []
responses: {}
tags:
- 'Autenticação em duas etapas'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
code:
type: string
description: ''
example: meu-codigo
required:
- code
/two-factor/login:
post:
summary: 'Concluir o login enviando o código de duas etapas'
operationId: concluirOLoginEnviandoOCdigoDeDuasEtapas
description: ''
parameters: []
responses: {}
tags:
- 'Autenticação em duas etapas'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
challenge_token:
type: string
description: 'Deve ter pelo menos 10 caracteres.'
example: 8d1cbffd159ca143d7e61c41dd48c34a2d3b82e0882b1d59f851640d3ad5788a
code:
type: string
description: 'Este campo é obrigatório quando recovery_code for not present.'
example: meu-codigo
nullable: true
recovery_code:
type: string
description: 'Este campo é obrigatório quando code for not present.'
example: '763405'
nullable: true
required:
- challenge_token
/customers/custom-fields:
get:
summary: 'Listar todos os campos personalizados'
operationId: listarTodosOsCamposPersonalizados
description: ''
parameters:
-
in: query
name: include
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: service, service_count, serviceExists, user, user_count, userExists, customer, customer_count, customerExists"
example: null
required: false
schema:
type: string
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: service, service_count, serviceExists, user, user_count, userExists, customer, customer_count, customerExists"
example: null
-
in: query
name: filter
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: service_id, user_id, customer_id"
example: null
required: false
schema:
type: 'string[]'
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: service_id, user_id, customer_id"
example: null
responses: {}
tags:
- 'Campos personalizados'
post:
summary: 'Criar um campo personalizado'
operationId: criarUmCampoPersonalizado
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
customer_id: 97
user_id: 495
service_id: 801
code: meu-codigo
label: 'Meu label'
type: exemplo
required: true
select_options: []
created_at: '2026-10-02T20:24:11.968407Z'
updated_at: '2026-10-02T20:24:11.968522Z'
order: 1
properties:
id:
type: integer
example: 1
customer_id:
type: integer
example: 97
user_id:
type: integer
example: 495
service_id:
type: integer
example: 801
code:
type: string
example: meu-codigo
label:
type: string
example: 'Meu label'
type:
type: string
example: exemplo
required:
type: boolean
example: true
select_options:
type: array
example: []
created_at:
type: string
example: '2026-10-02T20:24:11.968407Z'
updated_at:
type: string
example: '2026-10-02T20:24:11.968522Z'
order:
type: integer
example: 1
tags:
- 'Campos personalizados'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
code:
type: string
description: 'Não pode ser superior a 255 caracteres.'
example: meu-codigo
label:
type: string
description: 'Não pode ser superior a 255 caracteres.'
example: 'Meu label'
type:
type: string
description: ''
example: string
enum:
- string
- integer
- decimal
- select
- boolean
required:
type: boolean
description: ''
example: true
select_options:
type: array
description: 'Este campo é obrigatório quando type for select. Deve ter pelo menos 1 item.'
example:
- []
items:
type: object
nullable: true
properties:
value:
type: string
description: 'Este campo é obrigatório quando type for select. Não pode ser superior a 255 caracteres.'
example: exemplo
label:
type: string
description: 'Este campo é obrigatório quando type for select. Não pode ser superior a 255 caracteres.'
example: 'Meu label'
service_id:
type: integer
description: 'Deve corresponder a um valor já cadastrado.'
example: 908
nullable: true
order:
type: integer
description: 'Deve ser pelo menos 0.'
example: 0
required:
- code
- label
- type
- required
- order
'/customers/custom-fields/{customerCustomOrderField_id}':
put:
summary: 'Editar um campo personalizado'
operationId: editarUmCampoPersonalizado
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
customer_id: 452
user_id: 465
service_id: 904
code: meu-codigo
label: 'Meu label'
type: exemplo
required: true
select_options: []
created_at: '2026-10-02T20:24:11.993355Z'
updated_at: '2026-10-02T20:24:11.993491Z'
order: 1
properties:
id:
type: integer
example: 1
customer_id:
type: integer
example: 452
user_id:
type: integer
example: 465
service_id:
type: integer
example: 904
code:
type: string
example: meu-codigo
label:
type: string
example: 'Meu label'
type:
type: string
example: exemplo
required:
type: boolean
example: true
select_options:
type: array
example: []
created_at:
type: string
example: '2026-10-02T20:24:11.993355Z'
updated_at:
type: string
example: '2026-10-02T20:24:11.993491Z'
order:
type: integer
example: 1
tags:
- 'Campos personalizados'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
code:
type: string
description: 'Não pode ser superior a 255 caracteres.'
example: meu-codigo
label:
type: string
description: 'Não pode ser superior a 255 caracteres.'
example: 'Meu label'
type:
type: string
description: ''
example: string
enum:
- string
- integer
- decimal
- select
- boolean
required:
type: boolean
description: ''
example: true
select_options:
type: array
description: 'Este campo é obrigatório quando type for select. Deve ter pelo menos 1 item.'
example:
- []
items:
type: object
nullable: true
properties:
value:
type: string
description: 'Este campo é obrigatório quando type for select. Não pode ser superior a 255 caracteres.'
example: exemplo
label:
type: string
description: 'Este campo é obrigatório quando type for select. Não pode ser superior a 255 caracteres.'
example: 'Meu label'
service_id:
type: integer
description: 'Deve corresponder a um valor já cadastrado.'
example: 63
nullable: true
order:
type: integer
description: 'Deve ser pelo menos 0.'
example: 0
required:
- code
- label
- type
- required
- order
parameters:
-
in: path
name: customerCustomOrderField_id
description: 'The ID of the customerCustomOrderField.'
example: 10
required: true
schema:
type: integer
'/customers/custom-fields/{customFields}':
delete:
summary: 'Excluir um ou múltiplos campos personalizados'
operationId: excluirUmOuMltiplosCamposPersonalizados
description: ''
parameters: []
responses: {}
tags:
- 'Campos personalizados'
parameters:
-
in: path
name: customFields
description: ''
example: magni
required: true
schema:
type: string
/wallets/deposits:
post:
summary: 'Deposita créditos na carteira de um cliente pré pago'
operationId: depositaCrditosNaCarteiraDeUmClientePrPago
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
customer_id: 66
user_id: 83
order_id: 912
operation: C
approved_at: '2026-10-02T20:24:13.790038Z'
amount: 1.5
payment_method: credit-card
backoffice_id: 6346946
bank_slip_url: 'http://santiago.br/voluptatem-nulla-facilis-ad-veniam-vel-ut-placeat.html'
bank_slip_barcode: exemplo
bonus_amount: 1.5
send_email_after_approved: true
purchase_id: 341
type: refund
backoffice_reason: 'Labore sit minus ut saepe.'
pix_qr_code: dj-5724
pix_hash: exemplo
created_at: '2026-10-02T20:24:13.790944Z'
updated_at: '2026-10-02T20:24:13.791104Z'
properties:
id:
type: integer
example: 1
customer_id:
type: integer
example: 66
user_id:
type: integer
example: 83
order_id:
type: integer
example: 912
operation:
type: string
example: C
approved_at:
type: string
example: '2026-10-02T20:24:13.790038Z'
amount:
type: number
example: 1.5
payment_method:
type: string
example: credit-card
backoffice_id:
type: integer
example: 6346946
bank_slip_url:
type: string
example: 'http://santiago.br/voluptatem-nulla-facilis-ad-veniam-vel-ut-placeat.html'
bank_slip_barcode:
type: string
example: exemplo
bonus_amount:
type: number
example: 1.5
send_email_after_approved:
type: boolean
example: true
purchase_id:
type: integer
example: 341
type:
type: string
example: refund
backoffice_reason:
type: string
example: 'Labore sit minus ut saepe.'
pix_qr_code:
type: string
example: dj-5724
pix_hash:
type: string
example: exemplo
created_at:
type: string
example: '2026-10-02T20:24:13.790944Z'
updated_at:
type: string
example: '2026-10-02T20:24:13.791104Z'
tags:
- 'Carteira (Pré pago)'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
payment_method:
type: string
description: ''
example: credit-card
enum:
- credit-card
- bank-slip
- pix
amount:
type: number
description: ''
example: 1.5
credit_card_document_number:
type: string
description: 'Este campo é obrigatório quando payment_method for credit-card.'
example: '12531053913'
credit_card_holder_name:
type: string
description: 'Este campo é obrigatório quando payment_method for credit-card.'
example: 'Dr. Mary Ramos Rico'
credit_card_number:
type: string
description: '@var array $invoiceRules Este campo é obrigatório quando payment_method for credit-card.'
example: '5041750789870110'
credit_card_cvv:
type: string
description: 'Este campo é obrigatório quando payment_method for credit-card. Não pode ser superior a 4 caracteres.'
example: 981
credit_card_due_date:
type: string
description: 'Este campo é obrigatório quando payment_method for credit-card. Deve ser uma data válida no formato Y-m. Deve ser uma data posterior ou igual a 2026-10.'
example: 05/27
send_email_after_approved:
type: boolean
description: ''
example: true
required:
- payment_method
- amount
- send_email_after_approved
'/wallets/deposits/bonus-for-value/{deposit_value}':
get:
summary: 'Calcula o valor do bônus para um determinado valor de compra de créditos'
operationId: calculaOValorDoBnusParaUmDeterminadoValorDeCompraDeCrditos
description: ''
parameters: []
responses: {}
tags:
- 'Carteira (Pré pago)'
parameters:
-
in: path
name: deposit_value
description: 'Valor do depósito desejado. De 0 a 2 decimais.'
example: 100.59
required: true
schema:
type: decimal
/customers:
get:
summary: 'Visualizar o cliente logado'
operationId: visualizarOClienteLogado
description: ''
parameters:
-
in: query
name: include
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: orders_count, automatic_ai_analysis, automatic_ai_analysis_count, automatic_ai_analysisExists, services_automatic_purchase_enabled_by_default, services_automatic_purchase_enabled_by_default_count, services_automatic_purchase_enabled_by_defaultExists, services_automatic_ai_analysis, services_automatic_ai_analysis_count, services_automatic_ai_analysisExists, services_automatic_orders_summary, services_automatic_orders_summary_count, services_automatic_orders_summaryExists, services_automatic_purchase_enabled_from_ai_analysis, services_automatic_purchase_enabled_from_ai_analysis_count, services_automatic_purchase_enabled_from_ai_analysisExists, users, users_count, usersExists"
example: null
required: false
schema:
type: string
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: orders_count, automatic_ai_analysis, automatic_ai_analysis_count, automatic_ai_analysisExists, services_automatic_purchase_enabled_by_default, services_automatic_purchase_enabled_by_default_count, services_automatic_purchase_enabled_by_defaultExists, services_automatic_ai_analysis, services_automatic_ai_analysis_count, services_automatic_ai_analysisExists, services_automatic_orders_summary, services_automatic_orders_summary_count, services_automatic_orders_summaryExists, services_automatic_purchase_enabled_from_ai_analysis, services_automatic_purchase_enabled_from_ai_analysis_count, services_automatic_purchase_enabled_from_ai_analysisExists, users, users_count, usersExists"
example: null
-
in: query
name: append
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: account_balance, account_balance_total_bonuses, used_storage, prepaid, total_ai_tokens_remaining, ai_tokens_above_limit, plan_free_emoluments_orders_remaining, plan_ai_extractions_remaining"
example: null
required: false
schema:
type: string
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: account_balance, account_balance_total_bonuses, used_storage, prepaid, total_ai_tokens_remaining, ai_tokens_above_limit, plan_free_emoluments_orders_remaining, plan_ai_extractions_remaining"
example: null
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
name: 'Violeta Valência'
corporate_name: Galvão-Pontes
entity_type: PF
phone: '8946592881'
document_number: '17965485532'
address_zip_code: '76292091'
address_public_place: 'Av. Rayane'
address_number: '973'
address_complement: 'Apto 12'
address_neighborhood: Centro
address_city: 'Willian do Sul'
address_uf: PB
backoffice_email: santiago00@example.org
sync_with_backoffice: true
postpaid: true
explorer_item_file_upload_enabled: true
ai_enrich_data_enabled: true
group_mandatory_on_purchase: true
demands_approval_purchases_over_value: 1.5
created_from_passport: true
generate_services_summary: true
show_shipping_info_on_orders: 1
credit_bonus_disabled: 1
control_downloaded_orders_by: user
plan: exemplo
plan_max_users: 1
plan_analytics_enabled_until: '2026-10-02'
plan_free_emoluments_orders_included: 1
plan_free_dossiers_orders_included: 1
plan_ai_extractions_included: 1
plan_ai_tokens_included: 1
plan_paid_until: '2026-10-02'
plan_changed_at: '2026-10-02'
created_at: '2026-10-02T20:24:11.902072Z'
updated_at: '2026-10-02T20:24:11.902166Z'
api_access_enabled: true
properties:
id:
type: integer
example: 1
name:
type: string
example: 'Violeta Valência'
corporate_name:
type: string
example: Galvão-Pontes
entity_type:
type: string
example: PF
phone:
type: string
example: '8946592881'
document_number:
type: string
example: '17965485532'
address_zip_code:
type: string
example: '76292091'
address_public_place:
type: string
example: 'Av. Rayane'
address_number:
type: string
example: '973'
address_complement:
type: string
example: 'Apto 12'
address_neighborhood:
type: string
example: Centro
address_city:
type: string
example: 'Willian do Sul'
address_uf:
type: string
example: PB
backoffice_email:
type: string
example: santiago00@example.org
sync_with_backoffice:
type: boolean
example: true
postpaid:
type: boolean
example: true
explorer_item_file_upload_enabled:
type: boolean
example: true
ai_enrich_data_enabled:
type: boolean
example: true
group_mandatory_on_purchase:
type: boolean
example: true
demands_approval_purchases_over_value:
type: number
example: 1.5
created_from_passport:
type: boolean
example: true
generate_services_summary:
type: boolean
example: true
show_shipping_info_on_orders:
type: integer
example: 1
credit_bonus_disabled:
type: integer
example: 1
control_downloaded_orders_by:
type: string
example: user
plan:
type: string
example: exemplo
plan_max_users:
type: integer
example: 1
plan_analytics_enabled_until:
type: string
example: '2026-10-02'
plan_free_emoluments_orders_included:
type: integer
example: 1
plan_free_dossiers_orders_included:
type: integer
example: 1
plan_ai_extractions_included:
type: integer
example: 1
plan_ai_tokens_included:
type: integer
example: 1
plan_paid_until:
type: string
example: '2026-10-02'
plan_changed_at:
type: string
example: '2026-10-02'
created_at:
type: string
example: '2026-10-02T20:24:11.902072Z'
updated_at:
type: string
example: '2026-10-02T20:24:11.902166Z'
api_access_enabled:
type: boolean
example: true
tags:
- Cliente
patch:
summary: 'Atualiza os dados do cadastro do cliente'
operationId: atualizaOsDadosDoCadastroDoCliente
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
name: 'Dr. Emanuel Duarte Mendonça'
corporate_name: 'Marés e Associados'
entity_type: PF
phone: '3327298815'
document_number: '94163045902'
address_zip_code: '63066609'
address_public_place: 'Avenida Anita'
address_number: '71711'
address_complement: 'Apto 12'
address_neighborhood: Centro
address_city: 'São Manuel'
address_uf: RS
backoffice_email: ian.aragao@example.com
sync_with_backoffice: true
postpaid: true
explorer_item_file_upload_enabled: true
ai_enrich_data_enabled: true
group_mandatory_on_purchase: true
demands_approval_purchases_over_value: 1.5
created_from_passport: true
generate_services_summary: true
show_shipping_info_on_orders: 1
credit_bonus_disabled: 1
control_downloaded_orders_by: user
plan: exemplo
plan_max_users: 1
plan_analytics_enabled_until: '2026-10-02'
plan_free_emoluments_orders_included: 1
plan_free_dossiers_orders_included: 1
plan_ai_extractions_included: 1
plan_ai_tokens_included: 1
plan_paid_until: '2026-10-02'
plan_changed_at: '2026-10-02'
created_at: '2026-10-02T20:24:11.941169Z'
updated_at: '2026-10-02T20:24:11.941306Z'
api_access_enabled: true
properties:
id:
type: integer
example: 1
name:
type: string
example: 'Dr. Emanuel Duarte Mendonça'
corporate_name:
type: string
example: 'Marés e Associados'
entity_type:
type: string
example: PF
phone:
type: string
example: '3327298815'
document_number:
type: string
example: '94163045902'
address_zip_code:
type: string
example: '63066609'
address_public_place:
type: string
example: 'Avenida Anita'
address_number:
type: string
example: '71711'
address_complement:
type: string
example: 'Apto 12'
address_neighborhood:
type: string
example: Centro
address_city:
type: string
example: 'São Manuel'
address_uf:
type: string
example: RS
backoffice_email:
type: string
example: ian.aragao@example.com
sync_with_backoffice:
type: boolean
example: true
postpaid:
type: boolean
example: true
explorer_item_file_upload_enabled:
type: boolean
example: true
ai_enrich_data_enabled:
type: boolean
example: true
group_mandatory_on_purchase:
type: boolean
example: true
demands_approval_purchases_over_value:
type: number
example: 1.5
created_from_passport:
type: boolean
example: true
generate_services_summary:
type: boolean
example: true
show_shipping_info_on_orders:
type: integer
example: 1
credit_bonus_disabled:
type: integer
example: 1
control_downloaded_orders_by:
type: string
example: user
plan:
type: string
example: exemplo
plan_max_users:
type: integer
example: 1
plan_analytics_enabled_until:
type: string
example: '2026-10-02'
plan_free_emoluments_orders_included:
type: integer
example: 1
plan_free_dossiers_orders_included:
type: integer
example: 1
plan_ai_extractions_included:
type: integer
example: 1
plan_ai_tokens_included:
type: integer
example: 1
plan_paid_until:
type: string
example: '2026-10-02'
plan_changed_at:
type: string
example: '2026-10-02'
created_at:
type: string
example: '2026-10-02T20:24:11.941169Z'
updated_at:
type: string
example: '2026-10-02T20:24:11.941306Z'
api_access_enabled:
type: boolean
example: true
tags:
- Cliente
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
phone:
type: string
description: 'Não pode ser superior a 20 caracteres.'
example: '18929792076'
address_zip_code:
type: string
description: 'Não pode ser superior a 8 caracteres.'
example: '77085024'
nullable: true
address_public_place:
type: string
description: 'Não pode ser superior a 120 caracteres.'
example: 'Av. Luna Verdara'
nullable: true
address_number:
type: string
description: 'Não pode ser superior a 8 caracteres.'
example: '28086'
nullable: true
address_complement:
type: string
description: 'Não pode ser superior a 60 caracteres.'
example: 'Apto 12'
nullable: true
address_neighborhood:
type: string
description: 'Não pode ser superior a 80 caracteres.'
example: Centro
nullable: true
address_city:
type: string
description: 'Não pode ser superior a 120 caracteres.'
example: "Vitor d'Oeste"
nullable: true
address_uf:
type: string
description: 'Não pode ser superior a 2 caracteres.'
example: RR
nullable: true
group_mandatory_on_purchase:
type: boolean
description: ''
example: true
nullable: true
/customers/plan/stats:
get:
summary: 'Visualizar as estatísticas de uso do plano do cliente logado no mês atual'
operationId: visualizarAsEstatsticasDeUsoDoPlanoDoClienteLogadoNoMsAtual
description: ''
parameters:
-
in: query
name: include
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: orders_count, automatic_ai_analysis, automatic_ai_analysis_count, automatic_ai_analysisExists, services_automatic_purchase_enabled_by_default, services_automatic_purchase_enabled_by_default_count, services_automatic_purchase_enabled_by_defaultExists, services_automatic_ai_analysis, services_automatic_ai_analysis_count, services_automatic_ai_analysisExists, services_automatic_orders_summary, services_automatic_orders_summary_count, services_automatic_orders_summaryExists, services_automatic_purchase_enabled_from_ai_analysis, services_automatic_purchase_enabled_from_ai_analysis_count, services_automatic_purchase_enabled_from_ai_analysisExists, users, users_count, usersExists"
example: null
required: false
schema:
type: string
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: orders_count, automatic_ai_analysis, automatic_ai_analysis_count, automatic_ai_analysisExists, services_automatic_purchase_enabled_by_default, services_automatic_purchase_enabled_by_default_count, services_automatic_purchase_enabled_by_defaultExists, services_automatic_ai_analysis, services_automatic_ai_analysis_count, services_automatic_ai_analysisExists, services_automatic_orders_summary, services_automatic_orders_summary_count, services_automatic_orders_summaryExists, services_automatic_purchase_enabled_from_ai_analysis, services_automatic_purchase_enabled_from_ai_analysis_count, services_automatic_purchase_enabled_from_ai_analysisExists, users, users_count, usersExists"
example: null
-
in: query
name: append
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: account_balance, account_balance_total_bonuses, used_storage, prepaid, total_ai_tokens_remaining, ai_tokens_above_limit, plan_free_emoluments_orders_remaining, plan_ai_extractions_remaining"
example: null
required: false
schema:
type: string
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: account_balance, account_balance_total_bonuses, used_storage, prepaid, total_ai_tokens_remaining, ai_tokens_above_limit, plan_free_emoluments_orders_remaining, plan_ai_extractions_remaining"
example: null
responses: {}
tags:
- Cliente
/purchases:
post:
summary: 'Cria uma compra'
operationId: criaUmaCompra
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
backoffice_code: '1420268907949'
user_id: 563
customer_id: 513
placed_at: '2026-10-02T20:24:12.818282Z'
name: 'Ana Leon Santiago Jr.'
total_cost: 194.71
total_estimated_cost_postpaid_customer: 1.5
type: Mixed
shipping_address_zip_code: '16613719'
shipping_address_neighborhood: Centro
shipping_address_public_place: 'Largo Emilly Duarte'
shipping_address_number: '35528'
shipping_address_city: "Pena d'Oeste"
shipping_address_uf: RO
shipping_address_complement: 'Apto 12'
shipping_address_is_international: true
shipping_address_country: exemplo
imported_at: '2026-10-02T20:24:12.819573Z'
recurrence_id: 39
automatic_generated_from_id: 683
created_at: '2026-10-02T20:24:12.819676Z'
updated_at: '2026-10-02T20:24:12.819717Z'
quoted_cost_postpaid_customer: '484.93'
quoted_rejected_reason: 'Ut eos quidem fugiat qui rerum.'
quote_appraiser_id: 884
status: creating
backoffice_hash: exemplo
created_using_spreadsheet: 1
finished_at: '2026-10-02T20:24:12.819963Z'
properties:
id:
type: integer
example: 1
backoffice_code:
type: string
example: '1420268907949'
user_id:
type: integer
example: 563
customer_id:
type: integer
example: 513
placed_at:
type: string
example: '2026-10-02T20:24:12.818282Z'
name:
type: string
example: 'Ana Leon Santiago Jr.'
total_cost:
type: number
example: 194.71
total_estimated_cost_postpaid_customer:
type: number
example: 1.5
type:
type: string
example: Mixed
shipping_address_zip_code:
type: string
example: '16613719'
shipping_address_neighborhood:
type: string
example: Centro
shipping_address_public_place:
type: string
example: 'Largo Emilly Duarte'
shipping_address_number:
type: string
example: '35528'
shipping_address_city:
type: string
example: "Pena d'Oeste"
shipping_address_uf:
type: string
example: RO
shipping_address_complement:
type: string
example: 'Apto 12'
shipping_address_is_international:
type: boolean
example: true
shipping_address_country:
type: string
example: exemplo
imported_at:
type: string
example: '2026-10-02T20:24:12.819573Z'
recurrence_id:
type: integer
example: 39
automatic_generated_from_id:
type: integer
example: 683
created_at:
type: string
example: '2026-10-02T20:24:12.819676Z'
updated_at:
type: string
example: '2026-10-02T20:24:12.819717Z'
quoted_cost_postpaid_customer:
type: string
example: '484.93'
quoted_rejected_reason:
type: string
example: 'Ut eos quidem fugiat qui rerum.'
quote_appraiser_id:
type: integer
example: 884
status:
type: string
example: creating
backoffice_hash:
type: string
example: exemplo
created_using_spreadsheet:
type: integer
example: 1
finished_at:
type: string
example: '2026-10-02T20:24:12.819963Z'
tags:
- Compras
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Não pode ser superior a 120 caracteres.'
example: 'Robson Vicente Teles'
shipping_address_zip_code:
type: string
description: ' Deve ser 8 caracteres. Obrigatório quando algumas das orders tiver o formato papel ou combo'
example: '87130239'
nullable: true
shipping_address_number:
type: string
description: ' Não pode ser superior a 8 caracteres. Obrigatório quando algumas das orders tiver o formato papel ou combo'
example: '18631'
nullable: true
shipping_address_neighborhood:
type: string
description: ' Não pode ser superior a 80 caracteres. Obrigatório quando algumas das orders tiver o formato papel ou combo'
example: Centro
nullable: true
shipping_address_public_place:
type: string
description: ' Não pode ser superior a 120 caracteres. Obrigatório quando algumas das orders tiver o formato papel ou combo'
example: 'Av. Cervantes'
nullable: true
shipping_address_city:
type: string
description: ' Não pode ser superior a 120 caracteres. Obrigatório quando algumas das orders tiver o formato papel ou combo'
example: 'Marés do Norte'
nullable: true
shipping_address_uf:
type: string
description: ' Não pode ser superior a 2 caracteres. Obrigatório quando algumas das orders tiver o formato papel ou combo'
example: RR
nullable: true
shipping_address_complement:
type: string
description: ' Não pode ser superior a 60 caracteres. Obrigatório quando algumas das orders tiver o formato papel ou combo'
example: 'Apto 12'
nullable: true
post_payment:
type: boolean
description: " Indica se o pagamento será realizado depois (Boleto/Pix/Cartão de crédito). O pedido entra no status aguardando pagamento caso esse campo seja true.\n Se o pagamento for através de créditos ou por contrato, enviar false."
example: true
post_payment_method:
type: string
description: 'This field is required when post_payment is true.'
example: credit-card
enum:
- credit-card
- bank-slip
- pix
nullable: true
groups_ids:
type: array
description: 'Os ids dos grupos que serão relacionados aos itens da compra. Consulte em link'
example:
- 545
- 759
items:
type: integer
orders:
type: array
description: 'Deve ter pelo menos 1 item.'
example:
- []
items:
type: object
properties:
name:
type: string
description: 'Não pode ser superior a 120 caracteres.'
example: 'Milena Marques Neto'
service_id:
type: integer
description: 'O ID do serviço. Consulte em link'
example: 250
nullable: true
service_code:
type: string
description: 'This field is required when orders.*.service_id is not present. Must match an existing stored value. O código do serviço. Consulte em link'
example: nf-9756
nullable: true
auto_purchase_certificate_from_result_negative:
type: boolean
description: ''
example: true
auto_purchase_certificate_from_result_positive:
type: boolean
description: ''
example: true
detailed_service_data:
type: object
description: ' Os dados específicos do serviço vão dentro deste objeto. Consulte em link'
example: []
properties: {}
custom_fields:
type: object
description: ' Os Campos personalizados da sua conta vão aqui. Consulte em link'
example: []
properties: {}
nullable: true
required:
- name
- detailed_service_data
shopping_cart_id:
type: string
description: " Cada compra processada gerada um hash a partir dos dados da requisição. É feita uma validação para que não existam duas compras iguais, para evitar duplicação.\n Caso você deseje criar duas compras com os mesmos dados, é possível enviando valores diferentes nesse campo para cada chamada."
example: caf25e368b64bafaf18eca52cea4f67e9f72a828dfc474e8d4b386aabcf945ef
nullable: true
required:
- name
- post_payment
- groups_ids
- orders
get:
summary: 'Listar as compras'
operationId: listarAsCompras
description: 'O retorno é paginado'
parameters:
-
in: query
name: page
description: 'a página desejada'
example: 1
required: false
schema:
type: integer
description: 'a página desejada'
example: 1
-
in: query
name: per-page
description: 'quantidade de registros por página (padrão é 20, máx 30)'
example: 10
required: false
schema:
type: integer
description: 'quantidade de registros por página (padrão é 20, máx 30)'
example: 10
-
in: query
name: include
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: orders, orders_count, ordersExists, orders.ocr, orders.groups, orders.service, first_order, first_order_count, first_orderExists, first_order.service, waiting_invoice_payment, waiting_invoice_payment_count, waiting_invoice_paymentExists, user, user_count, userExists, customer, customer_count, customerExists, quote_appraiser, quote_appraiser_count, quote_appraiserExists, recurrence, recurrence_count, recurrenceExists"
example: null
required: false
schema:
type: string
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: orders, orders_count, ordersExists, orders.ocr, orders.groups, orders.service, first_order, first_order_count, first_orderExists, first_order.service, waiting_invoice_payment, waiting_invoice_payment_count, waiting_invoice_paymentExists, user, user_count, userExists, customer, customer_count, customerExists, quote_appraiser, quote_appraiser_count, quote_appraiserExists, recurrence, recurrence_count, recurrenceExists"
example: null
-
in: query
name: append
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: orders.ai_service_name, orders_status_count, downloadable_orders_ids, orders_count, orders_expired_count, orders_status_count, last_status_change_at, has_ai_extracted_data, has_ai_analysis_pending, orders.has_ai_extracted_data, orders.has_ai_analysis_pending, originated_from_orders, first_order.ai_service_name, orders.has_ai_extracted_data, orders.has_ai_analysis_pending, downloaded_orders_ids, downloadable_orders_ids_not_downloaded"
example: null
required: false
schema:
type: string
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: orders.ai_service_name, orders_status_count, downloadable_orders_ids, orders_count, orders_expired_count, orders_status_count, last_status_change_at, has_ai_extracted_data, has_ai_analysis_pending, orders.has_ai_extracted_data, orders.has_ai_analysis_pending, originated_from_orders, first_order.ai_service_name, orders.has_ai_extracted_data, orders.has_ai_analysis_pending, downloaded_orders_ids, downloadable_orders_ids_not_downloaded"
example: null
-
in: query
name: sort
description: "Campos disponíveis para ordenação. Para ordenar decrescentemente use o sinal de - antes do nome do campo Ex: -nome_campo. \n Múltiplos devem ser separadas com vírgula. Disponíveis: id, name, placed_at, type, finished_at"
example: null
required: false
schema:
type: string
description: "Campos disponíveis para ordenação. Para ordenar decrescentemente use o sinal de - antes do nome do campo Ex: -nome_campo. \n Múltiplos devem ser separadas com vírgula. Disponíveis: id, name, placed_at, type, finished_at"
example: null
-
in: query
name: filter
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: name_or_id_or_register, placed_between, status, orders.service_id, orders.group_id, user_id, recurrence_id, ai, automatic_generated, recurrence_generated"
example: null
required: false
schema:
type: 'string[]'
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: name_or_id_or_register, placed_between, status, orders.service_id, orders.group_id, user_id, recurrence_id, ai, automatic_generated, recurrence_generated"
example: null
responses: {}
tags:
- Compras
'/purchases/{purchase_id}/orders':
post:
summary: 'Cria um novo item dentro de uma compra existente'
operationId: criaUmNovoItemDentroDeUmaCompraExistente
description: 'Disponível apenas para clientes pós pagos'
parameters: []
responses: {}
tags:
- Compras
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
groups_ids:
type: array
description: 'Os ids dos grupos que serão relacionados aos itens da compra. Consulte em link'
example:
- 774
- 508
items:
type: integer
orders:
type: array
description: 'Deve ter pelo menos 1 item.'
example:
- []
items:
type: object
properties:
name:
type: string
description: 'Não pode ser superior a 120 caracteres.'
example: 'Regiane Andréia Ortega Filho'
service_id:
type: integer
description: 'O ID do serviço. Consulte em link'
example: 842
nullable: true
service_code:
type: string
description: 'This field is required when orders.*.service_id is not present. Must match an existing stored value. O código do serviço. Consulte em link'
example: pv-4443
nullable: true
auto_purchase_certificate_from_result_negative:
type: boolean
description: ''
example: true
auto_purchase_certificate_from_result_positive:
type: boolean
description: ''
example: true
detailed_service_data:
type: object
description: ' Os dados específicos do serviço vão dentro deste objeto. Consulte em link'
example: []
properties: {}
custom_fields:
type: object
description: ' Os Campos personalizados da sua conta vão aqui. Consulte em link'
example: []
properties: {}
nullable: true
required:
- name
- detailed_service_data
shopping_cart_id:
type: string
description: " Cada compra processada gerada um hash a partir dos dados da requisição. É feita uma validação para que não existam duas compras iguais, para evitar duplicação.\n Caso você deseje criar duas compras com os mesmos dados, é possível enviando valores diferentes nesse campo para cada chamada."
example: bdb6fc9f12fb9ed44d6ce25d6847d6d1dba27a08070bde302d712f2293edd1be
nullable: true
required:
- groups_ids
- orders
parameters:
-
in: path
name: purchase_id
description: 'The ID of the purchase.'
example: 10
required: true
schema:
type: integer
'/purchases/{id}':
get:
summary: 'Visualizar uma compra'
operationId: visualizarUmaCompra
description: ''
parameters:
-
in: query
name: include
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: orders, orders_count, ordersExists, orders.ocr, orders.groups, orders.service, first_order, first_order_count, first_orderExists, first_order.service, waiting_invoice_payment, waiting_invoice_payment_count, waiting_invoice_paymentExists, user, user_count, userExists, customer, customer_count, customerExists, quote_appraiser, quote_appraiser_count, quote_appraiserExists, recurrence, recurrence_count, recurrenceExists"
example: null
required: false
schema:
type: string
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: orders, orders_count, ordersExists, orders.ocr, orders.groups, orders.service, first_order, first_order_count, first_orderExists, first_order.service, waiting_invoice_payment, waiting_invoice_payment_count, waiting_invoice_paymentExists, user, user_count, userExists, customer, customer_count, customerExists, quote_appraiser, quote_appraiser_count, quote_appraiserExists, recurrence, recurrence_count, recurrenceExists"
example: null
-
in: query
name: append
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: orders.ai_service_name, orders_status_count, downloadable_orders_ids, orders_count, orders_expired_count, orders_status_count, last_status_change_at, has_ai_extracted_data, has_ai_analysis_pending, orders.has_ai_extracted_data, orders.has_ai_analysis_pending, originated_from_orders, first_order.ai_service_name, orders.has_ai_extracted_data, orders.has_ai_analysis_pending, downloaded_orders_ids, downloadable_orders_ids_not_downloaded"
example: null
required: false
schema:
type: string
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: orders.ai_service_name, orders_status_count, downloadable_orders_ids, orders_count, orders_expired_count, orders_status_count, last_status_change_at, has_ai_extracted_data, has_ai_analysis_pending, orders.has_ai_extracted_data, orders.has_ai_analysis_pending, originated_from_orders, first_order.ai_service_name, orders.has_ai_extracted_data, orders.has_ai_analysis_pending, downloaded_orders_ids, downloadable_orders_ids_not_downloaded"
example: null
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
backoffice_code: '1420268168168'
user_id: 835
customer_id: 44
placed_at: '2026-10-02T20:24:12.876729Z'
name: 'Matheus Paz Jr.'
total_cost: 97.09
total_estimated_cost_postpaid_customer: 1.5
type: Mixed
shipping_address_zip_code: '71316327'
shipping_address_neighborhood: Centro
shipping_address_public_place: 'Rua Joaquim'
shipping_address_number: '9531'
shipping_address_city: 'Porto Sheila do Leste'
shipping_address_uf: MS
shipping_address_complement: 'Apto 12'
shipping_address_is_international: true
shipping_address_country: exemplo
imported_at: '2026-10-02T20:24:12.878335Z'
recurrence_id: 879
automatic_generated_from_id: 635
created_at: '2026-10-02T20:24:12.878519Z'
updated_at: '2026-10-02T20:24:12.878605Z'
quoted_cost_postpaid_customer: '228.66'
quoted_rejected_reason: 'Est reprehenderit delectus vero quos.'
quote_appraiser_id: 383
status: creating
backoffice_hash: exemplo
created_using_spreadsheet: 1
finished_at: '2026-10-02T20:24:12.878978Z'
properties:
id:
type: integer
example: 1
backoffice_code:
type: string
example: '1420268168168'
user_id:
type: integer
example: 835
customer_id:
type: integer
example: 44
placed_at:
type: string
example: '2026-10-02T20:24:12.876729Z'
name:
type: string
example: 'Matheus Paz Jr.'
total_cost:
type: number
example: 97.09
total_estimated_cost_postpaid_customer:
type: number
example: 1.5
type:
type: string
example: Mixed
shipping_address_zip_code:
type: string
example: '71316327'
shipping_address_neighborhood:
type: string
example: Centro
shipping_address_public_place:
type: string
example: 'Rua Joaquim'
shipping_address_number:
type: string
example: '9531'
shipping_address_city:
type: string
example: 'Porto Sheila do Leste'
shipping_address_uf:
type: string
example: MS
shipping_address_complement:
type: string
example: 'Apto 12'
shipping_address_is_international:
type: boolean
example: true
shipping_address_country:
type: string
example: exemplo
imported_at:
type: string
example: '2026-10-02T20:24:12.878335Z'
recurrence_id:
type: integer
example: 879
automatic_generated_from_id:
type: integer
example: 635
created_at:
type: string
example: '2026-10-02T20:24:12.878519Z'
updated_at:
type: string
example: '2026-10-02T20:24:12.878605Z'
quoted_cost_postpaid_customer:
type: string
example: '228.66'
quoted_rejected_reason:
type: string
example: 'Est reprehenderit delectus vero quos.'
quote_appraiser_id:
type: integer
example: 383
status:
type: string
example: creating
backoffice_hash:
type: string
example: exemplo
created_using_spreadsheet:
type: integer
example: 1
finished_at:
type: string
example: '2026-10-02T20:24:12.878978Z'
tags:
- Compras
parameters:
-
in: path
name: id
description: 'The ID of the purchase.'
example: 0-9
required: true
schema:
type: integer
'/purchases/{purchase_id}/name':
patch:
summary: 'Renomear uma compra'
operationId: renomearUmaCompra
description: ''
parameters: []
responses: {}
tags:
- Compras
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Não pode ser superior a 120 caracteres.'
example: 'Samuel Jerônimo Roque'
required:
- name
parameters:
-
in: path
name: purchase_id
description: 'The ID of the purchase.'
example: 10
required: true
schema:
type: integer
'/purchases/{purchase_id}/quote/{quoteStatus}':
put:
summary: 'Aprova/rejeita um orçamento de compra'
operationId: aprovarejeitaUmOramentoDeCompra
description: 'Disponível apenas para clientes pós pagos'
parameters: []
responses: {}
tags:
- Compras
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
quoted_rejected_reason:
type: string
description: 'Este campo é obrigatório quando quote_status for reject. Não pode ser superior a 120 caracteres.'
example: 'Non iusto ducimus nisi accusantium quia fuga.'
nullable: true
parameters:
-
in: path
name: purchase_id
description: 'The ID of the purchase.'
example: 10
required: true
schema:
type: integer
-
in: path
name: quoteStatus
description: 'Must be one of:
approverejectxlsx.'
required: true
schema:
type: string
examples:
omitted:
summary: 'When the value is omitted'
value: ''
/purchases/prices-shipping-info:
put:
summary: 'Calcula o preço e prazo de entrega da compra'
operationId: calculaOPreoEPrazoDeEntregaDaCompra
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
purchase: []
items: []
properties:
purchase:
type: array
example: []
items:
type: array
example: []
tags:
- Compras
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
orders:
type: array
description: 'Deve ter pelo menos 1 item.'
example:
- []
items:
type: object
properties:
service_id:
type: integer
description: 'Must match an existing stored value.'
example: 533
detailed_service_data:
type: string
description: ''
example: []
required:
- service_id
- detailed_service_data
required:
- orders
/automations/automatic-purchases:
put:
summary: 'Definir compra automática de certidões a partir de resultado de pesquisa'
operationId: definirCompraAutomticaDeCertidesAPartirDeResultadoDePesquisa
description: ''
parameters: []
responses: {}
tags:
- 'Configurações de documentos'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
services:
type: object
description: 'Deve ter pelo menos 0 itens.'
example: []
properties: {}
/automations/automatic-ai-analysis:
put:
summary: 'Definir compra automática de certidões a partir de resultado de pesquisa'
operationId: definirCompraAutomticaDeCertidesAPartirDeResultadoDePesquisa
description: ''
parameters: []
responses: {}
tags:
- 'Configurações de documentos'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
automatic_analysis_enabled:
type: array
description: ''
example:
- []
items:
type: object
properties:
service_id:
type: integer
description: 'Deve corresponder a um valor já cadastrado.'
example: 33
ai_model_id:
type: integer
description: ''
example: 673
required:
- service_id
- ai_model_id
/automations/automatic-orders-summary:
put:
summary: 'Definir geração automática da ficha do pedido'
operationId: definirGeraoAutomticaDaFichaDoPedido
description: ''
parameters: []
responses: {}
tags:
- 'Configurações de documentos'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
services_ids_automatic_order_summary:
type: array
description: 'Deve corresponder a um valor já cadastrado.'
example:
- 1
items:
type: integer
required:
- services_ids_automatic_order_summary
/automations/automatic-purchases-from-ai-analysis:
put:
summary: 'Definir compra automática de certidões a partir de dados extraídos com IA'
operationId: definirCompraAutomticaDeCertidesAPartirDeDadosExtradosComIA
description: ''
parameters: []
responses: {}
tags:
- 'Configurações de documentos'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
automatic_purchase_from_ai_analysis_enabled:
type: array
description: 'Deve corresponder a um valor já cadastrado.'
example:
- 1
items:
type: integer
required:
- automatic_purchase_from_ai_analysis_enabled
/customer-service-expirations:
get:
summary: 'Listar os Prazos de vencimento de documento'
operationId: listarOsPrazosDeVencimentoDeDocumento
description: 'O retorno é paginado'
parameters:
-
in: query
name: page
description: 'a página desejada'
example: 1
required: false
schema:
type: integer
description: 'a página desejada'
example: 1
-
in: query
name: per-page
description: 'quantidade de registros por página (padrão é 20, máx 30)'
example: 10
required: false
schema:
type: integer
description: 'quantidade de registros por página (padrão é 20, máx 30)'
example: 10
-
in: query
name: include
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: customer, customer_count, customerExists, service, service_count, serviceExists"
example: null
required: false
schema:
type: string
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: customer, customer_count, customerExists, service, service_count, serviceExists"
example: null
-
in: query
name: filter
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: service_id"
example: null
required: false
schema:
type: 'string[]'
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: service_id"
example: null
responses: {}
tags:
- 'Configurações de documentos'
post:
summary: 'Criar um modelo de prazo de vencimento de documento'
operationId: criarUmModeloDePrazoDeVencimentoDeDocumento
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
user_id: 150
customer_id: 367
service_id: 669
expiration_days: 1
created_at: '2026-10-02T20:24:11.806014Z'
updated_at: '2026-10-02T20:24:11.806216Z'
properties:
id:
type: integer
example: 1
user_id:
type: integer
example: 150
customer_id:
type: integer
example: 367
service_id:
type: integer
example: 669
expiration_days:
type: integer
example: 1
created_at:
type: string
example: '2026-10-02T20:24:11.806014Z'
updated_at:
type: string
example: '2026-10-02T20:24:11.806216Z'
tags:
- 'Configurações de documentos'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
service_id:
type: integer
description: 'Deve corresponder a um valor já cadastrado.'
example: 939
expiration_days:
type: integer
description: 'Deve ser pelo menos 1.'
example: 1
required:
- service_id
- expiration_days
'/customer-service-expirations/{customerServiceExpiration_id}':
put:
summary: 'Alterar um modelo de prazo de vencimento de documento'
operationId: alterarUmModeloDePrazoDeVencimentoDeDocumento
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
user_id: 749
customer_id: 530
service_id: 354
expiration_days: 1
created_at: '2026-10-02T20:24:11.824982Z'
updated_at: '2026-10-02T20:24:11.825284Z'
properties:
id:
type: integer
example: 1
user_id:
type: integer
example: 749
customer_id:
type: integer
example: 530
service_id:
type: integer
example: 354
expiration_days:
type: integer
example: 1
created_at:
type: string
example: '2026-10-02T20:24:11.824982Z'
updated_at:
type: string
example: '2026-10-02T20:24:11.825284Z'
tags:
- 'Configurações de documentos'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
service_id:
type: integer
description: 'Deve corresponder a um valor já cadastrado.'
example: 579
expiration_days:
type: integer
description: 'Deve ser pelo menos 1.'
example: 1
required:
- service_id
- expiration_days
delete:
summary: 'Excluir um modelo de prazo de vencimento de documento'
operationId: excluirUmModeloDePrazoDeVencimentoDeDocumento
description: ''
parameters: []
responses: {}
tags:
- 'Configurações de documentos'
parameters:
-
in: path
name: customerServiceExpiration_id
description: 'The ID of the customerServiceExpiration.'
example: 10
required: true
schema:
type: integer
/customer-service-similarity-window:
get:
summary: 'Listar as janelas de similaridade de documento'
operationId: listarAsJanelasDeSimilaridadeDeDocumento
description: 'O retorno é paginado'
parameters:
-
in: query
name: page
description: 'a página desejada'
example: 1
required: false
schema:
type: integer
description: 'a página desejada'
example: 1
-
in: query
name: per-page
description: 'quantidade de registros por página (padrão é 20, máx 30)'
example: 10
required: false
schema:
type: integer
description: 'quantidade de registros por página (padrão é 20, máx 30)'
example: 10
-
in: query
name: include
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: customer, customer_count, customerExists, service, service_count, serviceExists"
example: null
required: false
schema:
type: string
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: customer, customer_count, customerExists, service, service_count, serviceExists"
example: null
-
in: query
name: filter
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: service_id"
example: null
required: false
schema:
type: 'string[]'
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: service_id"
example: null
responses: {}
tags:
- 'Configurações de documentos'
post:
summary: "Quando um novo pedido está sendo criado pela interface o sistema consulta se existe um pedido similar já existente, se existir,\nconfirma com o usuário se ele quer prosseguir com a compra. Essa consulta busca em toda a história de pedidos da conta."
operationId: quandoUmNovoPedidoEstSendoCriadoPelaInterfaceOSistemaConsultaSeExisteUmPedidoSimilarJExistenteSeExistirConfirmaComOUsurioSeEleQuerProsseguirComACompraEssaConsultaBuscaEmTodaAHistriaDePedidosDaConta
description: "Esse endpoint permite limitar a busca a um período de dias, últimos 60 dias, por exemplo, por serviço.\nVocê pode configurar que para certidão de nascimento busque as similares apenas nos últimos 30 dias, ao invés do período completo.\n\nO endpoint de consulta de similares está disponível para consulta aqui no link"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
user_id: 654
customer_id: 796
service_id: 260
window_days: 1
created_at: '2026-10-02T20:24:11.853710Z'
updated_at: '2026-10-02T20:24:11.853901Z'
properties:
id:
type: integer
example: 1
user_id:
type: integer
example: 654
customer_id:
type: integer
example: 796
service_id:
type: integer
example: 260
window_days:
type: integer
example: 1
created_at:
type: string
example: '2026-10-02T20:24:11.853710Z'
updated_at:
type: string
example: '2026-10-02T20:24:11.853901Z'
tags:
- 'Configurações de documentos'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
service_id:
type: integer
description: 'Deve corresponder a um valor já cadastrado.'
example: 86
window_days:
type: integer
description: 'Deve ser pelo menos 1.'
example: 1
required:
- service_id
- window_days
'/customer-service-similarity-window/{customerServiceSimilarityWindow_id}':
put:
summary: 'Alterar um modelo de janela de similaridade de documento'
operationId: alterarUmModeloDeJanelaDeSimilaridadeDeDocumento
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
user_id: 277
customer_id: 894
service_id: 819
window_days: 1
created_at: '2026-10-02T20:24:11.877010Z'
updated_at: '2026-10-02T20:24:11.877203Z'
properties:
id:
type: integer
example: 1
user_id:
type: integer
example: 277
customer_id:
type: integer
example: 894
service_id:
type: integer
example: 819
window_days:
type: integer
example: 1
created_at:
type: string
example: '2026-10-02T20:24:11.877010Z'
updated_at:
type: string
example: '2026-10-02T20:24:11.877203Z'
tags:
- 'Configurações de documentos'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
window_days:
type: integer
description: 'Deve ser pelo menos 1.'
example: 1
required:
- window_days
delete:
summary: 'Excluir um modelo de janela de similaridade de documento'
operationId: excluirUmModeloDeJanelaDeSimilaridadeDeDocumento
description: ''
parameters: []
responses: {}
tags:
- 'Configurações de documentos'
parameters:
-
in: path
name: customerServiceSimilarityWindow_id
description: 'The ID of the customerServiceSimilarityWindow.'
example: 10
required: true
schema:
type: integer
/contacts/help:
post:
summary: 'Envia um email, para o suporte, com solicitação de ajuda'
operationId: enviaUmEmailParaOSuporteComSolicitaoDeAjuda
description: ''
parameters: []
responses: {}
tags:
- Contato
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
subject:
type: string
description: 'Não pode ser superior a 900 caracteres.'
example: 'Sapiente suscipit illo.'
body:
type: string
description: 'Não pode ser superior a 10000 caracteres.'
example: 'Magni non aut corporis culpa inventore maxime debitis.'
required:
- subject
- body
/dossiers:
get:
summary: 'Listar dossiês'
operationId: listarDossis
description: ''
parameters:
-
in: query
name: filter
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: name_or_person_document, status, expired"
example: null
required: false
schema:
type: 'string[]'
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: name_or_person_document, status, expired"
example: null
responses: {}
tags:
- Dossiês
/dossiers/never-ordered:
get:
summary: 'Listar pessoas/empresas para as quais nunca foi feito um dossiê'
operationId: listarPessoasempresasParaAsQuaisNuncaFoiFeitoUmDossi
description: ''
parameters:
-
in: query
name: filter
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: person_document"
example: null
required: false
schema:
type: 'string[]'
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: person_document"
example: null
responses: {}
tags:
- Dossiês
'/invoices/{id}':
get:
summary: 'Visualizar uma fatura pelo ID'
operationId: visualizarUmaFaturaPeloID
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
customer_id: 674
user_id: 825
order_id: 211
operation: C
approved_at: '2026-10-02T20:24:12.374682Z'
amount: 1.5
payment_method: credit-card
backoffice_id: 1554314
bank_slip_url: 'http://www.molina.com/id-nihil-reiciendis-ipsa-similique-cupiditate.html'
bank_slip_barcode: exemplo
bonus_amount: 1.5
send_email_after_approved: true
purchase_id: 698
type: refund
backoffice_reason: 'Voluptas sequi provident ut quia et eveniet illum.'
pix_qr_code: qq-5580
pix_hash: exemplo
created_at: '2026-10-02T20:24:12.376065Z'
updated_at: '2026-10-02T20:24:12.376174Z'
properties:
id:
type: integer
example: 1
customer_id:
type: integer
example: 674
user_id:
type: integer
example: 825
order_id:
type: integer
example: 211
operation:
type: string
example: C
approved_at:
type: string
example: '2026-10-02T20:24:12.374682Z'
amount:
type: number
example: 1.5
payment_method:
type: string
example: credit-card
backoffice_id:
type: integer
example: 1554314
bank_slip_url:
type: string
example: 'http://www.molina.com/id-nihil-reiciendis-ipsa-similique-cupiditate.html'
bank_slip_barcode:
type: string
example: exemplo
bonus_amount:
type: number
example: 1.5
send_email_after_approved:
type: boolean
example: true
purchase_id:
type: integer
example: 698
type:
type: string
example: refund
backoffice_reason:
type: string
example: 'Voluptas sequi provident ut quia et eveniet illum.'
pix_qr_code:
type: string
example: qq-5580
pix_hash:
type: string
example: exemplo
created_at:
type: string
example: '2026-10-02T20:24:12.376065Z'
updated_at:
type: string
example: '2026-10-02T20:24:12.376174Z'
tags:
- 'Faturas (Pré pago)'
parameters:
-
in: path
name: id
description: 'The ID of the invoice.'
example: 0-9
required: true
schema:
type: string
'/invoices/by-period/{year}/{month}':
get:
summary: 'Listar as faturas da conta'
operationId: listarAsFaturasDaConta
description: 'O retorno é paginado por padrão'
parameters:
-
in: query
name: page
description: 'a página desejada'
example: 1
required: false
schema:
type: integer
description: 'a página desejada'
example: 1
-
in: query
name: per-page
description: 'quantidade de registros por página (padrão é 20, máx 30)'
example: 10
required: false
schema:
type: integer
description: 'quantidade de registros por página (padrão é 20, máx 30)'
example: 10
-
in: query
name: include
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: purchase, purchase_count, purchaseExists, purchase.orders, user, user_count, userExists"
example: null
required: false
schema:
type: string
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: purchase, purchase_count, purchaseExists, purchase.orders, user, user_count, userExists"
example: null
-
in: query
name: sort
description: "Campos disponíveis para ordenação. Para ordenar decrescentemente use o sinal de - antes do nome do campo Ex: -nome_campo. \n Múltiplos devem ser separadas com vírgula. Disponíveis: purchase.name, operation, amount, purchase.backoffice_code, user.name"
example: null
required: false
schema:
type: string
description: "Campos disponíveis para ordenação. Para ordenar decrescentemente use o sinal de - antes do nome do campo Ex: -nome_campo. \n Múltiplos devem ser separadas com vírgula. Disponíveis: purchase.name, operation, amount, purchase.backoffice_code, user.name"
example: null
-
in: query
name: filter
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: operation, purchase_name_or_id, ids"
example: null
required: false
schema:
type: 'string[]'
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: operation, purchase_name_or_id, ids"
example: null
responses: {}
tags:
- 'Faturas (Pré pago)'
parameters:
-
in: path
name: year
description: ''
example: 2023
required: true
schema:
type: integer
-
in: path
name: month
description: ''
example: 1
required: true
schema:
type: integer
'/invoices/by-period/{year}/{month}/stats':
get:
summary: 'Listar estatísticas das faturas'
operationId: listarEstatsticasDasFaturas
description: ''
parameters:
-
in: query
name: filter
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: approved_only"
example: null
required: false
schema:
type: 'string[]'
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: approved_only"
example: null
responses: {}
tags:
- 'Faturas (Pré pago)'
parameters:
-
in: path
name: year
description: ''
example: 2023
required: true
schema:
type: integer
-
in: path
name: month
description: ''
example: 1
required: true
schema:
type: integer
'/invoice-postpaids/{year}/{month}':
get:
summary: 'Listar as faturas da conta'
operationId: listarAsFaturasDaConta
description: 'O retorno é paginado'
parameters:
-
in: query
name: page
description: 'a página desejada'
example: 1
required: false
schema:
type: integer
description: 'a página desejada'
example: 1
-
in: query
name: per-page
description: 'quantidade de registros por página (padrão é 20, máx 30)'
example: 10
required: false
schema:
type: integer
description: 'quantidade de registros por página (padrão é 20, máx 30)'
example: 10
-
in: query
name: include
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: order, order_count, orderExists, order.user, customer, customer_count, customerExists"
example: null
required: false
schema:
type: string
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: order, order_count, orderExists, order.user, customer, customer_count, customerExists"
example: null
-
in: query
name: sort
description: "Campos disponíveis para ordenação. Para ordenar decrescentemente use o sinal de - antes do nome do campo Ex: -nome_campo. \n Múltiplos devem ser separadas com vírgula. Disponíveis: order.name, order.backoffice_code, fiscal_amount, debit_amount"
example: null
required: false
schema:
type: string
description: "Campos disponíveis para ordenação. Para ordenar decrescentemente use o sinal de - antes do nome do campo Ex: -nome_campo. \n Múltiplos devem ser separadas com vírgula. Disponíveis: order.name, order.backoffice_code, fiscal_amount, debit_amount"
example: null
-
in: query
name: filter
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: order_name_or_id, ids"
example: null
required: false
schema:
type: 'string[]'
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: order_name_or_id, ids"
example: null
responses: {}
tags:
- 'Faturas (Pós pago)'
parameters:
-
in: path
name: year
description: ''
example: 2023
required: true
schema:
type: integer
-
in: path
name: month
description: ''
example: 1
required: true
schema:
type: integer
'/invoice-postpaids/{year}/{month}/stats':
get:
summary: 'Listar estatísticas das faturas'
operationId: listarEstatsticasDasFaturas
description: ''
parameters: []
responses: {}
tags:
- 'Faturas (Pós pago)'
parameters:
-
in: path
name: year
description: ''
example: 2023
required: true
schema:
type: integer
-
in: path
name: month
description: ''
example: 1
required: true
schema:
type: integer
'/gestor/customers/{customer_backoffice_id}/backoffice-email':
patch:
summary: "Altera o email da conta (backoffice_email), sincronizando o email do primeiro usuário da conta\ne avisando o Backoffice externo."
operationId: alteraOEmailDaContabackofficeEmailSincronizandoOEmailDoPrimeiroUsurioDaContaEAvisandoOBackofficeExterno
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
name: 'Paulo Benites Aguiar'
corporate_name: 'Faro e Dominato Ltda.'
entity_type: PF
phone: '21938854846'
document_number: '04737011541'
address_zip_code: '13376627'
address_public_place: 'Rua Suelen'
address_number: '1'
address_complement: 'Apto 12'
address_neighborhood: Centro
address_city: 'Vila James do Norte'
address_uf: ES
backoffice_email: lmolina@example.org
sync_with_backoffice: true
postpaid: true
explorer_item_file_upload_enabled: true
ai_enrich_data_enabled: true
group_mandatory_on_purchase: true
demands_approval_purchases_over_value: 1.5
created_from_passport: true
generate_services_summary: true
show_shipping_info_on_orders: 1
credit_bonus_disabled: 1
control_downloaded_orders_by: user
plan: exemplo
plan_max_users: 1
plan_analytics_enabled_until: '2026-10-02'
plan_free_emoluments_orders_included: 1
plan_free_dossiers_orders_included: 1
plan_ai_extractions_included: 1
plan_ai_tokens_included: 1
plan_paid_until: '2026-10-02'
plan_changed_at: '2026-10-02'
created_at: '2026-10-02T20:24:12.209523Z'
updated_at: '2026-10-02T20:24:12.209622Z'
api_access_enabled: true
properties:
id:
type: integer
example: 1
name:
type: string
example: 'Paulo Benites Aguiar'
corporate_name:
type: string
example: 'Faro e Dominato Ltda.'
entity_type:
type: string
example: PF
phone:
type: string
example: '21938854846'
document_number:
type: string
example: '04737011541'
address_zip_code:
type: string
example: '13376627'
address_public_place:
type: string
example: 'Rua Suelen'
address_number:
type: string
example: '1'
address_complement:
type: string
example: 'Apto 12'
address_neighborhood:
type: string
example: Centro
address_city:
type: string
example: 'Vila James do Norte'
address_uf:
type: string
example: ES
backoffice_email:
type: string
example: lmolina@example.org
sync_with_backoffice:
type: boolean
example: true
postpaid:
type: boolean
example: true
explorer_item_file_upload_enabled:
type: boolean
example: true
ai_enrich_data_enabled:
type: boolean
example: true
group_mandatory_on_purchase:
type: boolean
example: true
demands_approval_purchases_over_value:
type: number
example: 1.5
created_from_passport:
type: boolean
example: true
generate_services_summary:
type: boolean
example: true
show_shipping_info_on_orders:
type: integer
example: 1
credit_bonus_disabled:
type: integer
example: 1
control_downloaded_orders_by:
type: string
example: user
plan:
type: string
example: exemplo
plan_max_users:
type: integer
example: 1
plan_analytics_enabled_until:
type: string
example: '2026-10-02'
plan_free_emoluments_orders_included:
type: integer
example: 1
plan_free_dossiers_orders_included:
type: integer
example: 1
plan_ai_extractions_included:
type: integer
example: 1
plan_ai_tokens_included:
type: integer
example: 1
plan_paid_until:
type: string
example: '2026-10-02'
plan_changed_at:
type: string
example: '2026-10-02'
created_at:
type: string
example: '2026-10-02T20:24:12.209523Z'
updated_at:
type: string
example: '2026-10-02T20:24:12.209622Z'
api_access_enabled:
type: boolean
example: true
tags:
- Gestor
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
account_email:
type: string
description: 'Deve ser um endereço de e-mail válido. Não pode ser superior a 120 caracteres.'
example: dacruz.theo@example.org
required:
- account_email
parameters:
-
in: path
name: customer_backoffice_id
description: 'The ID of the customer backoffice.'
example: 10
required: true
schema:
type: integer
'/gestor/users/{user_id}/password':
patch:
summary: 'Altera a senha de um usuário de cliente.'
operationId: alteraASenhaDeUmUsurioDeCliente
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
customer_id: 696
name: 'Sr. Alessandro Garcia Leon'
email: amanda17@example.org
email_verified_at: '2026-10-02T20:24:12.228876Z'
phone: '6325703268'
isolated_orders: true
last_login_at: '2026-10-02T20:24:12.229221Z'
created_at: '2026-10-02T20:24:12.229306Z'
updated_at: '2026-10-02T20:24:12.229360Z'
free_order_summary_remaining: 1
two_factor_confirmed_at: '2026-10-02T20:24:12.229412Z'
properties:
id:
type: integer
example: 1
customer_id:
type: integer
example: 696
name:
type: string
example: 'Sr. Alessandro Garcia Leon'
email:
type: string
example: amanda17@example.org
email_verified_at:
type: string
example: '2026-10-02T20:24:12.228876Z'
phone:
type: string
example: '6325703268'
isolated_orders:
type: boolean
example: true
last_login_at:
type: string
example: '2026-10-02T20:24:12.229221Z'
created_at:
type: string
example: '2026-10-02T20:24:12.229306Z'
updated_at:
type: string
example: '2026-10-02T20:24:12.229360Z'
free_order_summary_remaining:
type: integer
example: 1
two_factor_confirmed_at:
type: string
example: '2026-10-02T20:24:12.229412Z'
tags:
- Gestor
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
password:
type: string
description: 'Não pode ser superior a 255 caracteres.'
example: Senha@123
required:
- password
parameters:
-
in: path
name: user_id
description: 'The ID of the user.'
example: 10
required: true
schema:
type: integer
'/gestor/users/{user_id}/email':
patch:
summary: "Altera o email de um usuário de cliente. Se for o primeiro usuário da conta, sincroniza também\no email da conta (backoffice_email) e avisa o Backoffice externo."
operationId: alteraOEmailDeUmUsurioDeClienteSeForOPrimeiroUsurioDaContaSincronizaTambmOEmailDaContabackofficeEmailEAvisaOBackofficeExterno
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
customer_id: 520
name: 'João Gustavo Burgos Neto'
email: verdugo.josefina@example.org
email_verified_at: '2026-10-02T20:24:12.248444Z'
phone: '4320829354'
isolated_orders: true
last_login_at: '2026-10-02T20:24:12.248668Z'
created_at: '2026-10-02T20:24:12.248766Z'
updated_at: '2026-10-02T20:24:12.248851Z'
free_order_summary_remaining: 1
two_factor_confirmed_at: '2026-10-02T20:24:12.249001Z'
properties:
id:
type: integer
example: 1
customer_id:
type: integer
example: 520
name:
type: string
example: 'João Gustavo Burgos Neto'
email:
type: string
example: verdugo.josefina@example.org
email_verified_at:
type: string
example: '2026-10-02T20:24:12.248444Z'
phone:
type: string
example: '4320829354'
isolated_orders:
type: boolean
example: true
last_login_at:
type: string
example: '2026-10-02T20:24:12.248668Z'
created_at:
type: string
example: '2026-10-02T20:24:12.248766Z'
updated_at:
type: string
example: '2026-10-02T20:24:12.248851Z'
free_order_summary_remaining:
type: integer
example: 1
two_factor_confirmed_at:
type: string
example: '2026-10-02T20:24:12.249001Z'
tags:
- Gestor
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
description: 'Deve ser um endereço de e-mail válido. Não pode ser superior a 120 caracteres.'
example: qpontes@example.org
required:
- email
parameters:
-
in: path
name: user_id
description: 'The ID of the user.'
example: 10
required: true
schema:
type: integer
/groups:
get:
summary: 'Listar os grupos'
operationId: listarOsGrupos
description: 'O retorno é paginado'
parameters:
-
in: query
name: page
description: 'a página desejada'
example: 1
required: false
schema:
type: integer
description: 'a página desejada'
example: 1
-
in: query
name: per-page
description: 'quantidade de registros por página (padrão é 20, máx 30)'
example: 10
required: false
schema:
type: integer
description: 'quantidade de registros por página (padrão é 20, máx 30)'
example: 10
responses: {}
tags:
- Grupos
post:
summary: 'Criar um ou múltiplos grupos'
operationId: criarUmOuMltiplosGrupos
description: ''
parameters: []
responses: {}
tags:
- Grupos
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
groups:
type: object
description: 'Deve ter pelo menos 1 item.'
example: []
properties: {}
required:
- groups
'/groups/{group_id}':
put:
summary: 'Alterar um grupo'
operationId: alterarUmGrupo
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
customer_id: 936
name: 'Júlia Mendes Rezende'
color: exemplo
created_at: '2026-10-02T20:24:12.285322Z'
updated_at: '2026-10-02T20:24:12.285433Z'
properties:
id:
type: integer
example: 1
customer_id:
type: integer
example: 936
name:
type: string
example: 'Júlia Mendes Rezende'
color:
type: string
example: exemplo
created_at:
type: string
example: '2026-10-02T20:24:12.285322Z'
updated_at:
type: string
example: '2026-10-02T20:24:12.285433Z'
tags:
- Grupos
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Não pode ser superior a 60 caracteres.'
example: 'Dr. Isabella Silvana Dias'
required:
- name
delete:
summary: 'Excluir um grupo'
operationId: excluirUmGrupo
description: ''
parameters: []
responses: {}
tags:
- Grupos
parameters:
-
in: path
name: group_id
description: 'The ID of the group.'
example: 10
required: true
schema:
type: integer
/permission-groups:
get:
summary: 'Listar os grupos de permissões'
operationId: listarOsGruposDePermisses
description: ''
parameters:
-
in: query
name: include
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: permissions"
example: null
required: false
schema:
type: string
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: permissions"
example: null
-
in: query
name: sort
description: "Campos disponíveis para ordenação. Para ordenar decrescentemente use o sinal de - antes do nome do campo Ex: -nome_campo. \n Múltiplos devem ser separadas com vírgula. Disponíveis: name, order"
example: null
required: false
schema:
type: string
description: "Campos disponíveis para ordenação. Para ordenar decrescentemente use o sinal de - antes do nome do campo Ex: -nome_campo. \n Múltiplos devem ser separadas com vírgula. Disponíveis: name, order"
example: null
responses: {}
tags:
- 'Grupos de permissões'
/user-groups:
get:
summary: ''
operationId: getUserGroups
description: ''
parameters: []
responses: {}
tags:
- 'Grupos de usuários'
post:
summary: ''
operationId: postUserGroups
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
customer_id: 328
parent_id: 39
name: 'Augusto Roque Neto'
description: 'Qui molestiae fuga quo omnis.'
properties:
id:
type: integer
example: 1
customer_id:
type: integer
example: 328
parent_id:
type: integer
example: 39
name:
type: string
example: 'Augusto Roque Neto'
description:
type: string
example: 'Qui molestiae fuga quo omnis.'
tags:
- 'Grupos de usuários'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Não pode ser superior a 255 caracteres.'
example: 'Sra. Alana Beltrão Filho'
description:
type: string
description: 'Não pode ser superior a 255 caracteres.'
example: 'Numquam quod et nihil at ut iure in.'
nullable: true
parent_id:
type: integer
description: ''
example: 141
nullable: true
required:
- name
'/user-groups/{userGroup_id}/members':
get:
summary: ''
operationId: getUserGroupsUserGroup_idMembers
description: ''
parameters: []
responses: {}
tags:
- 'Grupos de usuários'
put:
summary: 'Substituir os membros de um grupo'
operationId: substituirOsMembrosDeUmGrupo
description: ''
parameters: []
responses: {}
tags:
- 'Grupos de usuários'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
users_ids:
type: array
description: ''
example:
- 776
- 807
items:
type: integer
required:
- users_ids
parameters:
-
in: path
name: userGroup_id
description: 'The ID of the userGroup.'
example: 10
required: true
schema:
type: integer
'/user-groups/{userGroup_id}':
put:
summary: ''
operationId: putUserGroupsUserGroup_id
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
customer_id: 849
parent_id: 439
name: 'Benício Leonardo Urias'
description: 'Modi nesciunt modi earum non quidem qui.'
properties:
id:
type: integer
example: 1
customer_id:
type: integer
example: 849
parent_id:
type: integer
example: 439
name:
type: string
example: 'Benício Leonardo Urias'
description:
type: string
example: 'Modi nesciunt modi earum non quidem qui.'
tags:
- 'Grupos de usuários'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Não pode ser superior a 255 caracteres.'
example: 'Murilo Saito Romero Neto'
description:
type: string
description: ''
example: 'Qui pariatur perferendis quis repellat et quaerat.'
nullable: true
parent_id:
type: integer
description: ''
example: 79
nullable: true
delete:
summary: ''
operationId: deleteUserGroupsUserGroup_id
description: ''
parameters: []
responses: {}
tags:
- 'Grupos de usuários'
parameters:
-
in: path
name: userGroup_id
description: 'The ID of the userGroup.'
example: 10
required: true
schema:
type: integer
'/user-groups/{userGroup_id}/members/{user_id}':
put:
summary: 'Adicionar um usuário a um grupo'
operationId: adicionarUmUsurioAUmGrupo
description: ''
parameters: []
responses: {}
tags:
- 'Grupos de usuários'
delete:
summary: 'Remover um usuário de um grupo'
operationId: removerUmUsurioDeUmGrupo
description: ''
parameters: []
responses: {}
tags:
- 'Grupos de usuários'
parameters:
-
in: path
name: userGroup_id
description: 'The ID of the userGroup.'
example: 10
required: true
schema:
type: integer
-
in: path
name: user_id
description: 'The ID of the user.'
example: 10
required: true
schema:
type: integer
/ai/models:
get:
summary: 'Listar os modelos de IA disponíveis para o cliente'
operationId: listarOsModelosDeIADisponveisParaOCliente
description: 'O retorno é paginado'
parameters:
-
in: query
name: page
description: 'a página desejada'
example: 1
required: false
schema:
type: integer
description: 'a página desejada'
example: 1
-
in: query
name: per-page
description: 'quantidade de registros por página (padrão é 20, máx 30)'
example: 10
required: false
schema:
type: integer
description: 'quantidade de registros por página (padrão é 20, máx 30)'
example: 10
-
in: query
name: include
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: service, service_count, serviceExists, customer, customer_count, customerExists"
example: null
required: false
schema:
type: string
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: service, service_count, serviceExists, customer, customer_count, customerExists"
example: null
-
in: query
name: append
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: questions, extracted_fields"
example: null
required: false
schema:
type: string
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: questions, extracted_fields"
example: null
-
in: query
name: sort
description: "Campos disponíveis para ordenação. Para ordenar decrescentemente use o sinal de - antes do nome do campo Ex: -nome_campo. \n Múltiplos devem ser separadas com vírgula. Disponíveis: id, name"
example: null
required: false
schema:
type: string
description: "Campos disponíveis para ordenação. Para ordenar decrescentemente use o sinal de - antes do nome do campo Ex: -nome_campo. \n Múltiplos devem ser separadas com vírgula. Disponíveis: id, name"
example: null
-
in: query
name: filter
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: name_or_id, visibility, service_id"
example: null
required: false
schema:
type: 'string[]'
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: name_or_id, visibility, service_id"
example: null
responses: {}
tags:
- IA
post:
summary: 'Criar um modelo personalizado de IA'
operationId: criarUmModeloPersonalizadoDeIA
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
service_id: 82
customer_id: 229
name: 'Sr. Luan Romero'
document_name: documento.pdf
created_at: '2026-10-02T20:24:11.488801Z'
updated_at: '2026-10-02T20:24:11.488912Z'
fixed_schema: true
hidden_schema: true
download_as_xml: true
allow_multiple_files_to_be_joined: true
example_html_content: exemplo
properties:
id:
type: integer
example: 1
service_id:
type: integer
example: 82
customer_id:
type: integer
example: 229
name:
type: string
example: 'Sr. Luan Romero'
document_name:
type: string
example: documento.pdf
created_at:
type: string
example: '2026-10-02T20:24:11.488801Z'
updated_at:
type: string
example: '2026-10-02T20:24:11.488912Z'
fixed_schema:
type: boolean
example: true
hidden_schema:
type: boolean
example: true
download_as_xml:
type: boolean
example: true
allow_multiple_files_to_be_joined:
type: boolean
example: true
example_html_content:
type: string
example: exemplo
tags:
- IA
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Não pode ser superior a 120 caracteres.'
example: 'Srta. Mary Salgado Dias Sobrinho'
document_name:
type: string
description: 'Este campo é obrigatório quando service_id for null. Não pode ser superior a 120 caracteres.'
example: documento.pdf
nullable: true
service_id:
type: integer
description: 'Deve corresponder a um valor já cadastrado.'
example: 280
nullable: true
allow_multiple_files_to_be_joined:
type: boolean
description: ''
example: true
questions:
type: array
description: 'Deve ter pelo menos 1 item.'
example:
- []
items:
type: object
properties:
question_to_send_to_ai:
type: string
description: ''
example: 'Qual é o status desse pedido?'
label_show_user:
type: string
description: 'Não pode ser superior a 60 caracteres.'
example: 'Meu label'
required:
- question_to_send_to_ai
- label_show_user
required:
- name
- allow_multiple_files_to_be_joined
'/ai/models/{id}':
get:
summary: 'Visualizar um modelo de IA'
operationId: visualizarUmModeloDeIA
description: ''
parameters:
-
in: query
name: include
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: service, service_count, serviceExists, customer, customer_count, customerExists"
example: null
required: false
schema:
type: string
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: service, service_count, serviceExists, customer, customer_count, customerExists"
example: null
-
in: query
name: append
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: questions"
example: null
required: false
schema:
type: string
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: questions"
example: null
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
service_id: 205
customer_id: 334
name: 'Maximiano Henrique Casanova'
document_name: documento.pdf
created_at: '2026-10-02T20:24:11.440929Z'
updated_at: '2026-10-02T20:24:11.441729Z'
fixed_schema: true
hidden_schema: true
download_as_xml: true
allow_multiple_files_to_be_joined: true
example_html_content: exemplo
properties:
id:
type: integer
example: 1
service_id:
type: integer
example: 205
customer_id:
type: integer
example: 334
name:
type: string
example: 'Maximiano Henrique Casanova'
document_name:
type: string
example: documento.pdf
created_at:
type: string
example: '2026-10-02T20:24:11.440929Z'
updated_at:
type: string
example: '2026-10-02T20:24:11.441729Z'
fixed_schema:
type: boolean
example: true
hidden_schema:
type: boolean
example: true
download_as_xml:
type: boolean
example: true
allow_multiple_files_to_be_joined:
type: boolean
example: true
example_html_content:
type: string
example: exemplo
tags:
- IA
parameters:
-
in: path
name: id
description: 'The ID of the model.'
example: 0-9
required: true
schema:
type: string
'/ai/models/{aiModel_id}':
put:
summary: 'Altera um modelo personalizado de IA'
operationId: alteraUmModeloPersonalizadoDeIA
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
service_id: 304
customer_id: 33
name: 'Everton Saraiva Bezerra'
document_name: documento.pdf
created_at: '2026-10-02T20:24:11.518533Z'
updated_at: '2026-10-02T20:24:11.518646Z'
fixed_schema: true
hidden_schema: true
download_as_xml: true
allow_multiple_files_to_be_joined: true
example_html_content: exemplo
properties:
id:
type: integer
example: 1
service_id:
type: integer
example: 304
customer_id:
type: integer
example: 33
name:
type: string
example: 'Everton Saraiva Bezerra'
document_name:
type: string
example: documento.pdf
created_at:
type: string
example: '2026-10-02T20:24:11.518533Z'
updated_at:
type: string
example: '2026-10-02T20:24:11.518646Z'
fixed_schema:
type: boolean
example: true
hidden_schema:
type: boolean
example: true
download_as_xml:
type: boolean
example: true
allow_multiple_files_to_be_joined:
type: boolean
example: true
example_html_content:
type: string
example: exemplo
tags:
- IA
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Não pode ser superior a 120 caracteres.'
example: 'Moisés Filipe Sepúlveda'
document_name:
type: string
description: 'Este campo é obrigatório quando service_id for null. Não pode ser superior a 120 caracteres.'
example: documento.pdf
nullable: true
service_id:
type: integer
description: 'Deve corresponder a um valor já cadastrado.'
example: 379
nullable: true
allow_multiple_files_to_be_joined:
type: boolean
description: ''
example: true
questions:
type: array
description: 'Deve ter pelo menos 1 item.'
example:
- []
items:
type: object
properties:
question_to_send_to_ai:
type: string
description: ''
example: 'Qual é o status desse pedido?'
label_show_user:
type: string
description: 'Não pode ser superior a 60 caracteres.'
example: 'Meu label'
required:
- question_to_send_to_ai
- label_show_user
required:
- name
- allow_multiple_files_to_be_joined
parameters:
-
in: path
name: aiModel_id
description: 'The ID of the aiModel.'
example: 10
required: true
schema:
type: integer
'/ai/models/{aiModels}':
delete:
summary: 'Excluir um modelo de IA'
operationId: excluirUmModeloDeIA
description: ''
parameters: []
responses: {}
tags:
- IA
parameters:
-
in: path
name: aiModels
description: ''
example: exemplo
required: true
schema:
type: string
'/ai/conversations/{aiConversation_id}':
get:
summary: 'Retorna os dados de uma conversa com a IA'
operationId: retornaOsDadosDeUmaConversaComAIA
description: ''
parameters:
-
in: query
name: include
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: first_message, first_message_count, first_messageExists, order, order_count, orderExists, messages_count"
example: null
required: false
schema:
type: string
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: first_message, first_message_count, first_messageExists, order, order_count, orderExists, messages_count"
example: null
-
in: query
name: append
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: files_count"
example: null
required: false
schema:
type: string
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: files_count"
example: null
-
in: query
name: filter
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: origin, order_id"
example: null
required: false
schema:
type: 'string[]'
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: origin, order_id"
example: null
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
name: 'Sr. Gian Guilherme Abreu Sobrinho'
user_id: 199
order_id: 775
origin: chatbot
finished_at: '2026-10-02T20:24:11.546522Z'
created_at: '2026-10-02T20:24:11.546661Z'
is_running: true
total_tokens: 1
deleted_at: '2026-10-02T20:24:11.546785Z'
properties:
id:
type: integer
example: 1
name:
type: string
example: 'Sr. Gian Guilherme Abreu Sobrinho'
user_id:
type: integer
example: 199
order_id:
type: integer
example: 775
origin:
type: string
example: chatbot
finished_at:
type: string
example: '2026-10-02T20:24:11.546522Z'
created_at:
type: string
example: '2026-10-02T20:24:11.546661Z'
is_running:
type: boolean
example: true
total_tokens:
type: integer
example: 1
deleted_at:
type: string
example: '2026-10-02T20:24:11.546785Z'
tags:
- IA
delete:
summary: 'Deletar uma conversa com a IA'
operationId: deletarUmaConversaComAIA
description: ''
parameters: []
responses: {}
tags:
- IA
parameters:
-
in: path
name: aiConversation_id
description: 'The ID of the aiConversation.'
example: 10
required: true
schema:
type: integer
/ai/conversations:
get:
summary: 'Listar as conversas de IA iniciadas pelo usuário'
operationId: listarAsConversasDeIAIniciadasPeloUsurio
description: 'O retorno é paginado'
parameters:
-
in: query
name: page
description: 'a página desejada'
example: 1
required: false
schema:
type: integer
description: 'a página desejada'
example: 1
-
in: query
name: per-page
description: 'quantidade de registros por página (padrão é 20, máx 30)'
example: 10
required: false
schema:
type: integer
description: 'quantidade de registros por página (padrão é 20, máx 30)'
example: 10
-
in: query
name: include
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: first_message, first_message_count, first_messageExists, order, order_count, orderExists, messages_count"
example: null
required: false
schema:
type: string
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: first_message, first_message_count, first_messageExists, order, order_count, orderExists, messages_count"
example: null
-
in: query
name: append
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: files_count"
example: null
required: false
schema:
type: string
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: files_count"
example: null
-
in: query
name: sort
description: "Campos disponíveis para ordenação. Para ordenar decrescentemente use o sinal de - antes do nome do campo Ex: -nome_campo. \n Múltiplos devem ser separadas com vírgula. Disponíveis: id, name, created_at"
example: null
required: false
schema:
type: string
description: "Campos disponíveis para ordenação. Para ordenar decrescentemente use o sinal de - antes do nome do campo Ex: -nome_campo. \n Múltiplos devem ser separadas com vírgula. Disponíveis: id, name, created_at"
example: null
-
in: query
name: filter
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: origin, order_id"
example: null
required: false
schema:
type: 'string[]'
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: origin, order_id"
example: null
responses: {}
tags:
- IA
post:
summary: 'Inicia uma nova conversa com a IA'
operationId: iniciaUmaNovaConversaComAIA
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
name: 'Dr. Caio Júlio Leon'
user_id: 730
order_id: 726
origin: chatbot
finished_at: '2026-10-02T20:24:11.576509Z'
created_at: '2026-10-02T20:24:11.576613Z'
is_running: true
total_tokens: 1
deleted_at: '2026-10-02T20:24:11.576681Z'
properties:
id:
type: integer
example: 1
name:
type: string
example: 'Dr. Caio Júlio Leon'
user_id:
type: integer
example: 730
order_id:
type: integer
example: 726
origin:
type: string
example: chatbot
finished_at:
type: string
example: '2026-10-02T20:24:11.576509Z'
created_at:
type: string
example: '2026-10-02T20:24:11.576613Z'
is_running:
type: boolean
example: true
total_tokens:
type: integer
example: 1
deleted_at:
type: string
example: '2026-10-02T20:24:11.576681Z'
tags:
- IA
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Não pode ser superior a 50 caracteres.'
example: 'Cynthia Barros'
order_id:
type: integer
description: ''
example: 540
nullable: true
required:
- name
'/ai/conversations/{aiConversation_id}/messages':
post:
summary: 'Adiciona uma mensagem em uma conversa existente com a IA'
operationId: adicionaUmaMensagemEmUmaConversaExistenteComAIA
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
ai_conversation_id: 434
send_by: exemplo
message: 'Doloremque sequi occaecati id modi est.'
created_at: '2026-10-02T20:24:11.597951Z'
files_ids:
- 490
- 546
properties:
id:
type: integer
example: 1
ai_conversation_id:
type: integer
example: 434
send_by:
type: string
example: exemplo
message:
type: string
example: 'Doloremque sequi occaecati id modi est.'
created_at:
type: string
example: '2026-10-02T20:24:11.597951Z'
files_ids:
type: array
example:
- 490
- 546
items:
type: integer
tags:
- IA
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
message:
type: string
description: ''
example: 'Quaerat autem nisi qui aut et odio aspernatur.'
files_ids:
type: array
description: ''
example:
- 712
- 744
items:
type: string
required:
- message
get:
summary: 'Adiciona uma mensagem em uma conversa existente com a IA'
operationId: adicionaUmaMensagemEmUmaConversaExistenteComAIA
description: ''
parameters: []
responses: {}
tags:
- IA
parameters:
-
in: path
name: aiConversation_id
description: 'The ID of the aiConversation.'
example: 10
required: true
schema:
type: integer
'/ai/conversations/{aiConversation_id}/messages/{aiMessage_id}/feedback/{feedback}':
put:
summary: 'Registra feedback do usuário para uma mensagem da conversa'
operationId: registraFeedbackDoUsurioParaUmaMensagemDaConversa
description: ''
parameters: []
responses: {}
tags:
- IA
parameters:
-
in: path
name: aiConversation_id
description: 'The ID of the aiConversation.'
example: 10
required: true
schema:
type: integer
-
in: path
name: aiMessage_id
description: 'The ID of the aiMessage.'
example: 10
required: true
schema:
type: integer
-
in: path
name: feedback
description: 'The feedback.Must be one of:positivenegativevia for email. Deve ser um endereço de e-mail válido.'
example: renato.sandoval@example.com
nullable: true
required:
- via
parameters:
-
in: path
name: order_id
description: 'The ID of the order.'
example: 10
required: true
schema:
type: integer
'/orders/shared/{token}':
get:
summary: 'Visualiza um item de compra compartilhado'
operationId: visualizaUmItemDeCompraCompartilhado
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
file_path: exemplo
download_name: exemplo
properties:
file_path:
type: string
example: exemplo
download_name:
type: string
example: exemplo
tags:
- 'Itens de compra'
parameters:
-
in: path
name: token
description: 'O token de compartilhamento'
example: 00xGuH88g182Q3efZdBrblBzdF2xNeBmAV
required: true
schema:
type: string
'/orders/{ids}/download':
get:
summary: 'Faz download dos arquivos de um (.pdf) ou múltiplos itens de compra (.zip).'
operationId: fazDownloadDosArquivosDeUmpdfOuMltiplosItensDeComprazip
description: ''
parameters: []
responses: {}
tags:
- 'Itens de compra'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
group_by:
type: string
description: ''
example: purchase
enum:
- purchase
- register
parameters:
-
in: path
name: ids
description: ''
example: '123,456,789'
required: true
schema:
type: string
'/orders/{order_id}/problem':
post:
summary: 'Reporta um problema, relacionado a este item de compra, por email para nossa equipe'
operationId: reportaUmProblemaRelacionadoAEsteItemDeCompraPorEmailParaNossaEquipe
description: ''
parameters: []
responses: {}
tags:
- 'Itens de compra'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
subject:
type: string
description: 'Não pode ser superior a 75 caracteres.'
example: 'Quaerat at optio.'
description:
type: string
description: 'Não pode ser superior a 32000 caracteres.'
example: 'Aliquam pariatur cumque non et sequi quam nulla.'
parameters:
-
in: path
name: order_id
description: 'The ID of the order.'
example: 10
required: true
schema:
type: integer
'/orders/{order_id}/additional-information':
post:
summary: 'Adicionar informações adicionais a um item de compra'
operationId: adicionarInformaesAdicionaisAUmItemDeCompra
description: ''
parameters: []
responses: {}
tags:
- 'Itens de compra'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: 'Não pode ser superior a 2000 caracteres.'
example: 'Ut quis voluptatum et.'
files:
type: array
description: 'Não pode ser superior a 71680 caracteres.'
example:
- exemplo
items:
type: string
required:
- description
- files
parameters:
-
in: path
name: order_id
description: 'The ID of the order.'
example: 10
required: true
schema:
type: integer
/orders/temp-file:
post:
summary: 'Faz upload de um arquivo temporário para ser usado posteriormente em um item de compra'
operationId: fazUploadDeUmArquivoTemporrioParaSerUsadoPosteriormenteEmUmItemDeCompra
description: 'Os caminhos dos arquivos são retornados na mesma ordem de envio'
parameters: []
responses: {}
tags:
- 'Itens de compra'
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
files:
type: array
description: 'Deve ser um arquivo. Não pode ser superior a 70000 kilobytes.'
items:
type: string
format: binary
required:
- files
'/orders/{order_id}/valid-until':
patch:
summary: 'Alterar a data de validade de um item de compra'
operationId: alterarADataDeValidadeDeUmItemDeCompra
description: ''
parameters: []
responses: {}
tags:
- 'Itens de compra'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
valid_until:
type: string
description: 'Deve ser uma data válida no formato Y-m-d.'
example: '1986-10-05'
nullable: true
parameters:
-
in: path
name: order_id
description: 'The ID of the order.'
example: 10
required: true
schema:
type: integer
'/orders/{order_id}/detailed-progress':
get:
summary: 'Visualizar os detalhes do progresso de um item de compra'
operationId: visualizarOsDetalhesDoProgressoDeUmItemDeCompra
description: ''
parameters: []
responses: {}
tags:
- 'Itens de compra'
parameters:
-
in: path
name: order_id
description: 'The ID of the order.'
example: 10
required: true
schema:
type: integer
'/orders/{order_id}/attached-files':
get:
summary: 'Listar os links dos arquivos anexados ao pedido'
operationId: listarOsLinksDosArquivosAnexadosAoPedido
description: ''
parameters: []
responses: {}
tags:
- 'Itens de compra'
parameters:
-
in: path
name: order_id
description: 'The ID of the order.'
example: 10
required: true
schema:
type: integer
'/orders/{order_id}/summary':
get:
summary: 'Extrai a ficha do item de compra'
operationId: extraiAFichaDoItemDeCompra
description: ''
parameters: []
responses: {}
tags:
- 'Itens de compra'
parameters:
-
in: path
name: order_id
description: 'The ID of the order.'
example: 10
required: true
schema:
type: integer
/orders/similar:
put:
summary: 'Retorna o item de compra mais recente com os mesmos dados enviados para verificar se já existe um item similar'
operationId: retornaOItemDeCompraMaisRecenteComOsMesmosDadosEnviadosParaVerificarSeJExisteUmItemSimilar
description: ''
parameters: []
responses: {}
tags:
- 'Itens de compra'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
service_id:
type: integer
description: 'O ID do serviço. Consulte em link'
example: 834
detailed_service_data:
type: object
description: ' Os dados específicos do serviço vão dentro deste objeto. Consulte em link'
example: []
properties: {}
required:
- service_id
- detailed_service_data
/orders/similars:
put:
summary: 'Retorna os pedidos similares'
operationId: retornaOsPedidosSimilares
description: 'Retorna um array de objetos, na mesma ordem, com o campo most_recent_similar_order, dos itens enviados no payload, indicando se existem pedidos similares'
parameters: []
responses: {}
tags:
- 'Itens de compra'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
detailed_services_data:
type: array
description: 'Deve ter pelo menos 1 item.'
example:
- []
items:
type: object
properties:
detailed_service_data:
type: object
description: 'Os dados específicos do serviço vão dentro deste objeto. Consulte em link'
example: null
properties: {}
service_id:
type: integer
description: 'Must match an existing stored value.'
example: 696
required:
- detailed_service_data
- service_id
required:
- detailed_services_data
'/orders/{order_id}/history':
get:
summary: 'Visualizar o histórico detalhado de um item de compra'
operationId: visualizarOHistricoDetalhadoDeUmItemDeCompra
description: ''
parameters: []
responses: {}
tags:
- 'Itens de compra'
parameters:
-
in: path
name: order_id
description: 'The ID of the order.'
example: 10
required: true
schema:
type: integer
'/purchases/{purchase_id}/groups':
put:
summary: 'Associa grupos a todos os itens de uma compra'
operationId: associaGruposATodosOsItensDeUmaCompra
description: ''
parameters: []
responses: {}
tags:
- 'Itens de compra'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
groups_ids:
type: array
description: ''
example:
- 123
- 283
items:
type: integer
parameters:
-
in: path
name: purchase_id
description: 'The ID of the purchase.'
example: 10
required: true
schema:
type: integer
'/company-relationship-map/company/{cnpj}':
get:
summary: ''
operationId: getCompanyRelationshipMapCompanyCnpj
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
cnpj: '23615926000197'
corporate_name: "D'ávila Comercial Ltda."
trade_name: exemplo
registration_status: exemplo
main_activity_code: vk-0190
main_activity_description: exemplo
federative_unit_abbr: exemplo
city: "Tessália d'Oeste"
social_capital: exemplo
legal_nature: exemplo
size: exemplo
opening_date: '1973-06-07'
emails: []
partners: exemplo
properties:
cnpj:
type: string
example: '23615926000197'
corporate_name:
type: string
example: "D'ávila Comercial Ltda."
trade_name:
type: string
example: exemplo
registration_status:
type: string
example: exemplo
main_activity_code:
type: string
example: vk-0190
main_activity_description:
type: string
example: exemplo
federative_unit_abbr:
type: string
example: exemplo
city:
type: string
example: "Tessália d'Oeste"
social_capital:
type: string
example: exemplo
legal_nature:
type: string
example: exemplo
size:
type: string
example: exemplo
opening_date:
type: string
example: '1973-06-07'
emails:
type: array
example: []
partners:
type: string
example: exemplo
tags:
- 'Mapa de relacionamentos de empresas'
parameters:
-
in: path
name: cnpj
description: ''
example: '24979227000199'
required: true
schema:
type: string
'/company-relationship-map/company/{cnpj}/graph':
get:
summary: ''
operationId: getCompanyRelationshipMapCompanyCnpjGraph
description: ''
parameters:
-
in: query
name: layers
description: 'Profundidade da expansão. Cada camada traz vínculos indiretos (sócios das empresas, outras empresas dos sócios, etc). Mínimo 1, máximo 3. Padrão: 1.'
example: 1
required: false
schema:
type: integer
description: 'Profundidade da expansão. Cada camada traz vínculos indiretos (sócios das empresas, outras empresas dos sócios, etc). Mínimo 1, máximo 3. Padrão: 1.'
example: 1
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
nodes: []
edges: []
properties:
nodes:
type: array
example: []
edges:
type: array
example: []
tags:
- 'Mapa de relacionamentos de empresas'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
layers:
type: integer
description: 'Deve ser pelo menos 1. Não pode ser superior a 3.'
example: 2
nullable: true
parameters:
-
in: path
name: cnpj
description: ''
example: '10548777000149'
required: true
schema:
type: string
'/company-relationship-map/person/{cpf}/graph':
get:
summary: ''
operationId: getCompanyRelationshipMapPersonCpfGraph
description: ''
parameters:
-
in: query
name: layers
description: 'Profundidade da expansão. Cada camada traz vínculos indiretos (sócios das empresas, outras empresas dos sócios, etc). Mínimo 1, máximo 3. Padrão: 1.'
example: 1
required: false
schema:
type: integer
description: 'Profundidade da expansão. Cada camada traz vínculos indiretos (sócios das empresas, outras empresas dos sócios, etc). Mínimo 1, máximo 3. Padrão: 1.'
example: 1
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
nodes: []
edges: []
properties:
nodes:
type: array
example: []
edges:
type: array
example: []
tags:
- 'Mapa de relacionamentos de empresas'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
layers:
type: integer
description: 'Deve ser pelo menos 1. Não pode ser superior a 3.'
example: 2
nullable: true
parameters:
-
in: path
name: cpf
description: ''
example: '48604454578'
required: true
schema:
type: string
'/company-relationship-map/person/{cpf}/companies':
get:
summary: 'Retorna a(s) pessoa(s) associada(s) a um CPF (ou miolo) e as empresas em que participam, direto da base da Receita, sem custo de enriquecimento.'
operationId: retornaAsPessoasAssociadasAUmCPFouMioloEAsEmpresasEmQueParticipamDiretoDaBaseDaReceitaSemCustoDeEnriquecimento
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
cpf_core: exemplo
total: 1
notice: exemplo
people: exemplo
properties:
cpf_core:
type: string
example: exemplo
total:
type: integer
example: 1
notice:
type: string
example: exemplo
people:
type: string
example: exemplo
tags:
- 'Mapa de relacionamentos de empresas'
parameters:
-
in: path
name: cpf
description: ''
example: '38178579693'
required: true
schema:
type: string
/company-relationship-map/person/by-node:
get:
summary: 'Enriquece os dados de uma pessoa a partir de um nó do grafo (id do nó + CNPJ de origem), resolvendo a identidade na fonte complementar.'
operationId: enriqueceOsDadosDeUmaPessoaAPartirDeUmNDoGrafoidDoN+CNPJDeOrigemResolvendoAIdentidadeNaFonteComplementar
description: ''
parameters:
-
in: query
name: node_id
description: 'ID interno do nó de pessoa, como veio do grafo/busca.'
example: 'PF_***331209**-CARLOS M. VIEIRA'
required: false
schema:
type: string
description: 'ID interno do nó de pessoa, como veio do grafo/busca.'
example: 'PF_***331209**-CARLOS M. VIEIRA'
-
in: query
name: cnpj_origin
description: 'CNPJ em que a pessoa aparece como sócia (origem da resolução).'
example: '44555666000190'
required: false
schema:
type: string
description: 'CNPJ em que a pessoa aparece como sócia (origem da resolução).'
example: '44555666000190'
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
state: enriched
message: 'Odio quod corrupti voluptatem sed ratione in.'
package:
identification:
name: 'Dr. Elias Ferraz Cordeiro Filho'
cpf_status: exemplo
age: 1
contacts:
phones: []
emails: []
addresses: []
related_people: exemplo
links: exemplo
cpf_masked: exemplo
cpf_unmasked: exemplo
enriched_at: '1984-10-29'
cache: true
person_key: exemplo
can_reveal: true
properties:
state:
type: string
example: enriched
message:
type: string
example: 'Odio quod corrupti voluptatem sed ratione in.'
package:
type: object
properties:
identification:
type: object
properties:
name:
type: string
example: 'Dr. Elias Ferraz Cordeiro Filho'
cpf_status:
type: string
example: exemplo
age:
type: integer
example: 1
contacts:
type: object
properties:
phones:
type: array
example: []
emails:
type: array
example: []
addresses:
type: array
example: []
related_people:
type: string
example: exemplo
links:
type: string
example: exemplo
cpf_masked:
type: string
example: exemplo
cpf_unmasked:
type: string
example: exemplo
enriched_at:
type: string
example: '1984-10-29'
cache:
type: boolean
example: true
person_key:
type: string
example: exemplo
can_reveal:
type: boolean
example: true
tags:
- 'Mapa de relacionamentos de empresas'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
node_id:
type: string
description: 'Must match the regex /\^PF_\.\+/\.'
example: 586
cnpj_origin:
type: string
description: ''
example: exemplo
required:
- node_id
- cnpj_origin
'/company-relationship-map/person/{cpf}':
get:
summary: 'Enriquece os dados de uma pessoa a partir do CPF completo (contatos, idade, situação do CPF, pessoas relacionadas e vínculos).'
operationId: enriqueceOsDadosDeUmaPessoaAPartirDoCPFCompletocontatosIdadeSituaoDoCPFPessoasRelacionadasEVnculos
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
state: enriched
message: 'Unde ipsum illum ab deserunt.'
package:
identification:
name: 'Ricardo Lovato Santana Jr.'
cpf_status: exemplo
age: 1
contacts:
phones: []
emails: []
addresses: []
related_people: exemplo
links: exemplo
cpf_masked: exemplo
cpf_unmasked: exemplo
enriched_at: '1997-02-10'
cache: true
person_key: exemplo
can_reveal: true
properties:
state:
type: string
example: enriched
message:
type: string
example: 'Unde ipsum illum ab deserunt.'
package:
type: object
properties:
identification:
type: object
properties:
name:
type: string
example: 'Ricardo Lovato Santana Jr.'
cpf_status:
type: string
example: exemplo
age:
type: integer
example: 1
contacts:
type: object
properties:
phones:
type: array
example: []
emails:
type: array
example: []
addresses:
type: array
example: []
related_people:
type: string
example: exemplo
links:
type: string
example: exemplo
cpf_masked:
type: string
example: exemplo
cpf_unmasked:
type: string
example: exemplo
enriched_at:
type: string
example: '1997-02-10'
cache:
type: boolean
example: true
person_key:
type: string
example: exemplo
can_reveal:
type: boolean
example: true
tags:
- 'Mapa de relacionamentos de empresas'
parameters:
-
in: path
name: cpf
description: ''
example: '52576962319'
required: true
schema:
type: string
'/company-relationship-map/graph/node/{nodeId}/expand':
get:
summary: ''
operationId: getCompanyRelationshipMapGraphNodeNodeIdExpand
description: ''
parameters:
-
in: query
name: layers
description: 'Profundidade da expansão. Cada camada traz vínculos indiretos. Mínimo 1, máximo 3. Padrão: 1.'
example: 1
required: false
schema:
type: integer
description: 'Profundidade da expansão. Cada camada traz vínculos indiretos. Mínimo 1, máximo 3. Padrão: 1.'
example: 1
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
nodes: []
edges: []
properties:
nodes:
type: array
example: []
edges:
type: array
example: []
tags:
- 'Mapa de relacionamentos de empresas'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
layers:
type: integer
description: 'Deve ser pelo menos 1. Não pode ser superior a 3.'
example: 2
nullable: true
parameters:
-
in: path
name: nodeId
description: ''
example: 10
required: true
schema:
type: string
/company-relationship-map/search:
get:
summary: ''
operationId: getCompanyRelationshipMapSearch
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
results: []
properties:
results:
type: array
example: []
tags:
- 'Mapa de relacionamentos de empresas'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
query:
type: string
description: 'Deve ter pelo menos 2 caracteres.'
example: maxime
type:
type: string
description: ''
example: company
enum:
- company
- person
nullable: true
situation:
type: string
description: ''
example: active
enum:
- active
- closed
nullable: true
required:
- query
/explorer:
get:
summary: 'Lista os itens de meus arquivos'
operationId: listaOsItensDeMeusArquivos
description: ''
parameters:
-
in: query
name: page
description: 'a página desejada'
example: 1
required: false
schema:
type: integer
description: 'a página desejada'
example: 1
-
in: query
name: per-page
description: 'quantidade de registros por página (padrão é 20, máx 30)'
example: 10
required: false
schema:
type: integer
description: 'quantidade de registros por página (padrão é 20, máx 30)'
example: 10
-
in: query
name: include
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: order, order_count, orderExists, owner, owner_count, ownerExists, customer, customer_count, customerExists, order.service, service, service_count, serviceExists, groups, groups_count, groupsExists, children, children_count, childrenExists, children.service, children.owner, parent, parent_count, parentExists, ocr, ocr_count, ocrExists, ocr.pages"
example: null
required: false
schema:
type: string
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: order, order_count, orderExists, owner, owner_count, ownerExists, customer, customer_count, customerExists, order.service, service, service_count, serviceExists, groups, groups_count, groupsExists, children, children_count, childrenExists, children.service, children.owner, parent, parent_count, parentExists, ocr, ocr_count, ocrExists, ocr.pages"
example: null
-
in: query
name: append
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: file, breadcrumb, ai_data, ai_model_name, ai_enrich_data_available, depends_on_ocr_to_request_ai"
example: null
required: false
schema:
type: string
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: file, breadcrumb, ai_data, ai_model_name, ai_enrich_data_available, depends_on_ocr_to_request_ai"
example: null
-
in: query
name: sort
description: "Campos disponíveis para ordenação. Para ordenar decrescentemente use o sinal de - antes do nome do campo Ex: -nome_campo. \n Múltiplos devem ser separadas com vírgula. Disponíveis: id, created_at, last_operation_at, name, type"
example: null
required: false
schema:
type: string
description: "Campos disponíveis para ordenação. Para ordenar decrescentemente use o sinal de - antes do nome do campo Ex: -nome_campo. \n Múltiplos devem ser separadas com vírgula. Disponíveis: id, created_at, last_operation_at, name, type"
example: null
-
in: query
name: filter
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: type, owner_id, name, exact_name, created_between, group_id, ai, service_id, parent_id"
example: null
required: false
schema:
type: 'string[]'
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: type, owner_id, name, exact_name, created_between, group_id, ai, service_id, parent_id"
example: null
responses: {}
tags:
- 'Meus arquivos'
'/explorer/{id}':
get:
summary: 'Visualizar um item dos meus arquivos'
operationId: visualizarUmItemDosMeusArquivos
description: ''
parameters:
-
in: query
name: include
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: order, order_count, orderExists, owner, owner_count, ownerExists, customer, customer_count, customerExists, order.service, service, service_count, serviceExists, groups, groups_count, groupsExists, children, children_count, childrenExists, children.service, children.owner, parent, parent_count, parentExists, ocr, ocr_count, ocrExists, ocr.pages"
example: null
required: false
schema:
type: string
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: order, order_count, orderExists, owner, owner_count, ownerExists, customer, customer_count, customerExists, order.service, service, service_count, serviceExists, groups, groups_count, groupsExists, children, children_count, childrenExists, children.service, children.owner, parent, parent_count, parentExists, ocr, ocr_count, ocrExists, ocr.pages"
example: null
-
in: query
name: append
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: file, breadcrumb, ai_data, ai_model_name, ai_enrich_data_available, depends_on_ocr_to_request_ai"
example: null
required: false
schema:
type: string
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: file, breadcrumb, ai_data, ai_model_name, ai_enrich_data_available, depends_on_ocr_to_request_ai"
example: null
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
owner_id: 420
customer_id: 101
parent_id: 767
order_id: 151
name: 'Sra. Dirce Camacho'
created_at: '2026-10-02T20:24:12.054952Z'
type: folder
last_operation_at: '2026-10-02T20:24:12.055356Z'
file_size_bytes: 1
ocr_requested_at: '2026-10-02T20:24:12.055525Z'
service_id: 684
ai_input_type: file
ai_request_pending: true
updated_at: '2026-10-02T20:24:12.055799Z'
ocr_failed: true
ocr_available: true
file_id_vector_store: exemplo
properties:
id:
type: integer
example: 1
owner_id:
type: integer
example: 420
customer_id:
type: integer
example: 101
parent_id:
type: integer
example: 767
order_id:
type: integer
example: 151
name:
type: string
example: 'Sra. Dirce Camacho'
created_at:
type: string
example: '2026-10-02T20:24:12.054952Z'
type:
type: string
example: folder
last_operation_at:
type: string
example: '2026-10-02T20:24:12.055356Z'
file_size_bytes:
type: integer
example: 1
ocr_requested_at:
type: string
example: '2026-10-02T20:24:12.055525Z'
service_id:
type: integer
example: 684
ai_input_type:
type: string
example: file
ai_request_pending:
type: boolean
example: true
updated_at:
type: string
example: '2026-10-02T20:24:12.055799Z'
ocr_failed:
type: boolean
example: true
ocr_available:
type: boolean
example: true
file_id_vector_store:
type: string
example: exemplo
tags:
- 'Meus arquivos'
parameters:
-
in: path
name: id
description: 'The ID of the explorer.'
example: 0-9
required: true
schema:
type: string
'/explorer/{explorerItem_id}/groups':
put:
summary: 'Associa grupos a um item de meus arquivos'
operationId: associaGruposAUmItemDeMeusArquivos
description: ''
parameters: []
responses: {}
tags:
- 'Meus arquivos'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
groups_ids:
type: array
description: ''
example:
- 730
- 450
items:
type: integer
parameters:
-
in: path
name: explorerItem_id
description: 'The ID of the explorerItem.'
example: 10
required: true
schema:
type: integer
'/explorer/{explorerItem_id}/service':
patch:
summary: 'Altera o serviço de um item de meus arquivos. Somente para itens do tipo upload'
operationId: alteraOServioDeUmItemDeMeusArquivosSomenteParaItensDoTipoUpload
description: ''
parameters: []
responses: {}
tags:
- 'Meus arquivos'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
service_id:
type: integer
description: 'Deve corresponder a um valor já cadastrado.'
example: 842
nullable: true
parameters:
-
in: path
name: explorerItem_id
description: 'The ID of the explorerItem.'
example: 10
required: true
schema:
type: integer
'/explorer/{explorerItem_id}/name':
patch:
summary: 'Renomear um item dos meus arquivos'
operationId: renomearUmItemDosMeusArquivos
description: ''
parameters: []
responses: {}
tags:
- 'Meus arquivos'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Não pode ser superior a 120 caracteres.'
example: 'Sr. Ivan Cordeiro Filho'
required:
- name
parameters:
-
in: path
name: explorerItem_id
description: 'The ID of the explorerItem.'
example: 10
required: true
schema:
type: integer
'/explorer/{explorerItem_id}':
delete:
summary: 'Excluir um item de meus arquivos'
operationId: excluirUmItemDeMeusArquivos
description: ''
parameters: []
responses: {}
tags:
- 'Meus arquivos'
parameters:
-
in: path
name: explorerItem_id
description: 'The ID of the explorerItem.'
example: 10
required: true
schema:
type: integer
'/explorer/{ids}/parent/root':
patch:
summary: 'Move um ou múltiplos itens de meus arquivos para dentro de uma pasta ou para a raíz'
operationId: moveUmOuMltiplosItensDeMeusArquivosParaDentroDeUmaPastaOuParaARaz
description: ''
parameters: []
responses: {}
tags:
- 'Meus arquivos'
parameters:
-
in: path
name: ids
description: ''
example: '123,456,789'
required: true
schema:
type: string
'/explorer/{ids}/parent/{parent_id}':
patch:
summary: 'Move um ou múltiplos itens de meus arquivos para dentro de uma pasta ou para a raíz'
operationId: moveUmOuMltiplosItensDeMeusArquivosParaDentroDeUmaPastaOuParaARaz
description: ''
parameters: []
responses: {}
tags:
- 'Meus arquivos'
parameters:
-
in: path
name: ids
description: ''
example: '123,456,789'
required: true
schema:
type: string
-
in: path
name: parent_id
description: 'The ID of the parent.'
example: 10
required: true
schema:
type: integer
'/explorer/{type}':
post:
summary: 'Cria uma pasta'
operationId: criaUmaPasta
description: ''
parameters:
-
in: query
name: type
description: ' Valor fixo: folder'
example: uploaded_file
required: true
schema:
type: string
description: ' Valor fixo: folder'
example: uploaded_file
enum:
- folder
- order
- uploaded_file
- ai
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
owner_id: 615
customer_id: 468
parent_id: 963
order_id: 14
name: 'Nicolas Saito Faria'
created_at: '2026-10-02T20:24:12.144370Z'
type: folder
last_operation_at: '2026-10-02T20:24:12.144541Z'
file_size_bytes: 1
ocr_requested_at: '2026-10-02T20:24:12.144676Z'
service_id: 540
ai_input_type: file
ai_request_pending: true
updated_at: '2026-10-02T20:24:12.144816Z'
ocr_failed: true
ocr_available: true
file_id_vector_store: exemplo
properties:
id:
type: integer
example: 1
owner_id:
type: integer
example: 615
customer_id:
type: integer
example: 468
parent_id:
type: integer
example: 963
order_id:
type: integer
example: 14
name:
type: string
example: 'Nicolas Saito Faria'
created_at:
type: string
example: '2026-10-02T20:24:12.144370Z'
type:
type: string
example: folder
last_operation_at:
type: string
example: '2026-10-02T20:24:12.144541Z'
file_size_bytes:
type: integer
example: 1
ocr_requested_at:
type: string
example: '2026-10-02T20:24:12.144676Z'
service_id:
type: integer
example: 540
ai_input_type:
type: string
example: file
ai_request_pending:
type: boolean
example: true
updated_at:
type: string
example: '2026-10-02T20:24:12.144816Z'
ocr_failed:
type: boolean
example: true
ocr_available:
type: boolean
example: true
file_id_vector_store:
type: string
example: exemplo
tags:
- 'Meus arquivos'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Não pode ser superior a 120 caracteres.'
example: 'Dr. Naomi Louise Rios'
required:
- name
parameters:
-
in: path
name: type
description: 'Valor fixo: folder'
example: null
required: true
schema:
type: string
'/explorer/{ids}/download':
get:
summary: 'Faz download dos arquivos de um ou múltiplos itens de de meus arquivos (.zip).'
operationId: fazDownloadDosArquivosDeUmOuMltiplosItensDeDeMeusArquivoszip
description: ''
parameters:
-
in: query
name: groupBy
description: ' Indica se arquivos .zip devem criar a estrutura baseada nos diretórios, compra ou no registro do item da compra.'
example: directory
required: false
schema:
type: string
description: ' Indica se arquivos .zip devem criar a estrutura baseada nos diretórios, compra ou no registro do item da compra.'
example: directory
enum:
- purchase
- register
- directory
responses: {}
tags:
- 'Meus arquivos'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
group_by:
type: string
description: ''
example: purchase
enum:
- purchase
- register
- directory
required:
- group_by
parameters:
-
in: path
name: ids
description: ''
example: '123,456,789'
required: true
schema:
type: string
/explorer/upload:
post:
summary: 'Faz upload de arquivos para "Meus Arquivos"'
operationId: fazUploadDeArquivosParaMeusArquivos
description: ''
parameters: []
responses: {}
tags:
- 'Meus arquivos'
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
files:
type: array
description: 'Não pode ser superior a 71680 caracteres.'
example:
- exemplo
items:
type: string
parent_id:
type: integer
description: ''
example: 873
nullable: true
service_id:
type: integer
description: 'Deve corresponder a um valor já cadastrado.'
example: 103
nullable: true
groups_ids:
type: array
description: ''
example:
- 755
- 210
items:
type: integer
required:
- files
- groups_ids
'/explorer/{explorerItem_id}/ai/models/{aiModelFromCustomerOrPublic}/answers':
get:
summary: 'Busca as respostas de IA para um item de meus arquivos usando um modelo específico.'
operationId: buscaAsRespostasDeIAParaUmItemDeMeusArquivosUsandoUmModeloEspecfico
description: Assincrono
parameters: []
responses: {}
tags:
- 'Meus arquivos'
parameters:
-
in: path
name: explorerItem_id
description: 'The ID of the explorerItem.'
example: 10
required: true
schema:
type: integer
-
in: path
name: aiModelFromCustomerOrPublic
description: ''
example: exemplo
required: true
schema:
type: string
/notifications:
get:
summary: 'Listar as notificações do usuário'
operationId: listarAsNotificaesDoUsurio
description: 'O retorno é paginado'
parameters:
-
in: query
name: page
description: 'a página desejada'
example: 1
required: false
schema:
type: integer
description: 'a página desejada'
example: 1
-
in: query
name: per-page
description: 'quantidade de registros por página (padrão é 20, máx 30)'
example: 10
required: false
schema:
type: integer
description: 'quantidade de registros por página (padrão é 20, máx 30)'
example: 10
-
in: query
name: sort
description: "Campos disponíveis para ordenação. Para ordenar decrescentemente use o sinal de - antes do nome do campo Ex: -nome_campo. \n Múltiplos devem ser separadas com vírgula. Disponíveis: created_at"
example: null
required: false
schema:
type: string
description: "Campos disponíveis para ordenação. Para ordenar decrescentemente use o sinal de - antes do nome do campo Ex: -nome_campo. \n Múltiplos devem ser separadas com vírgula. Disponíveis: created_at"
example: null
-
in: query
name: filter
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: read, type"
example: null
required: false
schema:
type: 'string[]'
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: read, type"
example: null
responses: {}
tags:
- Notificações
/notifications/all/read:
put:
summary: 'Marca todas as notificações do usuário como lidas'
operationId: marcaTodasAsNotificaesDoUsurioComoLidas
description: ''
parameters: []
responses: {}
tags:
- Notificações
/notifications/all/unread:
put:
summary: 'Marca todas as notificações do usuário como não lidas'
operationId: marcaTodasAsNotificaesDoUsurioComoNoLidas
description: ''
parameters: []
responses: {}
tags:
- Notificações
'/notifications/{notifications}/read':
put:
summary: 'Marca uma notificação do usuário como lida'
operationId: marcaUmaNotificaoDoUsurioComoLida
description: ''
parameters: []
responses: {}
tags:
- Notificações
parameters:
-
in: path
name: notifications
description: ''
example: exemplo
required: true
schema:
type: string
'/notifications/{notifications}/unread':
put:
summary: 'Marca uma notificação do usuário como não lida'
operationId: marcaUmaNotificaoDoUsurioComoNoLida
description: ''
parameters: []
responses: {}
tags:
- Notificações
parameters:
-
in: path
name: notifications
description: ''
example: exemplo
required: true
schema:
type: string
/notifications/all:
delete:
summary: 'Excluir todas as notificações do usuário'
operationId: excluirTodasAsNotificaesDoUsurio
description: ''
parameters: []
responses: {}
tags:
- Notificações
'/notifications/{notifications}':
delete:
summary: 'Excluir notificações do usuário'
operationId: excluirNotificaesDoUsurio
description: ''
parameters: []
responses: {}
tags:
- Notificações
parameters:
-
in: path
name: notifications
description: ''
example: exemplo
required: true
schema:
type: string
'/person-data-by-cpf/{cpf}':
get:
summary: 'Consulta dados de uma empresa pelo cnpj'
operationId: consultaDadosDeUmaEmpresaPeloCnpj
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
valid: true
name: 'Srta. Manoela da Silva'
gender: exemplo
age: 1
mother_name: exemplo
father_name: exemplo
nationality: exemplo
properties:
valid:
type: boolean
example: true
name:
type: string
example: 'Srta. Manoela da Silva'
gender:
type: string
example: exemplo
age:
type: integer
example: 1
mother_name:
type: string
example: exemplo
father_name:
type: string
example: exemplo
nationality:
type: string
example: exemplo
tags:
- Outros
security: []
parameters:
-
in: path
name: cpf
description: ''
example: '07684237241'
required: true
schema:
type: string
/health:
get:
summary: 'Indica se a API está disponível'
operationId: indicaSeAAPIEstDisponvel
description: ''
parameters: []
responses: {}
tags:
- Outros
security: []
/recurrences:
get:
summary: 'Listar as recorrências do cliente'
operationId: listarAsRecorrnciasDoCliente
description: 'O retorno é paginado'
parameters:
-
in: query
name: page
description: 'a página desejada'
example: 1
required: false
schema:
type: integer
description: 'a página desejada'
example: 1
-
in: query
name: per-page
description: 'quantidade de registros por página (padrão é 20, máx 30)'
example: 10
required: false
schema:
type: integer
description: 'quantidade de registros por página (padrão é 20, máx 30)'
example: 10
-
in: query
name: include
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: items, items_count, itemsExists, owner, owner_count, ownerExists, items.order, groups, groups_count, groupsExists, customer, customer_count, customerExists"
example: null
required: false
schema:
type: string
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: items, items_count, itemsExists, owner, owner_count, ownerExists, items.order, groups, groups_count, groupsExists, customer, customer_count, customerExists"
example: null
-
in: query
name: append
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: purchases_ids, items.service_can_be_monitored"
example: null
required: false
schema:
type: string
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: purchases_ids, items.service_can_be_monitored"
example: null
-
in: query
name: sort
description: "Campos disponíveis para ordenação. Para ordenar decrescentemente use o sinal de - antes do nome do campo Ex: -nome_campo. \n Múltiplos devem ser separadas com vírgula. Disponíveis: id, name, created_at"
example: null
required: false
schema:
type: string
description: "Campos disponíveis para ordenação. Para ordenar decrescentemente use o sinal de - antes do nome do campo Ex: -nome_campo. \n Múltiplos devem ser separadas com vírgula. Disponíveis: id, name, created_at"
example: null
-
in: query
name: filter
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: name_or_id, owner_id, created_between"
example: null
required: false
schema:
type: 'string[]'
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: name_or_id, owner_id, created_between"
example: null
responses: {}
tags:
- Recorrências
post:
summary: 'Criar uma recorrência'
operationId: criarUmaRecorrncia
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
name: 'Sra. Sarah Serrano Azevedo Jr.'
keep_original_groups_from_items: 1
starts_at: '2026-10-02'
next_at: '2026-10-02'
last_at: '2026-10-02'
frequency: weekly
monthly_day_of_month: 1
weekly_happens_on: []
yearly_month: 1
yearly_day: 1
owner_id: 859
customer_id: 785
active: true
every_x_days_number_of_days: 1
specific_time: '14:30'
created_at: '2026-10-02T20:24:13.035902Z'
updated_at: '2026-10-02T20:24:13.036130Z'
notify_result_changes_in_items: 1
properties:
id:
type: integer
example: 1
name:
type: string
example: 'Sra. Sarah Serrano Azevedo Jr.'
keep_original_groups_from_items:
type: integer
example: 1
starts_at:
type: string
example: '2026-10-02'
next_at:
type: string
example: '2026-10-02'
last_at:
type: string
example: '2026-10-02'
frequency:
type: string
example: weekly
monthly_day_of_month:
type: integer
example: 1
weekly_happens_on:
type: array
example: []
yearly_month:
type: integer
example: 1
yearly_day:
type: integer
example: 1
owner_id:
type: integer
example: 859
customer_id:
type: integer
example: 785
active:
type: boolean
example: true
every_x_days_number_of_days:
type: integer
example: 1
specific_time:
type: string
example: '14:30'
created_at:
type: string
example: '2026-10-02T20:24:13.035902Z'
updated_at:
type: string
example: '2026-10-02T20:24:13.036130Z'
notify_result_changes_in_items:
type: integer
example: 1
tags:
- Recorrências
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Não pode ser superior a 45 caracteres.'
example: 'Dr. Thales Enzo Dias'
starts_at:
type: string
description: 'Deve ser uma data válida no formato Y-m-d. Deve ser uma data posterior a hoje.'
example: '2006-01-14'
frequency:
type: string
description: ''
example: weekly
enum:
- weekly
- monthly
- yearly
- every_x_days
monthly_day_of_month:
type: integer
description: 'Este campo é obrigatório quando frequency for monthly. Deve ser entre 1 e 31.'
example: 16
yearly_day:
type: integer
description: 'Este campo é obrigatório quando frequency for yearly. Deve ser entre 1 e 31.'
example: 16
yearly_month:
type: integer
description: 'Este campo é obrigatório quando frequency for yearly. Deve ser entre 1 e 12.'
example: 7
weekly_happens_on:
type: object
description: 'Este campo é obrigatório quando frequency for weekly. Não pode ter mais do que 7 itens.'
example: []
properties: {}
every_x_days_number_of_days:
type: integer
description: 'Este campo é obrigatório quando frequency for every_x_days. Deve ser pelo menos 1.'
example: 1
specific_time:
type: string
description: 'Deve ser uma data válida no formato H:i.'
example: '14:30'
nullable: true
items:
type: object
description: ''
example: []
properties: {}
groups_ids:
type: array
description: ''
example:
- 808
- 801
items:
type: integer
notify_result_changes_in_items:
type: boolean
description: ''
example: true
required:
- name
- starts_at
- frequency
- notify_result_changes_in_items
'/recurrences/{id}':
get:
summary: 'Visualizar uma recorrência'
operationId: visualizarUmaRecorrncia
description: ''
parameters:
-
in: query
name: include
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: items, items_count, itemsExists, owner, owner_count, ownerExists, items.order, groups, groups_count, groupsExists, customer, customer_count, customerExists"
example: null
required: false
schema:
type: string
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: items, items_count, itemsExists, owner, owner_count, ownerExists, items.order, groups, groups_count, groupsExists, customer, customer_count, customerExists"
example: null
-
in: query
name: append
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: purchases_ids, items.service_can_be_monitored"
example: null
required: false
schema:
type: string
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: purchases_ids, items.service_can_be_monitored"
example: null
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
name: 'Rogério Santos Toledo'
keep_original_groups_from_items: 1
starts_at: '2026-10-02'
next_at: '2026-10-02'
last_at: '2026-10-02'
frequency: weekly
monthly_day_of_month: 1
weekly_happens_on: []
yearly_month: 1
yearly_day: 1
owner_id: 344
customer_id: 539
active: true
every_x_days_number_of_days: 1
specific_time: '14:30'
created_at: '2026-10-02T20:24:13.011612Z'
updated_at: '2026-10-02T20:24:13.011709Z'
notify_result_changes_in_items: 1
properties:
id:
type: integer
example: 1
name:
type: string
example: 'Rogério Santos Toledo'
keep_original_groups_from_items:
type: integer
example: 1
starts_at:
type: string
example: '2026-10-02'
next_at:
type: string
example: '2026-10-02'
last_at:
type: string
example: '2026-10-02'
frequency:
type: string
example: weekly
monthly_day_of_month:
type: integer
example: 1
weekly_happens_on:
type: array
example: []
yearly_month:
type: integer
example: 1
yearly_day:
type: integer
example: 1
owner_id:
type: integer
example: 344
customer_id:
type: integer
example: 539
active:
type: boolean
example: true
every_x_days_number_of_days:
type: integer
example: 1
specific_time:
type: string
example: '14:30'
created_at:
type: string
example: '2026-10-02T20:24:13.011612Z'
updated_at:
type: string
example: '2026-10-02T20:24:13.011709Z'
notify_result_changes_in_items:
type: integer
example: 1
tags:
- Recorrências
parameters:
-
in: path
name: id
description: 'The ID of the recurrence.'
example: 0-9
required: true
schema:
type: integer
/recurrences/by-purchase:
post:
summary: 'Criar uma recorrência a partir de uma compra'
operationId: criarUmaRecorrnciaAPartirDeUmaCompra
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
name: 'Sr. Thomas Casanova Neto'
keep_original_groups_from_items: 1
starts_at: '2026-10-02'
next_at: '2026-10-02'
last_at: '2026-10-02'
frequency: weekly
monthly_day_of_month: 1
weekly_happens_on: []
yearly_month: 1
yearly_day: 1
owner_id: 43
customer_id: 175
active: true
every_x_days_number_of_days: 1
specific_time: '14:30'
created_at: '2026-10-02T20:24:13.055733Z'
updated_at: '2026-10-02T20:24:13.055827Z'
notify_result_changes_in_items: 1
properties:
id:
type: integer
example: 1
name:
type: string
example: 'Sr. Thomas Casanova Neto'
keep_original_groups_from_items:
type: integer
example: 1
starts_at:
type: string
example: '2026-10-02'
next_at:
type: string
example: '2026-10-02'
last_at:
type: string
example: '2026-10-02'
frequency:
type: string
example: weekly
monthly_day_of_month:
type: integer
example: 1
weekly_happens_on:
type: array
example: []
yearly_month:
type: integer
example: 1
yearly_day:
type: integer
example: 1
owner_id:
type: integer
example: 43
customer_id:
type: integer
example: 175
active:
type: boolean
example: true
every_x_days_number_of_days:
type: integer
example: 1
specific_time:
type: string
example: '14:30'
created_at:
type: string
example: '2026-10-02T20:24:13.055733Z'
updated_at:
type: string
example: '2026-10-02T20:24:13.055827Z'
notify_result_changes_in_items:
type: integer
example: 1
tags:
- Recorrências
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Não pode ser superior a 45 caracteres.'
example: 'Lara Ortiz Reis Neto'
starts_at:
type: string
description: 'Deve ser uma data válida no formato Y-m-d. Deve ser uma data posterior a hoje.'
example: '2004-10-24'
frequency:
type: string
description: ''
example: weekly
enum:
- weekly
- monthly
- yearly
- every_x_days
monthly_day_of_month:
type: integer
description: 'Este campo é obrigatório quando frequency for monthly. Deve ser entre 1 e 31.'
example: 16
yearly_day:
type: integer
description: 'Este campo é obrigatório quando frequency for yearly. Deve ser entre 1 e 31.'
example: 16
yearly_month:
type: integer
description: 'Este campo é obrigatório quando frequency for yearly. Deve ser entre 1 e 12.'
example: 7
weekly_happens_on:
type: object
description: 'Este campo é obrigatório quando frequency for weekly. Não pode ter mais do que 7 itens.'
example: []
properties: {}
every_x_days_number_of_days:
type: integer
description: 'Este campo é obrigatório quando frequency for every_x_days. Deve ser pelo menos 1.'
example: 1
specific_time:
type: string
description: 'Deve ser uma data válida no formato H:i.'
example: '14:30'
nullable: true
purchase_id:
type: integer
description: ''
example: 615
groups_ids:
type: array
description: ''
example:
- 215
- 670
items:
type: integer
notify_result_changes_in_items:
type: boolean
description: ''
example: true
required:
- name
- starts_at
- frequency
- purchase_id
- notify_result_changes_in_items
'/recurrences/{recurrence_id}':
put:
summary: 'Alterar uma recorrência'
operationId: alterarUmaRecorrncia
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
name: 'Elizabeth Elaine Montenegro Jr.'
keep_original_groups_from_items: 1
starts_at: '2026-10-02'
next_at: '2026-10-02'
last_at: '2026-10-02'
frequency: weekly
monthly_day_of_month: 1
weekly_happens_on: []
yearly_month: 1
yearly_day: 1
owner_id: 338
customer_id: 966
active: true
every_x_days_number_of_days: 1
specific_time: '14:30'
created_at: '2026-10-02T20:24:13.079282Z'
updated_at: '2026-10-02T20:24:13.079381Z'
notify_result_changes_in_items: 1
properties:
id:
type: integer
example: 1
name:
type: string
example: 'Elizabeth Elaine Montenegro Jr.'
keep_original_groups_from_items:
type: integer
example: 1
starts_at:
type: string
example: '2026-10-02'
next_at:
type: string
example: '2026-10-02'
last_at:
type: string
example: '2026-10-02'
frequency:
type: string
example: weekly
monthly_day_of_month:
type: integer
example: 1
weekly_happens_on:
type: array
example: []
yearly_month:
type: integer
example: 1
yearly_day:
type: integer
example: 1
owner_id:
type: integer
example: 338
customer_id:
type: integer
example: 966
active:
type: boolean
example: true
every_x_days_number_of_days:
type: integer
example: 1
specific_time:
type: string
example: '14:30'
created_at:
type: string
example: '2026-10-02T20:24:13.079282Z'
updated_at:
type: string
example: '2026-10-02T20:24:13.079381Z'
notify_result_changes_in_items:
type: integer
example: 1
tags:
- Recorrências
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Não pode ser superior a 45 caracteres.'
example: 'Noel Beltrão Pedrosa Filho'
starts_at:
type: string
description: 'Deve ser uma data válida no formato Y-m-d. Deve ser uma data posterior a hoje.'
example: '1989-05-24'
frequency:
type: string
description: ''
example: weekly
enum:
- weekly
- monthly
- yearly
- every_x_days
monthly_day_of_month:
type: integer
description: 'Este campo é obrigatório quando frequency for monthly. Deve ser entre 1 e 31.'
example: 16
yearly_day:
type: integer
description: 'Este campo é obrigatório quando frequency for yearly. Deve ser entre 1 e 31.'
example: 16
yearly_month:
type: integer
description: 'Este campo é obrigatório quando frequency for yearly. Deve ser entre 1 e 12.'
example: 7
weekly_happens_on:
type: object
description: 'Este campo é obrigatório quando frequency for weekly. Não pode ter mais do que 7 itens.'
example: []
properties: {}
every_x_days_number_of_days:
type: integer
description: 'Este campo é obrigatório quando frequency for every_x_days. Deve ser pelo menos 1.'
example: 1
specific_time:
type: string
description: 'Deve ser uma data válida no formato H:i.'
example: '14:30'
nullable: true
items:
type: object
description: ''
example: []
properties: {}
groups_ids:
type: array
description: ''
example:
- 265
- 15
items:
type: integer
notify_result_changes_in_items:
type: boolean
description: ''
example: true
required:
- name
- starts_at
- frequency
- notify_result_changes_in_items
parameters:
-
in: path
name: recurrence_id
description: 'The ID of the recurrence.'
example: 10
required: true
schema:
type: integer
'/recurrences/{recurrence_id}/{newSituation}':
patch:
summary: 'Ativar/desativar uma recorrência'
operationId: ativardesativarUmaRecorrncia
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
name: 'Manoela Ferraz Tamoio Sobrinho'
keep_original_groups_from_items: 1
starts_at: '2026-10-02'
next_at: '2026-10-02'
last_at: '2026-10-02'
frequency: weekly
monthly_day_of_month: 1
weekly_happens_on: []
yearly_month: 1
yearly_day: 1
owner_id: 527
customer_id: 287
active: true
every_x_days_number_of_days: 1
specific_time: '14:30'
created_at: '2026-10-02T20:24:13.098025Z'
updated_at: '2026-10-02T20:24:13.098197Z'
notify_result_changes_in_items: 1
properties:
id:
type: integer
example: 1
name:
type: string
example: 'Manoela Ferraz Tamoio Sobrinho'
keep_original_groups_from_items:
type: integer
example: 1
starts_at:
type: string
example: '2026-10-02'
next_at:
type: string
example: '2026-10-02'
last_at:
type: string
example: '2026-10-02'
frequency:
type: string
example: weekly
monthly_day_of_month:
type: integer
example: 1
weekly_happens_on:
type: array
example: []
yearly_month:
type: integer
example: 1
yearly_day:
type: integer
example: 1
owner_id:
type: integer
example: 527
customer_id:
type: integer
example: 287
active:
type: boolean
example: true
every_x_days_number_of_days:
type: integer
example: 1
specific_time:
type: string
example: '14:30'
created_at:
type: string
example: '2026-10-02T20:24:13.098025Z'
updated_at:
type: string
example: '2026-10-02T20:24:13.098197Z'
notify_result_changes_in_items:
type: integer
example: 1
tags:
- Recorrências
parameters:
-
in: path
name: recurrence_id
description: 'The ID of the recurrence.'
example: 10
required: true
schema:
type: integer
-
in: path
name: newSituation
description: ''
example: active
required: true
schema:
type: string
'/recurrences/{recurrence_id}/items/{recurrenceItems}':
delete:
summary: 'Excluir um ou múltiplos itens de uma recorrência'
operationId: excluirUmOuMltiplosItensDeUmaRecorrncia
description: ''
parameters: []
responses: {}
tags:
- Recorrências
parameters:
-
in: path
name: recurrence_id
description: 'The ID of the recurrence.'
example: 10
required: true
schema:
type: integer
-
in: path
name: recurrenceItems
description: 'Ids dos items que serão excluídos.'
example: '123,456,789'
required: true
schema:
type: string
'/reports/ai-answers/{format}':
get:
summary: 'Gera um relatório com as respostas dos pedidos de inteligência artificial'
operationId: geraUmRelatrioComAsRespostasDosPedidosDeIntelignciaArtificial
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
file_path: exemplo
download_name: exemplo
properties:
file_path:
type: string
example: exemplo
download_name:
type: string
example: exemplo
tags:
- Relatórios
parameters:
-
in: path
name: format
description: 'Optional parameter.'
required: true
schema:
type: string
examples:
omitted:
summary: 'When the value is omitted'
value: ''
present:
summary: 'When the value is present'
value: csv
'/reports/orders/{format}':
get:
summary: 'Gera um relatório com os itens de compras de acordo com os filtros utilizados'
operationId: geraUmRelatrioComOsItensDeComprasDeAcordoComOsFiltrosUtilizados
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
file_path: exemplo
download_name: exemplo
properties:
file_path:
type: string
example: exemplo
download_name:
type: string
example: exemplo
tags:
- Relatórios
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
one_result_per_row:
type: boolean
description: ''
example: true
required:
- one_result_per_row
parameters:
-
in: path
name: format
description: 'Optional parameter. Must be one of:xlsxcsvjsonxlsxcsvjsonY-m.'
example: '1999-01-08'
end_date:
type: string
description: 'Deve ser uma data válida no formato Y-m.'
example: '2026-07-14'
required:
- begin_date
- end_date
/reports/number-orders-per-status:
get:
summary: 'Retorna a quantidade de itens de compra por status'
operationId: retornaAQuantidadeDeItensDeCompraPorStatus
description: ''
parameters: []
responses: {}
tags:
- Relatórios
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
begin_date:
type: string
description: 'Deve ser uma data válida no formato Y-m-d.'
example: '2017-05-11'
nullable: true
end_date:
type: string
description: 'Deve ser uma data válida no formato Y-m-d.'
example: '2018-09-06'
nullable: true
only_from_logged_user:
type: boolean
description: ''
example: true
nullable: true
/reports/order-stats:
get:
summary: 'Retorna a quantidade de itens de compra, valor gastos e preço médio durante o período desejado'
operationId: retornaAQuantidadeDeItensDeCompraValorGastosEPreoMdioDuranteOPerodoDesejado
description: ''
parameters: []
responses: {}
tags:
- Relatórios
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
begin_date:
type: string
description: 'Deve ser uma data válida no formato Y-m-d.'
example: '1991-12-17'
end_date:
type: string
description: 'Deve ser uma data válida no formato Y-m-d.'
example: '1981-03-18'
required:
- begin_date
- end_date
/reports/ai-stats:
get:
summary: 'Retorna a quantidade de análises de IA, valor gastos e preço médio durante o período desejado'
operationId: retornaAQuantidadeDeAnlisesDeIAValorGastosEPreoMdioDuranteOPerodoDesejado
description: ''
parameters: []
responses: {}
tags:
- Relatórios
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
begin_date:
type: string
description: 'Deve ser uma data válida no formato Y-m-d.'
example: '1990-09-20'
end_date:
type: string
description: 'Deve ser uma data válida no formato Y-m-d.'
example: '2024-07-19'
required:
- begin_date
- end_date
/reports/number-ai-analysis-per-month:
get:
summary: 'Retorna a quantidade de análises de IA mês a mês em um período de tempo'
operationId: retornaAQuantidadeDeAnlisesDeIAMsAMsEmUmPerodoDeTempo
description: ''
parameters: []
responses: {}
tags:
- Relatórios
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
begin_date:
type: string
description: 'Deve ser uma data válida no formato Y-m.'
example: '1990-07-14'
end_date:
type: string
description: 'Deve ser uma data válida no formato Y-m.'
example: '2001-04-02'
required:
- begin_date
- end_date
'/reports/invoices/{year}/{month}':
get:
summary: 'Retorna as faturas de um cliente, pré pago, durante um mês do ano'
operationId: retornaAsFaturasDeUmClientePrPagoDuranteUmMsDoAno
description: ''
parameters: []
responses: {}
tags:
- Relatórios
parameters:
-
in: path
name: year
description: ''
example: 2023
required: true
schema:
type: integer
-
in: path
name: month
description: ''
example: 1
required: true
schema:
type: integer
'/reports/invoice-postpaids/{year}/{month}':
get:
summary: 'Retorna as faturas de um cliente, pós pago, durante um mês do ano'
operationId: retornaAsFaturasDeUmClientePsPagoDuranteUmMsDoAno
description: ''
parameters: []
responses: {}
tags:
- Relatórios
parameters:
-
in: path
name: year
description: ''
example: 2023
required: true
schema:
type: integer
-
in: path
name: month
description: ''
example: 1
required: true
schema:
type: integer
'/services/{service_id}/custom-order-fields':
get:
summary: 'Lista campos personalizados de um serviço'
operationId: listaCamposPersonalizadosDeUmServio
description: "Retorna todos os campos personalizados específicos do serviço\nmais todos os campos globais (que servem para todos os serviços),\nordenado pelo label"
parameters: []
responses: {}
tags:
- Serviços
parameters:
-
in: path
name: service_id
description: 'The ID of the service.'
example: 10
required: true
schema:
type: integer
/services:
get:
summary: 'Lista os serviços'
operationId: listaOsServios
description: ''
parameters:
-
in: query
name: include
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: ai_default_model, ai_default_model_count, ai_default_modelExists, ai_default_model.questions"
example: null
required: false
schema:
type: string
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: ai_default_model, ai_default_model_count, ai_default_modelExists, ai_default_model.questions"
example: null
-
in: query
name: append
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: is_favorite, can_be_monitored, automatic_purchase_has_options"
example: null
required: false
schema:
type: string
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: is_favorite, can_be_monitored, automatic_purchase_has_options"
example: null
-
in: query
name: sort
description: "Campos disponíveis para ordenação. Para ordenar decrescentemente use o sinal de - antes do nome do campo Ex: -nome_campo. \n Múltiplos devem ser separadas com vírgula. Disponíveis: name"
example: null
required: false
schema:
type: string
description: "Campos disponíveis para ordenação. Para ordenar decrescentemente use o sinal de - antes do nome do campo Ex: -nome_campo. \n Múltiplos devem ser separadas com vírgula. Disponíveis: name"
example: null
-
in: query
name: filter
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: ai_enabled, type, can_trigger_automatic_purchase, order_summary_available"
example: null
required: false
schema:
type: 'string[]'
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: ai_enabled, type, can_trigger_automatic_purchase, order_summary_available"
example: null
responses: {}
tags:
- Serviços
/services/most-used:
get:
summary: 'Lista os 5 serviços mais usados'
operationId: listaOs5ServiosMaisUsados
description: ''
parameters: []
responses: {}
tags:
- Serviços
'/services/{id}':
get:
summary: 'Visualizar um serviço'
operationId: visualizarUmServio
description: ''
parameters:
-
in: query
name: include
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: aiDefaultModel, aiDefaultModel_count, aiDefaultModelExists"
example: null
required: false
schema:
type: string
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: aiDefaultModel, aiDefaultModel_count, aiDefaultModelExists"
example: null
-
in: query
name: append
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: is_favorite, aiDefaultModel.questions"
example: null
required: false
schema:
type: string
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: is_favorite, aiDefaultModel.questions"
example: null
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
code: meu-codigo
name: 'Noa Lira Faro'
description: 'Enim eum tempore nesciunt velit et qui.'
tags: []
type: Certificate
ai_enabled: true
spreadsheet_purchase_available: true
instant_delivery: true
short_name: exemplo
details_main_attribute: exemplo
auto_purchase_certificate_available_result_positive: true
auto_purchase_certificate_available_result_negative: true
verification_code_attributes: exemplo
created_at: '2026-10-02T20:24:13.262254Z'
updated_at: '2026-10-02T20:24:13.262450Z'
keywords: []
free_emoluments: true
show_new_tag: true
properties:
id:
type: integer
example: 1
code:
type: string
example: meu-codigo
name:
type: string
example: 'Noa Lira Faro'
description:
type: string
example: 'Enim eum tempore nesciunt velit et qui.'
tags:
type: array
example: []
type:
type: string
example: Certificate
ai_enabled:
type: boolean
example: true
spreadsheet_purchase_available:
type: boolean
example: true
instant_delivery:
type: boolean
example: true
short_name:
type: string
example: exemplo
details_main_attribute:
type: string
example: exemplo
auto_purchase_certificate_available_result_positive:
type: boolean
example: true
auto_purchase_certificate_available_result_negative:
type: boolean
example: true
verification_code_attributes:
type: string
example: exemplo
created_at:
type: string
example: '2026-10-02T20:24:13.262254Z'
updated_at:
type: string
example: '2026-10-02T20:24:13.262450Z'
keywords:
type: array
example: []
free_emoluments:
type: boolean
example: true
show_new_tag:
type: boolean
example: true
tags:
- Serviços
parameters:
-
in: path
name: id
description: 'The ID of the service.'
example: 0-9
required: true
schema:
type: integer
'/services/code/{code}':
get:
summary: 'Visualizar um serviço pelo código'
operationId: visualizarUmServioPeloCdigo
description: ''
parameters:
-
in: query
name: include
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: aiDefaultModel, aiDefaultModel_count, aiDefaultModelExists"
example: null
required: false
schema:
type: string
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: aiDefaultModel, aiDefaultModel_count, aiDefaultModelExists"
example: null
-
in: query
name: append
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: aiDefaultModel.questions, is_favorite"
example: null
required: false
schema:
type: string
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: aiDefaultModel.questions, is_favorite"
example: null
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
code: meu-codigo
name: 'Srta. Anita de Oliveira Salgado'
description: 'Maiores fuga asperiores dignissimos rerum modi animi sit incidunt.'
tags: []
type: Certificate
ai_enabled: true
spreadsheet_purchase_available: true
instant_delivery: true
short_name: exemplo
details_main_attribute: exemplo
auto_purchase_certificate_available_result_positive: true
auto_purchase_certificate_available_result_negative: true
verification_code_attributes: exemplo
created_at: '2026-10-02T20:24:13.273736Z'
updated_at: '2026-10-02T20:24:13.273844Z'
keywords: []
free_emoluments: true
show_new_tag: true
properties:
id:
type: integer
example: 1
code:
type: string
example: meu-codigo
name:
type: string
example: 'Srta. Anita de Oliveira Salgado'
description:
type: string
example: 'Maiores fuga asperiores dignissimos rerum modi animi sit incidunt.'
tags:
type: array
example: []
type:
type: string
example: Certificate
ai_enabled:
type: boolean
example: true
spreadsheet_purchase_available:
type: boolean
example: true
instant_delivery:
type: boolean
example: true
short_name:
type: string
example: exemplo
details_main_attribute:
type: string
example: exemplo
auto_purchase_certificate_available_result_positive:
type: boolean
example: true
auto_purchase_certificate_available_result_negative:
type: boolean
example: true
verification_code_attributes:
type: string
example: exemplo
created_at:
type: string
example: '2026-10-02T20:24:13.273736Z'
updated_at:
type: string
example: '2026-10-02T20:24:13.273844Z'
keywords:
type: array
example: []
free_emoluments:
type: boolean
example: true
show_new_tag:
type: boolean
example: true
tags:
- Serviços
parameters:
-
in: path
name: code
description: 'O código do serviço'
example: certidao-nascimento
required: true
schema:
type: string
'/services/{serviceCode}/federative-units':
get:
summary: 'Retorna os estados onde o serviço está disponível'
operationId: retornaOsEstadosOndeOServioEstDisponvel
description: ''
parameters: []
responses: {}
tags:
- Serviços
parameters:
-
in: path
name: serviceCode
description: 'O código do serviço. Consulte em link'
example: certidao-nascimento
required: true
schema:
type: string
'/services/{serviceCode}/federative-units/{federativeUnitAbbr}':
get:
summary: 'Retorna as cidades, de um estado, onde o serviço está disponível'
operationId: retornaAsCidadesDeUmEstadoOndeOServioEstDisponvel
description: ''
parameters: []
responses: {}
tags:
- Serviços
parameters:
-
in: path
name: serviceCode
description: 'O código do serviço. Consulte em link'
example: certidao-nascimento
required: true
schema:
type: string
-
in: path
name: federativeUnitAbbr
description: 'A url da unidade federativa. Disponíveis podem ser obtidos em link'
example: SP
required: true
schema:
type: string
'/services/{serviceCode}/federative-units/{federativeUnitAbbr}/{cityUrl}':
get:
summary: 'Retorna os cartórios, de um estado/cidade, onde o serviço está disponível'
operationId: retornaOsCartriosDeUmEstadocidadeOndeOServioEstDisponvel
description: ''
parameters: []
responses: {}
tags:
- Serviços
parameters:
-
in: path
name: serviceCode
description: 'O código do serviço. Consulte em link'
example: certidao-nascimento
required: true
schema:
type: string
-
in: path
name: federativeUnitAbbr
description: 'A url da unidade federativa. Disponíveis podem ser obtidos em link'
example: SP
required: true
schema:
type: string
-
in: path
name: cityUrl
description: 'A url da cidade. Disponíveis podem ser obtidos em link'
example: SAO_PAULO
required: true
schema:
type: string
'/services/{serviceCode}/favorite':
put:
summary: 'Define um serviço como favorito'
operationId: defineUmServioComoFavorito
description: ''
parameters: []
responses: {}
tags:
- Serviços
delete:
summary: 'Remove um serviço dos favoritos'
operationId: removeUmServioDosFavoritos
description: ''
parameters: []
responses: {}
tags:
- Serviços
parameters:
-
in: path
name: serviceCode
description: 'O código do serviço. Consulte em link'
example: certidao-nascimento
required: true
schema:
type: string
/services/dont-know-book-page-price:
get:
summary: 'Retorna o custo extra de não saber o livro e página da certidão'
operationId: retornaOCustoExtraDeNoSaberOLivroEPginaDaCertido
description: ''
parameters: []
responses: {}
tags:
- Serviços
/services/tax-price:
get:
summary: 'Retorna o valor da taxa de serviço'
operationId: retornaOValorDaTaxaDeServio
description: ''
parameters: []
responses: {}
tags:
- Serviços
'/services/{serviceCode}/available-formats':
put:
summary: 'Verifica os formatos disponíveis de um serviço'
operationId: verificaOsFormatosDisponveisDeUmServio
description: ''
parameters: []
responses: {}
tags:
- Serviços
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
detailed_service_data:
type: array
description: 'Os dados específicos do serviço vão dentro deste objeto. Consulte em link'
example: null
items:
type: object
required:
- detailed_service_data
parameters:
-
in: path
name: serviceCode
description: 'O código do serviço. Consulte em link'
example: certidao-nascimento
required: true
schema:
type: string
'/services/{serviceCode}/prices-shipping-info':
put:
summary: 'Calcula o preço e prazo de entrega de um serviço'
operationId: calculaOPreoEPrazoDeEntregaDeUmServio
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
price: 1.5
estimated_price_postpaid_customer: 1.5
estimated_delivery_days: []
all_items_included_in_plan: true
properties:
price:
type: number
example: 1.5
estimated_price_postpaid_customer:
type: number
example: 1.5
estimated_delivery_days:
type: array
example: []
all_items_included_in_plan:
type: boolean
example: true
tags:
- Serviços
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
detailed_service_data:
type: array
description: 'Os dados específicos do serviço vão dentro deste objeto. Consulte em link'
example: null
items:
type: object
required:
- detailed_service_data
parameters:
-
in: path
name: serviceCode
description: 'O código do serviço. Consulte em link'
example: certidao-nascimento
required: true
schema:
type: string
'/services/{serviceCode}/extras-prices-shipping-info':
put:
summary: 'Calcula o preço e dias adicionados no prazos de entrega para os adicionais do serviço'
operationId: calculaOPreoEDiasAdicionadosNoPrazosDeEntregaParaOsAdicionaisDoServio
description: ''
parameters: []
responses: {}
tags:
- Serviços
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
detailed_service_data:
type: array
description: 'Os dados específicos do serviço vão dentro deste objeto. Consulte em link'
example: null
items:
type: object
required:
- detailed_service_data
parameters:
-
in: path
name: serviceCode
description: 'O código do serviço. Consulte em link'
example: certidao-nascimento
required: true
schema:
type: string
'/services/{serviceCode}/extra-informations/{info}':
put:
summary: 'Retorna as informações extras necessárias para o serviço.'
operationId: retornaAsInformaesExtrasNecessriasParaOServio
description: "Alguns serviços exigem dados que estão restritos a uma lista de valores.\nAqui essas informações podem ser consultadas"
parameters: []
responses: {}
tags:
- Serviços
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
detailed_service_data:
type: array
description: 'Os dados específicos do serviço vão dentro deste objeto. Consulte em link'
example: null
items:
type: object
required:
- detailed_service_data
parameters:
-
in: path
name: serviceCode
description: 'O código do serviço. Consulte em link'
example: certidao-nascimento
required: true
schema:
type: string
-
in: path
name: info
description: ''
example: modelo
required: true
schema:
type: string
/services/registers:
put:
summary: 'Retorna os registros'
operationId: retornaOsRegistros
description: 'Retorna um array de strings, na mesma ordem, o valor do campo de registro, de acordo com o serviço, dos itens enviados no payload'
parameters: []
responses: {}
tags:
- Serviços
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
detailed_services_data:
type: array
description: 'Deve ter pelo menos 1 item.'
example:
- []
items:
type: object
properties:
detailed_service_data:
type: object
description: 'Os dados específicos do serviço vão dentro deste objeto. Consulte em link'
example: null
properties: {}
service_id:
type: integer
description: 'Must match an existing stored value.'
example: 569
required:
- detailed_service_data
- service_id
required:
- detailed_services_data
/services/automatic-purchases-from-ai-analysis-available:
get:
summary: 'Retorna as automações de compra automática, a partir de extração de dados, disponíveis'
operationId: retornaAsAutomaesDeCompraAutomticaAPartirDeExtraoDeDadosDisponveis
description: ''
parameters:
-
in: query
name: include
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: service, service_count, serviceExists"
example: null
required: false
schema:
type: string
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: service, service_count, serviceExists"
example: null
-
in: query
name: sort
description: "Campos disponíveis para ordenação. Para ordenar decrescentemente use o sinal de - antes do nome do campo Ex: -nome_campo. \n Múltiplos devem ser separadas com vírgula. Disponíveis: description"
example: null
required: false
schema:
type: string
description: "Campos disponíveis para ordenação. Para ordenar decrescentemente use o sinal de - antes do nome do campo Ex: -nome_campo. \n Múltiplos devem ser separadas com vírgula. Disponíveis: description"
example: null
-
in: query
name: filter
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: service_id"
example: null
required: false
schema:
type: 'string[]'
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: service_id"
example: null
responses: {}
tags:
- Serviços
'/password-reset/{token}':
get:
summary: 'Busca o registro de redefinição de senha pelo token para verificar se é válido'
operationId: buscaORegistroDeRedefinioDeSenhaPeloTokenParaVerificarSeVlido
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
user_id: 576
requested_at: '2026-10-02T20:24:12.756166Z'
expiration_at: '2026-10-02T20:24:12.756311Z'
already_used: true
properties:
user_id:
type: integer
example: 576
requested_at:
type: string
example: '2026-10-02T20:24:12.756166Z'
expiration_at:
type: string
example: '2026-10-02T20:24:12.756311Z'
already_used:
type: boolean
example: true
tags:
- Usuários
security: []
patch:
summary: 'Redefine a senha de um usuário através de um token de recuperação de senha válido'
operationId: redefineASenhaDeUmUsurioAtravsDeUmTokenDeRecuperaoDeSenhaVlido
description: ''
parameters: []
responses: {}
tags:
- Usuários
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
new_password:
type: string
description: 'Não pode ser superior a 255 caracteres.'
example: Senha@123
required:
- new_password
security: []
parameters:
-
in: path
name: token
description: ''
example: 0010905473ade9284a1c6404ec3648c56a170cc571ca771822e26cc2d5e602c1
required: true
schema:
type: string
/password-reset:
post:
summary: 'Criar um token de recuperação de senha'
operationId: criarUmTokenDeRecuperaoDeSenha
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
user_id: 729
requested_at: '2026-10-02T20:24:12.780422Z'
expiration_at: '2026-10-02T20:24:12.780568Z'
already_used: true
properties:
user_id:
type: integer
example: 729
requested_at:
type: string
example: '2026-10-02T20:24:12.780422Z'
expiration_at:
type: string
example: '2026-10-02T20:24:12.780568Z'
already_used:
type: boolean
example: true
tags:
- Usuários
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
description: ''
example: nathalia69@example.org
required:
- email
security: []
'/user-groups/user/{user_id}':
put:
summary: ''
operationId: putUserGroupsUserUser_id
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
customer_id: 850
name: 'Sr. Tomás Saito Neto'
email: bianca32@example.net
email_verified_at: '2026-10-02T20:24:13.579467Z'
phone: '4344756671'
isolated_orders: true
last_login_at: '2026-10-02T20:24:13.579698Z'
created_at: '2026-10-02T20:24:13.579781Z'
updated_at: '2026-10-02T20:24:13.579844Z'
free_order_summary_remaining: 1
two_factor_confirmed_at: '2026-10-02T20:24:13.579924Z'
properties:
id:
type: integer
example: 1
customer_id:
type: integer
example: 850
name:
type: string
example: 'Sr. Tomás Saito Neto'
email:
type: string
example: bianca32@example.net
email_verified_at:
type: string
example: '2026-10-02T20:24:13.579467Z'
phone:
type: string
example: '4344756671'
isolated_orders:
type: boolean
example: true
last_login_at:
type: string
example: '2026-10-02T20:24:13.579698Z'
created_at:
type: string
example: '2026-10-02T20:24:13.579781Z'
updated_at:
type: string
example: '2026-10-02T20:24:13.579844Z'
free_order_summary_remaining:
type: integer
example: 1
two_factor_confirmed_at:
type: string
example: '2026-10-02T20:24:13.579924Z'
tags:
- Usuários
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
groups_ids:
type: array
description: ''
example:
- 496
- 722
items:
type: integer
parameters:
-
in: path
name: user_id
description: 'The ID of the user.'
example: 10
required: true
schema:
type: integer
/users:
post:
summary: 'Criar um usuário'
operationId: criarUmUsurio
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
customer_id: 242
name: 'Srta. Taís Prado Saraiva'
email: cordeiro.viviane@example.net
email_verified_at: '2026-10-02T20:24:13.597894Z'
phone: '63981512059'
isolated_orders: true
last_login_at: '2026-10-02T20:24:13.598134Z'
created_at: '2026-10-02T20:24:13.598222Z'
updated_at: '2026-10-02T20:24:13.598281Z'
free_order_summary_remaining: 1
two_factor_confirmed_at: '2026-10-02T20:24:13.598355Z'
properties:
id:
type: integer
example: 1
customer_id:
type: integer
example: 242
name:
type: string
example: 'Srta. Taís Prado Saraiva'
email:
type: string
example: cordeiro.viviane@example.net
email_verified_at:
type: string
example: '2026-10-02T20:24:13.597894Z'
phone:
type: string
example: '63981512059'
isolated_orders:
type: boolean
example: true
last_login_at:
type: string
example: '2026-10-02T20:24:13.598134Z'
created_at:
type: string
example: '2026-10-02T20:24:13.598222Z'
updated_at:
type: string
example: '2026-10-02T20:24:13.598281Z'
free_order_summary_remaining:
type: integer
example: 1
two_factor_confirmed_at:
type: string
example: '2026-10-02T20:24:13.598355Z'
tags:
- Usuários
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
description: 'Deve ser um endereço de e-mail válido. Não pode ser superior a 200 caracteres.'
example: irene.carvalho@example.net
name:
type: string
description: 'Não pode ser superior a 60 caracteres.'
example: 'Ohana da Cruz Neto'
password:
type: string
description: 'Não pode ser superior a 255 caracteres.'
example: Senha@123
permissions:
type: array
description: 'Deve corresponder a um valor já cadastrado.'
example:
- 1
items:
type: integer
phone:
type: string
description: 'Não pode ser superior a 15 caracteres.'
example: '1320487154'
nullable: true
required:
- email
- name
- password
- permissions
get:
summary: 'Listar os usuários da conta'
operationId: listarOsUsuriosDaConta
description: 'O retorno é paginado'
parameters:
-
in: query
name: page
description: 'a página desejada'
example: 1
required: false
schema:
type: integer
description: 'a página desejada'
example: 1
-
in: query
name: per-page
description: 'quantidade de registros por página (padrão é 20, máx 30)'
example: 10
required: false
schema:
type: integer
description: 'quantidade de registros por página (padrão é 20, máx 30)'
example: 10
-
in: query
name: include
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: permissions, permissions_count, permissionsExists, groups, groups_count, groupsExists, notifications_preferences, notifications_preferences_count, notifications_preferencesExists"
example: null
required: false
schema:
type: string
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: permissions, permissions_count, permissionsExists, groups, groups_count, groupsExists, notifications_preferences, notifications_preferences_count, notifications_preferencesExists"
example: null
-
in: query
name: append
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: customer.total_ai_tokens_remaining, customer.ai_tokens_above_limit"
example: null
required: false
schema:
type: string
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: customer.total_ai_tokens_remaining, customer.ai_tokens_above_limit"
example: null
-
in: query
name: filter
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: name_or_email"
example: null
required: false
schema:
type: 'string[]'
description: "Campos disponíveis para filtrar. Ex: filter[nome_campo]=valor ou filter[nome_campo]=valor1,valor2. \n Disponíveis: name_or_email"
example: null
responses: {}
tags:
- Usuários
/users/trashed:
get:
summary: 'Listar os usuários excluídos da conta'
operationId: listarOsUsuriosExcludosDaConta
description: 'O retorno é paginado'
parameters:
-
in: query
name: page
description: 'a página desejada'
example: 1
required: false
schema:
type: integer
description: 'a página desejada'
example: 1
-
in: query
name: per-page
description: 'quantidade de registros por página (padrão é 20, máx 30)'
example: 10
required: false
schema:
type: integer
description: 'quantidade de registros por página (padrão é 20, máx 30)'
example: 10
-
in: query
name: include
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: permissions, permissions_count, permissionsExists, groups, groups_count, groupsExists, notifications_preferences, notifications_preferences_count, notifications_preferencesExists"
example: null
required: false
schema:
type: string
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: permissions, permissions_count, permissionsExists, groups, groups_count, groupsExists, notifications_preferences, notifications_preferences_count, notifications_preferencesExists"
example: null
-
in: query
name: append
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: customer.total_ai_tokens_remaining, customer.ai_tokens_above_limit"
example: null
required: false
schema:
type: string
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: customer.total_ai_tokens_remaining, customer.ai_tokens_above_limit"
example: null
responses: {}
tags:
- Usuários
/users/manage-data-permission-users-count:
get:
summary: 'Visualizar a quantidade de usuários da conta com a permissão de gerenciar usuários e dados da empresa'
operationId: visualizarAQuantidadeDeUsuriosDaContaComAPermissoDeGerenciarUsuriosEDadosDaEmpresa
description: ''
parameters: []
responses: {}
tags:
- Usuários
'/users/{id}':
get:
summary: 'Visualizar um usuário'
operationId: visualizarUmUsurio
description: ''
parameters:
-
in: query
name: include
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: permissions, permissions_count, permissionsExists, groups, groups_count, groupsExists, notifications_preferences, notifications_preferences_count, notifications_preferencesExists"
example: null
required: false
schema:
type: string
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: permissions, permissions_count, permissionsExists, groups, groups_count, groupsExists, notifications_preferences, notifications_preferences_count, notifications_preferencesExists"
example: null
-
in: query
name: append
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: customer.total_ai_tokens_remaining, customer.ai_tokens_above_limit"
example: null
required: false
schema:
type: string
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: customer.total_ai_tokens_remaining, customer.ai_tokens_above_limit"
example: null
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
customer_id: 745
name: 'Tábata Daiane Gusmão'
email: queiros.thalia@example.net
email_verified_at: '2026-10-02T20:24:13.643806Z'
phone: '97904147486'
isolated_orders: true
last_login_at: '2026-10-02T20:24:13.644125Z'
created_at: '2026-10-02T20:24:13.644216Z'
updated_at: '2026-10-02T20:24:13.644279Z'
free_order_summary_remaining: 1
two_factor_confirmed_at: '2026-10-02T20:24:13.644364Z'
properties:
id:
type: integer
example: 1
customer_id:
type: integer
example: 745
name:
type: string
example: 'Tábata Daiane Gusmão'
email:
type: string
example: queiros.thalia@example.net
email_verified_at:
type: string
example: '2026-10-02T20:24:13.643806Z'
phone:
type: string
example: '97904147486'
isolated_orders:
type: boolean
example: true
last_login_at:
type: string
example: '2026-10-02T20:24:13.644125Z'
created_at:
type: string
example: '2026-10-02T20:24:13.644216Z'
updated_at:
type: string
example: '2026-10-02T20:24:13.644279Z'
free_order_summary_remaining:
type: integer
example: 1
two_factor_confirmed_at:
type: string
example: '2026-10-02T20:24:13.644364Z'
tags:
- Usuários
parameters:
-
in: path
name: id
description: 'The ID of the user.'
example: 0-9
required: true
schema:
type: integer
/users/with-visible-orders:
get:
summary: 'Listar os usuários da conta que o usuário logado pode ver os pedidos'
operationId: listarOsUsuriosDaContaQueOUsurioLogadoPodeVerOsPedidos
description: ''
parameters:
-
in: query
name: include
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: permissions, permissions_count, permissionsExists, groups, groups_count, groupsExists, notifications_preferences, notifications_preferences_count, notifications_preferencesExists"
example: null
required: false
schema:
type: string
description: "Relações disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: permissions, permissions_count, permissionsExists, groups, groups_count, groupsExists, notifications_preferences, notifications_preferences_count, notifications_preferencesExists"
example: null
-
in: query
name: append
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: customer.total_ai_tokens_remaining, customer.ai_tokens_above_limit"
example: null
required: false
schema:
type: string
description: "Propriedades disponíveis para incluir na resposta. Múltiplas devem ser separadas com vírgula. \n Disponíveis: customer.total_ai_tokens_remaining, customer.ai_tokens_above_limit"
example: null
responses: {}
tags:
- Usuários
'/users/{user_id}/permissions':
put:
summary: 'Alterar as permissões de um usuário'
operationId: alterarAsPermissesDeUmUsurio
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
customer_id: 32
name: 'Sr. André Amaral Caldeira'
email: veronica.molina@example.net
email_verified_at: '2026-10-02T20:24:13.673289Z'
phone: '32943986365'
isolated_orders: true
last_login_at: '2026-10-02T20:24:13.673518Z'
created_at: '2026-10-02T20:24:13.673573Z'
updated_at: '2026-10-02T20:24:13.673610Z'
free_order_summary_remaining: 1
two_factor_confirmed_at: '2026-10-02T20:24:13.673657Z'
properties:
id:
type: integer
example: 1
customer_id:
type: integer
example: 32
name:
type: string
example: 'Sr. André Amaral Caldeira'
email:
type: string
example: veronica.molina@example.net
email_verified_at:
type: string
example: '2026-10-02T20:24:13.673289Z'
phone:
type: string
example: '32943986365'
isolated_orders:
type: boolean
example: true
last_login_at:
type: string
example: '2026-10-02T20:24:13.673518Z'
created_at:
type: string
example: '2026-10-02T20:24:13.673573Z'
updated_at:
type: string
example: '2026-10-02T20:24:13.673610Z'
free_order_summary_remaining:
type: integer
example: 1
two_factor_confirmed_at:
type: string
example: '2026-10-02T20:24:13.673657Z'
tags:
- Usuários
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
permissions:
type: array
description: 'Deve corresponder a um valor já cadastrado.'
example:
- 1
items:
type: integer
required:
- permissions
parameters:
-
in: path
name: user_id
description: 'The ID of the user.'
example: 10
required: true
schema:
type: integer
'/users/{user_id}/notifications-preferences':
put:
summary: 'Alterar as preferências de notificação do usuário'
operationId: alterarAsPrefernciasDeNotificaoDoUsurio
description: "database - São as notificações que aparecem no sistema.\nmail - São as notificações enviadas por email."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
customer_id: 460
name: 'Dr. Vinícius Alves Neto'
email: benez.heloisa@example.com
email_verified_at: '2026-10-02T20:24:13.704781Z'
phone: '4747172467'
isolated_orders: true
last_login_at: '2026-10-02T20:24:13.705078Z'
created_at: '2026-10-02T20:24:13.705184Z'
updated_at: '2026-10-02T20:24:13.705262Z'
free_order_summary_remaining: 1
two_factor_confirmed_at: '2026-10-02T20:24:13.705350Z'
properties:
id:
type: integer
example: 1
customer_id:
type: integer
example: 460
name:
type: string
example: 'Dr. Vinícius Alves Neto'
email:
type: string
example: benez.heloisa@example.com
email_verified_at:
type: string
example: '2026-10-02T20:24:13.704781Z'
phone:
type: string
example: '4747172467'
isolated_orders:
type: boolean
example: true
last_login_at:
type: string
example: '2026-10-02T20:24:13.705078Z'
created_at:
type: string
example: '2026-10-02T20:24:13.705184Z'
updated_at:
type: string
example: '2026-10-02T20:24:13.705262Z'
free_order_summary_remaining:
type: integer
example: 1
two_factor_confirmed_at:
type: string
example: '2026-10-02T20:24:13.705350Z'
tags:
- Usuários
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
bank_slip_notification_via:
type: array
description: ''
example:
- database
- mail
items:
type: string
enum:
- database
- mail
placed_purchase_notification_via:
type: array
description: ''
example:
- database
- mail
items:
type: string
enum:
- database
- mail
finished_order_notification_via:
type: array
description: ''
example:
- database
- mail
items:
type: string
enum:
- database
- mail
pending_action_notification_via:
type: array
description: ''
example:
- database
- mail
items:
type: string
enum:
- database
- mail
refunded_order_notification_via:
type: array
description: ''
example:
- database
- mail
items:
type: string
enum:
- database
- mail
spreadsheet_placed_purchase_notification_via:
type: object
description: ''
example: []
properties: {}
finished_purchase_notification_via:
type: array
description: ''
example:
- database
- mail
items:
type: string
enum:
- database
- mail
certificate_expired_notification_via:
type: array
description: ''
example:
- database
- mail
items:
type: string
enum:
- database
- mail
system_information_notification_via:
type: array
description: ''
example:
- database
- mail
items:
type: string
enum:
- database
- mail
system_unavailable_notification_via:
type: array
description: ''
example:
- database
- mail
items:
type: string
enum:
- database
- mail
summary_extracted_notification_via:
type: array
description: ''
example:
- database
- mail
items:
type: string
enum:
- database
- mail
order_challenge_notification_via:
type: array
description: ''
example:
- database
- mail
items:
type: string
enum:
- database
- mail
failed_purchase_notification_via:
type: array
description: ''
example:
- database
- mail
items:
type: string
enum:
- database
- mail
order_finished_positive_result_via:
type: array
description: ''
example:
- database
- mail
items:
type: string
enum:
- database
- mail
canceled_order_notification_via:
type: array
description: ''
example:
- database
- mail
items:
type: string
enum:
- database
- mail
spreadsheet_placed_purchase_notification:
type: array
description: ''
example:
- database
- mail
items:
type: string
enum:
- database
- mail
required:
- bank_slip_notification_via
- placed_purchase_notification_via
- finished_order_notification_via
- pending_action_notification_via
- refunded_order_notification_via
- finished_purchase_notification_via
- certificate_expired_notification_via
- system_information_notification_via
- system_unavailable_notification_via
- summary_extracted_notification_via
- order_challenge_notification_via
- failed_purchase_notification_via
- order_finished_positive_result_via
- canceled_order_notification_via
- spreadsheet_placed_purchase_notification
parameters:
-
in: path
name: user_id
description: 'The ID of the user.'
example: 10
required: true
schema:
type: integer
'/users/{user_id}/password':
patch:
summary: 'Alterar a senha do usuário'
operationId: alterarASenhaDoUsurio
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
customer_id: 563
name: 'Dr. Iasmin Alice Rosa Filho'
email: iferminiano@example.org
email_verified_at: '2026-10-02T20:24:13.728346Z'
phone: '8333031479'
isolated_orders: true
last_login_at: '2026-10-02T20:24:13.728553Z'
created_at: '2026-10-02T20:24:13.728620Z'
updated_at: '2026-10-02T20:24:13.728681Z'
free_order_summary_remaining: 1
two_factor_confirmed_at: '2026-10-02T20:24:13.728762Z'
properties:
id:
type: integer
example: 1
customer_id:
type: integer
example: 563
name:
type: string
example: 'Dr. Iasmin Alice Rosa Filho'
email:
type: string
example: iferminiano@example.org
email_verified_at:
type: string
example: '2026-10-02T20:24:13.728346Z'
phone:
type: string
example: '8333031479'
isolated_orders:
type: boolean
example: true
last_login_at:
type: string
example: '2026-10-02T20:24:13.728553Z'
created_at:
type: string
example: '2026-10-02T20:24:13.728620Z'
updated_at:
type: string
example: '2026-10-02T20:24:13.728681Z'
free_order_summary_remaining:
type: integer
example: 1
two_factor_confirmed_at:
type: string
example: '2026-10-02T20:24:13.728762Z'
tags:
- Usuários
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
current_password:
type: string
description: 'Não pode ser superior a 255 caracteres.'
example: Senha@123
new_password:
type: string
description: 'Não pode ser superior a 255 caracteres.'
example: Senha@123
required:
- current_password
- new_password
parameters:
-
in: path
name: user_id
description: 'The ID of the user.'
example: 10
required: true
schema:
type: integer
'/users/{users}':
delete:
summary: 'Excluir um ou múltiplos usuários'
operationId: excluirUmOuMltiplosUsurios
description: ''
parameters: []
responses: {}
tags:
- Usuários
parameters:
-
in: path
name: users
description: ''
example: 1
required: true
schema:
type: integer
'/users/request-admin-enable-automatic-purchase/service/{service_id}':
put:
summary: 'Envia email para um administrador solicitando ativação da compra automática a pedido de um usuário'
operationId: enviaEmailParaUmAdministradorSolicitandoAtivaoDaCompraAutomticaAPedidoDeUmUsurio
description: ''
parameters: []
responses: {}
tags:
- Usuários
parameters:
-
in: path
name: service_id
description: 'The ID of the service.'
example: 10
required: true
schema:
type: integer
'/users/request-admin-enable-automatic-order-summary/service/{service_id}':
put:
summary: 'Envia email para um administrador solicitando ativação da ficha automática a pedido de um usuário'
operationId: enviaEmailParaUmAdministradorSolicitandoAtivaoDaFichaAutomticaAPedidoDeUmUsurio
description: ''
parameters: []
responses: {}
tags:
- Usuários
parameters:
-
in: path
name: service_id
description: 'The ID of the service.'
example: 10
required: true
schema:
type: integer