@lionchat/mcp-server 0.4.6 → 0.4.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/endpoints.json CHANGED
@@ -324,6 +324,95 @@
324
324
  "lionchat_contacts_update_1"
325
325
  ]
326
326
  },
327
+ {
328
+ "id": "lionchat_contacts_update_cadastral",
329
+ "method": "PATCH",
330
+ "path": "/api/v1/accounts/{account_id}/contacts/{id}/update_cadastral",
331
+ "title": "Atualizar Dados Cadastrais do Contato",
332
+ "description": "Atualiza os dados cadastrais brasileiros do contato (endpoint dedicado, com validação própria de CPF/CNPJ/etc). NÃO use custom_attribute para esses dados — use este endpoint. IMPORTANTE: os campos cpf, rg, cnpj, passport, date_of_birth e gender são IMUTÁVEIS — só aceitam a PRIMEIRA escrita; depois disso a IA NÃO deve tentar sobrescrevê-los (são protegidos contra alteração automática). Os campos mutáveis (podem ser alterados a qualquer momento) são marital_status, profession e address. Envie apenas os campos que deseja gravar.",
333
+ "category": "Contatos",
334
+ "params": [
335
+ {
336
+ "name": "id",
337
+ "type": "integer",
338
+ "location": "path",
339
+ "required": true,
340
+ "description": "ID do contato"
341
+ },
342
+ {
343
+ "name": "marital_status",
344
+ "type": "string",
345
+ "location": "body",
346
+ "required": false,
347
+ "description": "Estado civil (mutável — pode ser alterado a qualquer momento)"
348
+ },
349
+ {
350
+ "name": "profession",
351
+ "type": "string",
352
+ "location": "body",
353
+ "required": false,
354
+ "description": "Profissão (mutável — pode ser alterado a qualquer momento)"
355
+ },
356
+ {
357
+ "name": "address",
358
+ "type": "object",
359
+ "location": "body",
360
+ "required": false,
361
+ "description": "Endereço (mutável). Objeto com cep, street, number, complement, neighborhood, city, state, country"
362
+ },
363
+ {
364
+ "name": "cpf",
365
+ "type": "string",
366
+ "location": "body",
367
+ "required": false,
368
+ "description": "CPF (IMUTÁVEL — só primeira escrita; a IA não deve sobrescrever)"
369
+ },
370
+ {
371
+ "name": "rg",
372
+ "type": "string",
373
+ "location": "body",
374
+ "required": false,
375
+ "description": "RG (IMUTÁVEL — só primeira escrita; a IA não deve sobrescrever)"
376
+ },
377
+ {
378
+ "name": "cnpj",
379
+ "type": "string",
380
+ "location": "body",
381
+ "required": false,
382
+ "description": "CNPJ (IMUTÁVEL — só primeira escrita; a IA não deve sobrescrever)"
383
+ },
384
+ {
385
+ "name": "passport",
386
+ "type": "string",
387
+ "location": "body",
388
+ "required": false,
389
+ "description": "Passaporte (IMUTÁVEL — só primeira escrita; a IA não deve sobrescrever)"
390
+ },
391
+ {
392
+ "name": "date_of_birth",
393
+ "type": "string",
394
+ "location": "body",
395
+ "required": false,
396
+ "description": "Data de nascimento (IMUTÁVEL — só primeira escrita; a IA não deve sobrescrever)"
397
+ },
398
+ {
399
+ "name": "gender",
400
+ "type": "string",
401
+ "location": "body",
402
+ "required": false,
403
+ "description": "Gênero (IMUTÁVEL — só primeira escrita; a IA não deve sobrescrever)"
404
+ }
405
+ ],
406
+ "returns": "contato atualizado",
407
+ "common_use_cases": [
408
+ "Preencher dados cadastrais brasileiros (CPF, endereço) na primeira vez",
409
+ "Atualizar estado civil ou profissão do contato",
410
+ "Atualizar o endereço do contato"
411
+ ],
412
+ "related_tools": [
413
+ "lionchat_contacts_update"
414
+ ]
415
+ },
327
416
  {
328
417
  "id": "lionchat_contacts_destroy",
329
418
  "method": "DELETE",
@@ -3508,7 +3597,7 @@
3508
3597
  "method": "POST",
3509
3598
  "path": "/api/v1/accounts/{account_id}/contacts/import_csv",
3510
3599
  "title": "Importar Contatos (Wizard CSV)",
3511
- "description": "Importa contatos via wizard CSV. **Requer perfil Administrador.**. Cria novo contato. Obrigatórios: file, column_mapping. Valida unicidade quando aplicável. Retorna o contato criado com ID atribuído.",
3600
+ "description": "Importa contatos via wizard CSV (assincrono). **Requer perfil Administrador.** Obrigatórios: file, mappings. Retorna { import_id } para acompanhar o progresso via import_status.",
3512
3601
  "category": "Contatos",
3513
3602
  "params": [
3514
3603
  {
@@ -3516,33 +3605,26 @@
3516
3605
  "type": "file",
3517
3606
  "location": "body",
3518
3607
  "required": true,
3519
- "description": "Arquivo CSV"
3608
+ "description": "Arquivo CSV (multipart)"
3520
3609
  },
3521
3610
  {
3522
- "name": "column_mapping",
3611
+ "name": "mappings",
3523
3612
  "type": "string",
3524
3613
  "location": "body",
3525
3614
  "required": true,
3526
- "description": "JSON com mapeamento de colunas"
3527
- },
3528
- {
3529
- "name": "validate_whatsapp",
3530
- "type": "boolean",
3531
- "location": "body",
3532
- "required": false,
3533
- "description": "Validar WhatsApp"
3615
+ "description": "JSON mapeando coluna do CSV -> campo do contato. Campos aceitos: name, email, phone_number, company, city, labels, instagram, facebook, linkedin, twitter (demais chaves sao ignoradas)"
3534
3616
  }
3535
3617
  ],
3536
- "returns": "contato criado (com novo ID)",
3618
+ "returns": "{ import_id } — use import_status para acompanhar o progresso",
3537
3619
  "common_use_cases": [
3538
- "Cadastro inicial de contato",
3539
- "Automação a partir de evento externo",
3540
- "Importação manual via API"
3620
+ "Importacao em massa de contatos a partir de planilha",
3621
+ "Migracao de base de outro sistema",
3622
+ "Atualizacao em lote de contatos existentes"
3541
3623
  ],
3542
3624
  "related_tools": [
3543
- "lionchat_contacts_create",
3544
- "lionchat_contacts_create_1",
3545
- "lionchat_contacts_create_2"
3625
+ "lionchat_contacts_create_7",
3626
+ "lionchat_contacts_show_1",
3627
+ "lionchat_contacts_import"
3546
3628
  ]
3547
3629
  },
3548
3630
  {
@@ -3550,25 +3632,25 @@
3550
3632
  "method": "GET",
3551
3633
  "path": "/api/v1/accounts/{account_id}/contacts/import_status/{import_id}",
3552
3634
  "title": "Status de Importação",
3553
- "description": "Retorna o progresso da importação assíncrona. Retorna detalhes completos de UM contato específico pelo ID. Inclui campos relacionais quando aplicável.",
3635
+ "description": "Retorna o progresso de uma importação de contatos assíncrona (polling). NAO retorna um contato — retorna o andamento do job de import (status, total, processados, criados, atualizados, erros).",
3554
3636
  "category": "Contatos",
3555
3637
  "params": [
3556
3638
  {
3557
3639
  "name": "import_id",
3558
- "type": "integer",
3640
+ "type": "string",
3559
3641
  "location": "path",
3560
3642
  "required": true,
3561
- "description": "ID do import"
3643
+ "description": "UUID do import retornado por import_csv"
3562
3644
  }
3563
3645
  ],
3564
- "returns": "contato (objeto completo com associações)",
3646
+ "returns": "{ status, total, processed, created, updated, error_count, labels_created, errors }",
3565
3647
  "common_use_cases": [
3566
- "Ver dados completos antes de editar",
3567
- "Verificar estado atual antes de uma ação",
3568
- "Mostrar perfil ou ficha de contato"
3648
+ "Acompanhar barra de progresso da importacao",
3649
+ "Verificar se a importacao terminou",
3650
+ "Listar erros de linhas que falharam"
3569
3651
  ],
3570
3652
  "related_tools": [
3571
- "lionchat_contacts_show"
3653
+ "lionchat_contacts_create_8"
3572
3654
  ]
3573
3655
  },
3574
3656
  {
@@ -4345,180 +4427,6 @@
4345
4427
  "lionchat_conversations_list_2"
4346
4428
  ]
4347
4429
  },
4348
- {
4349
- "id": "lionchat_kanban_v2_list",
4350
- "method": "GET",
4351
- "path": "/api/v1/accounts/{account_id}/kanban/items",
4352
- "title": "Listar Items Kanban (V2)",
4353
- "description": "Lista items do Kanban com filtros. Lista cards Kanban paginados (per_page padrão 25, máximo 100). Retorna meta (contadores) + payload (array de card Kanban).",
4354
- "category": "Kanban V2",
4355
- "params": [],
4356
- "returns": "meta (contadores globais) + payload (array de cards Kanban)",
4357
- "common_use_cases": [
4358
- "Dashboard: contar/exibir cards Kanban",
4359
- "Buscar com filtros antes de outra operação",
4360
- "Auditoria/relatório de cards Kanban ativas"
4361
- ],
4362
- "related_tools": [
4363
- "lionchat_kanban_v2_create",
4364
- "lionchat_kanban_v2_show",
4365
- "lionchat_kanban_v2_update"
4366
- ]
4367
- },
4368
- {
4369
- "id": "lionchat_kanban_v2_create",
4370
- "method": "POST",
4371
- "path": "/api/v1/accounts/{account_id}/kanban/items",
4372
- "title": "Criar Item Kanban (V2)",
4373
- "description": "Cria um novo item no Kanban. Cria novo card Kanban. Obrigatórios: funnel_id, funnel_stage. Valida unicidade quando aplicável. Retorna o card Kanban criado com ID atribuído.",
4374
- "category": "Kanban V2",
4375
- "params": [
4376
- {
4377
- "name": "funnel_id",
4378
- "type": "integer",
4379
- "location": "body",
4380
- "required": true,
4381
- "description": "ID do funil"
4382
- },
4383
- {
4384
- "name": "funnel_stage",
4385
- "type": "string",
4386
- "location": "body",
4387
- "required": true,
4388
- "description": "Etapa do funil"
4389
- },
4390
- {
4391
- "name": "conversation_display_id",
4392
- "type": "integer",
4393
- "location": "body",
4394
- "required": false,
4395
- "description": "Display ID da conversa"
4396
- },
4397
- {
4398
- "name": "item_details",
4399
- "type": "object",
4400
- "location": "body",
4401
- "required": false,
4402
- "description": "Detalhes do item"
4403
- }
4404
- ],
4405
- "returns": "card Kanban criado (com novo ID)",
4406
- "common_use_cases": [
4407
- "Cadastro inicial de card Kanban",
4408
- "Automação a partir de evento externo",
4409
- "Importação manual via API"
4410
- ],
4411
- "related_tools": [
4412
- "lionchat_kanban_v2_list",
4413
- "lionchat_kanban_v2_show",
4414
- "lionchat_kanban_v2_update"
4415
- ]
4416
- },
4417
- {
4418
- "id": "lionchat_kanban_v2_show",
4419
- "method": "GET",
4420
- "path": "/api/v1/accounts/{account_id}/kanban/items/{id}",
4421
- "title": "Detalhes Item Kanban (V2)",
4422
- "description": "Retorna detalhes de um item do Kanban. Retorna detalhes completos de UM card Kanban específico pelo ID. Inclui campos relacionais quando aplicável.",
4423
- "category": "Kanban V2",
4424
- "params": [
4425
- {
4426
- "name": "id",
4427
- "type": "integer",
4428
- "location": "path",
4429
- "required": true,
4430
- "description": "ID do item"
4431
- }
4432
- ],
4433
- "returns": "card Kanban (objeto completo com associações)",
4434
- "common_use_cases": [
4435
- "Ver dados completos antes de editar",
4436
- "Verificar estado atual antes de uma ação",
4437
- "Mostrar perfil ou ficha de card Kanban"
4438
- ],
4439
- "related_tools": [
4440
- "lionchat_kanban_v2_list",
4441
- "lionchat_kanban_v2_create",
4442
- "lionchat_kanban_v2_update"
4443
- ]
4444
- },
4445
- {
4446
- "id": "lionchat_kanban_v2_update",
4447
- "method": "PUT",
4448
- "path": "/api/v1/accounts/{account_id}/kanban/items/{id}",
4449
- "title": "Atualizar Item Kanban (V2)",
4450
- "description": "Atualiza um item do Kanban. Atualiza campos do card Kanban existente. Suporta atualização parcial (PATCH) — só campos enviados são alterados. Campos suportados: funnel_stage, position, item_details.",
4451
- "category": "Kanban V2",
4452
- "params": [
4453
- {
4454
- "name": "id",
4455
- "type": "integer",
4456
- "location": "path",
4457
- "required": true,
4458
- "description": "ID do item"
4459
- },
4460
- {
4461
- "name": "funnel_stage",
4462
- "type": "string",
4463
- "location": "body",
4464
- "required": false,
4465
- "description": "Nova etapa"
4466
- },
4467
- {
4468
- "name": "position",
4469
- "type": "integer",
4470
- "location": "body",
4471
- "required": false,
4472
- "description": "Nova posicao"
4473
- },
4474
- {
4475
- "name": "item_details",
4476
- "type": "object",
4477
- "location": "body",
4478
- "required": false,
4479
- "description": "Detalhes"
4480
- }
4481
- ],
4482
- "returns": "card Kanban atualizado",
4483
- "common_use_cases": [
4484
- "Edição parcial de card Kanban",
4485
- "Alteração de status/estado",
4486
- "Atualização em massa via automação"
4487
- ],
4488
- "related_tools": [
4489
- "lionchat_kanban_v2_list",
4490
- "lionchat_kanban_v2_create",
4491
- "lionchat_kanban_v2_show"
4492
- ]
4493
- },
4494
- {
4495
- "id": "lionchat_kanban_v2_destroy",
4496
- "method": "DELETE",
4497
- "path": "/api/v1/accounts/{account_id}/kanban/items/{id}",
4498
- "title": "Excluir Item Kanban (V2)",
4499
- "description": "Remove um item do Kanban. Remove card Kanban permanentemente. CUIDADO: ação irreversível em muitos casos. Verifique dependências antes.",
4500
- "category": "Kanban V2",
4501
- "params": [
4502
- {
4503
- "name": "id",
4504
- "type": "integer",
4505
- "location": "path",
4506
- "required": true,
4507
- "description": "ID do item"
4508
- }
4509
- ],
4510
- "returns": "204 No Content",
4511
- "common_use_cases": [
4512
- "Limpeza de dados obsoletos",
4513
- "Deduplicação manual",
4514
- "Remoção após confirmação do cliente"
4515
- ],
4516
- "related_tools": [
4517
- "lionchat_kanban_v2_list",
4518
- "lionchat_kanban_v2_create",
4519
- "lionchat_kanban_v2_show"
4520
- ]
4521
- },
4522
4430
  {
4523
4431
  "id": "lionchat_kanban_v2_list_1",
4524
4432
  "method": "GET",
@@ -4593,336 +4501,23 @@
4593
4501
  {
4594
4502
  "name": "item_id",
4595
4503
  "type": "integer",
4596
- "location": "path",
4597
- "required": true,
4598
- "description": "ID do item"
4599
- },
4600
- {
4601
- "name": "id",
4602
- "type": "integer",
4603
- "location": "path",
4604
- "required": true,
4605
- "description": "ID do anexo"
4606
- }
4607
- ],
4608
- "returns": "204 No Content",
4609
- "common_use_cases": [
4610
- "Limpeza de dados obsoletos",
4611
- "Deduplicação manual",
4612
- "Remoção após confirmação do cliente"
4613
- ],
4614
- "related_tools": [
4615
- "lionchat_kanban_v2_list",
4616
- "lionchat_kanban_v2_create",
4617
- "lionchat_kanban_v2_show"
4618
- ]
4619
- },
4620
- {
4621
- "id": "lionchat_kanban_v2_create_1",
4622
- "method": "POST",
4623
- "path": "/api/v1/accounts/{account_id}/kanban/items/{item_id}/note_attachments",
4624
- "title": "Adicionar Anexo a Nota",
4625
- "description": "Adiciona um anexo a uma nota do item. Cria novo card Kanban. Obrigatórios: item_id, file. Valida unicidade quando aplicável. Retorna o card Kanban criado com ID atribuído.",
4626
- "category": "Kanban V2",
4627
- "params": [
4628
- {
4629
- "name": "item_id",
4630
- "type": "integer",
4631
- "location": "path",
4632
- "required": true,
4633
- "description": "ID do item"
4634
- },
4635
- {
4636
- "name": "file",
4637
- "type": "file",
4638
- "location": "body",
4639
- "required": true,
4640
- "description": "Arquivo para upload"
4641
- }
4642
- ],
4643
- "returns": "card Kanban criado (com novo ID)",
4644
- "common_use_cases": [
4645
- "Cadastro inicial de card Kanban",
4646
- "Automação a partir de evento externo",
4647
- "Importação manual via API"
4648
- ],
4649
- "related_tools": [
4650
- "lionchat_kanban_v2_list",
4651
- "lionchat_kanban_v2_create",
4652
- "lionchat_kanban_v2_show"
4653
- ]
4654
- },
4655
- {
4656
- "id": "lionchat_kanban_v2_destroy_2",
4657
- "method": "DELETE",
4658
- "path": "/api/v1/accounts/{account_id}/kanban/items/{item_id}/note_attachments/{id}",
4659
- "title": "Remover Anexo de Nota",
4660
- "description": "Remove um anexo de nota do item. Remove card Kanban permanentemente. CUIDADO: ação irreversível em muitos casos. Verifique dependências antes.",
4661
- "category": "Kanban V2",
4662
- "params": [
4663
- {
4664
- "name": "item_id",
4665
- "type": "integer",
4666
- "location": "path",
4667
- "required": true,
4668
- "description": "ID do item"
4669
- },
4670
- {
4671
- "name": "id",
4672
- "type": "integer",
4673
- "location": "path",
4674
- "required": true,
4675
- "description": "ID do anexo"
4676
- }
4677
- ],
4678
- "returns": "204 No Content",
4679
- "common_use_cases": [
4680
- "Limpeza de dados obsoletos",
4681
- "Deduplicação manual",
4682
- "Remoção após confirmação do cliente"
4683
- ],
4684
- "related_tools": [
4685
- "lionchat_kanban_v2_list",
4686
- "lionchat_kanban_v2_create",
4687
- "lionchat_kanban_v2_show"
4688
- ]
4689
- },
4690
- {
4691
- "id": "lionchat_kanban_v2_list_2",
4692
- "method": "GET",
4693
- "path": "/api/v1/accounts/{account_id}/kanban/funnels",
4694
- "title": "Listar Funis (V2)",
4695
- "description": "Lista todos os funis do Kanban. Lista cards Kanban paginados (per_page padrão 25, máximo 100). Retorna meta (contadores) + payload (array de card Kanban).",
4696
- "category": "Kanban V2",
4697
- "params": [],
4698
- "returns": "meta (contadores globais) + payload (array de cards Kanban)",
4699
- "common_use_cases": [
4700
- "Dashboard: contar/exibir cards Kanban",
4701
- "Buscar com filtros antes de outra operação",
4702
- "Auditoria/relatório de cards Kanban ativas"
4703
- ],
4704
- "related_tools": [
4705
- "lionchat_kanban_v2_list",
4706
- "lionchat_kanban_v2_create",
4707
- "lionchat_kanban_v2_show"
4708
- ]
4709
- },
4710
- {
4711
- "id": "lionchat_kanban_v2_create_2",
4712
- "method": "POST",
4713
- "path": "/api/v1/accounts/{account_id}/kanban/funnels",
4714
- "title": "Criar Funil (V2)",
4715
- "description": "Cria um novo funil no Kanban. Cria novo card Kanban. Obrigatórios: name, stages. Valida unicidade quando aplicável. Retorna o card Kanban criado com ID atribuído.",
4716
- "category": "Kanban V2",
4717
- "params": [
4718
- {
4719
- "name": "name",
4720
- "type": "string",
4721
- "location": "body",
4722
- "required": true,
4723
- "description": "Nome do funil"
4724
- },
4725
- {
4726
- "name": "stages",
4727
- "type": "array",
4728
- "location": "body",
4729
- "required": true,
4730
- "description": "Etapas do funil"
4731
- }
4732
- ],
4733
- "returns": "card Kanban criado (com novo ID)",
4734
- "common_use_cases": [
4735
- "Cadastro inicial de card Kanban",
4736
- "Automação a partir de evento externo",
4737
- "Importação manual via API"
4738
- ],
4739
- "related_tools": [
4740
- "lionchat_kanban_v2_list",
4741
- "lionchat_kanban_v2_create",
4742
- "lionchat_kanban_v2_show"
4743
- ]
4744
- },
4745
- {
4746
- "id": "lionchat_kanban_v2_show_1",
4747
- "method": "GET",
4748
- "path": "/api/v1/accounts/{account_id}/kanban/funnels/{id}",
4749
- "title": "Detalhes Funil (V2)",
4750
- "description": "Retorna detalhes de um funil. Retorna detalhes completos de UM card Kanban específico pelo ID. Inclui campos relacionais quando aplicável.",
4751
- "category": "Kanban V2",
4752
- "params": [
4753
- {
4754
- "name": "id",
4755
- "type": "integer",
4756
- "location": "path",
4757
- "required": true,
4758
- "description": "ID do funil"
4759
- }
4760
- ],
4761
- "returns": "card Kanban (objeto completo com associações)",
4762
- "common_use_cases": [
4763
- "Ver dados completos antes de editar",
4764
- "Verificar estado atual antes de uma ação",
4765
- "Mostrar perfil ou ficha de card Kanban"
4766
- ],
4767
- "related_tools": [
4768
- "lionchat_kanban_v2_list",
4769
- "lionchat_kanban_v2_create",
4770
- "lionchat_kanban_v2_show"
4771
- ]
4772
- },
4773
- {
4774
- "id": "lionchat_kanban_v2_update_1",
4775
- "method": "PUT",
4776
- "path": "/api/v1/accounts/{account_id}/kanban/funnels/{id}",
4777
- "title": "Atualizar Funil (V2)",
4778
- "description": "Atualiza um funil. Atualiza campos do card Kanban existente. Suporta atualização parcial (PATCH) — só campos enviados são alterados. Campos suportados: name, stages.",
4779
- "category": "Kanban V2",
4780
- "params": [
4781
- {
4782
- "name": "id",
4783
- "type": "integer",
4784
- "location": "path",
4785
- "required": true,
4786
- "description": "ID do funil"
4787
- },
4788
- {
4789
- "name": "name",
4790
- "type": "string",
4791
- "location": "body",
4792
- "required": false,
4793
- "description": "Nome"
4794
- },
4795
- {
4796
- "name": "stages",
4797
- "type": "array",
4798
- "location": "body",
4799
- "required": false,
4800
- "description": "Etapas"
4801
- }
4802
- ],
4803
- "returns": "card Kanban atualizado",
4804
- "common_use_cases": [
4805
- "Edição parcial de card Kanban",
4806
- "Alteração de status/estado",
4807
- "Atualização em massa via automação"
4808
- ],
4809
- "related_tools": [
4810
- "lionchat_kanban_v2_list",
4811
- "lionchat_kanban_v2_create",
4812
- "lionchat_kanban_v2_show"
4813
- ]
4814
- },
4815
- {
4816
- "id": "lionchat_kanban_v2_destroy_3",
4817
- "method": "DELETE",
4818
- "path": "/api/v1/accounts/{account_id}/kanban/funnels/{id}",
4819
- "title": "Excluir Funil (V2)",
4820
- "description": "Remove um funil do Kanban. Remove card Kanban permanentemente. CUIDADO: ação irreversível em muitos casos. Verifique dependências antes.",
4821
- "category": "Kanban V2",
4822
- "params": [
4823
- {
4824
- "name": "id",
4825
- "type": "integer",
4826
- "location": "path",
4827
- "required": true,
4828
- "description": "ID do funil"
4829
- }
4830
- ],
4831
- "returns": "204 No Content",
4832
- "common_use_cases": [
4833
- "Limpeza de dados obsoletos",
4834
- "Deduplicação manual",
4835
- "Remoção após confirmação do cliente"
4836
- ],
4837
- "related_tools": [
4838
- "lionchat_kanban_v2_list",
4839
- "lionchat_kanban_v2_create",
4840
- "lionchat_kanban_v2_show"
4841
- ]
4842
- },
4843
- {
4844
- "id": "lionchat_kanban_v2_list_3",
4845
- "method": "GET",
4846
- "path": "/api/v1/accounts/{account_id}/kanban/stages",
4847
- "title": "Listar Etapas Kanban",
4848
- "description": "Lista todas as etapas configuradas. Lista cards Kanban paginados (per_page padrão 25, máximo 100). Retorna meta (contadores) + payload (array de card Kanban).",
4849
- "category": "Kanban V2",
4850
- "params": [],
4851
- "returns": "meta (contadores globais) + payload (array de cards Kanban)",
4852
- "common_use_cases": [
4853
- "Dashboard: contar/exibir cards Kanban",
4854
- "Buscar com filtros antes de outra operação",
4855
- "Auditoria/relatório de cards Kanban ativas"
4856
- ],
4857
- "related_tools": [
4858
- "lionchat_kanban_v2_list",
4859
- "lionchat_kanban_v2_create",
4860
- "lionchat_kanban_v2_show"
4861
- ]
4862
- },
4863
- {
4864
- "id": "lionchat_kanban_v2_create_3",
4865
- "method": "POST",
4866
- "path": "/api/v1/accounts/{account_id}/kanban/stages",
4867
- "title": "Criar Etapa Kanban",
4868
- "description": "Cria uma nova etapa no Kanban. Cria novo card Kanban. Obrigatórios: name, funnel_id. Valida unicidade quando aplicável. Retorna o card Kanban criado com ID atribuído.",
4869
- "category": "Kanban V2",
4870
- "params": [
4871
- {
4872
- "name": "name",
4873
- "type": "string",
4874
- "location": "body",
4875
- "required": true,
4876
- "description": "Nome da etapa"
4877
- },
4878
- {
4879
- "name": "funnel_id",
4880
- "type": "integer",
4881
- "location": "body",
4882
- "required": true,
4883
- "description": "ID do funil"
4884
- },
4885
- {
4886
- "name": "position",
4887
- "type": "integer",
4888
- "location": "body",
4889
- "required": false,
4890
- "description": "Posicao"
4891
- }
4892
- ],
4893
- "returns": "card Kanban criado (com novo ID)",
4894
- "common_use_cases": [
4895
- "Cadastro inicial de card Kanban",
4896
- "Automação a partir de evento externo",
4897
- "Importação manual via API"
4898
- ],
4899
- "related_tools": [
4900
- "lionchat_kanban_v2_list",
4901
- "lionchat_kanban_v2_create",
4902
- "lionchat_kanban_v2_show"
4903
- ]
4904
- },
4905
- {
4906
- "id": "lionchat_kanban_v2_show_2",
4907
- "method": "GET",
4908
- "path": "/api/v1/accounts/{account_id}/kanban/stages/{id}",
4909
- "title": "Detalhes Etapa Kanban",
4910
- "description": "Retorna detalhes de uma etapa. Retorna detalhes completos de UM card Kanban específico pelo ID. Inclui campos relacionais quando aplicável.",
4911
- "category": "Kanban V2",
4912
- "params": [
4504
+ "location": "path",
4505
+ "required": true,
4506
+ "description": "ID do item"
4507
+ },
4913
4508
  {
4914
4509
  "name": "id",
4915
4510
  "type": "integer",
4916
4511
  "location": "path",
4917
4512
  "required": true,
4918
- "description": "ID da etapa"
4513
+ "description": "ID do anexo"
4919
4514
  }
4920
4515
  ],
4921
- "returns": "card Kanban (objeto completo com associações)",
4516
+ "returns": "204 No Content",
4922
4517
  "common_use_cases": [
4923
- "Ver dados completos antes de editar",
4924
- "Verificar estado atual antes de uma ação",
4925
- "Mostrar perfil ou ficha de card Kanban"
4518
+ "Limpeza de dados obsoletos",
4519
+ "Deduplicação manual",
4520
+ "Remoção após confirmação do cliente"
4926
4521
  ],
4927
4522
  "related_tools": [
4928
4523
  "lionchat_kanban_v2_list",
@@ -4931,40 +4526,33 @@
4931
4526
  ]
4932
4527
  },
4933
4528
  {
4934
- "id": "lionchat_kanban_v2_update_2",
4935
- "method": "PUT",
4936
- "path": "/api/v1/accounts/{account_id}/kanban/stages/{id}",
4937
- "title": "Atualizar Etapa Kanban",
4938
- "description": "Atualiza uma etapa do Kanban. Atualiza campos do card Kanban existente. Suporta atualização parcial (PATCH) — só campos enviados são alterados. Campos suportados: name, position.",
4529
+ "id": "lionchat_kanban_v2_create_1",
4530
+ "method": "POST",
4531
+ "path": "/api/v1/accounts/{account_id}/kanban/items/{item_id}/note_attachments",
4532
+ "title": "Adicionar Anexo a Nota",
4533
+ "description": "Adiciona um anexo a uma nota do item. Cria novo card Kanban. Obrigatórios: item_id, file. Valida unicidade quando aplicável. Retorna o card Kanban criado com ID atribuído.",
4939
4534
  "category": "Kanban V2",
4940
4535
  "params": [
4941
4536
  {
4942
- "name": "id",
4537
+ "name": "item_id",
4943
4538
  "type": "integer",
4944
4539
  "location": "path",
4945
4540
  "required": true,
4946
- "description": "ID da etapa"
4947
- },
4948
- {
4949
- "name": "name",
4950
- "type": "string",
4951
- "location": "body",
4952
- "required": false,
4953
- "description": "Nome"
4541
+ "description": "ID do item"
4954
4542
  },
4955
4543
  {
4956
- "name": "position",
4957
- "type": "integer",
4544
+ "name": "file",
4545
+ "type": "file",
4958
4546
  "location": "body",
4959
- "required": false,
4960
- "description": "Posicao"
4547
+ "required": true,
4548
+ "description": "Arquivo para upload"
4961
4549
  }
4962
4550
  ],
4963
- "returns": "card Kanban atualizado",
4551
+ "returns": "card Kanban criado (com novo ID)",
4964
4552
  "common_use_cases": [
4965
- "Edição parcial de card Kanban",
4966
- "Alteração de status/estado",
4967
- "Atualização em massa via automação"
4553
+ "Cadastro inicial de card Kanban",
4554
+ "Automação a partir de evento externo",
4555
+ "Importação manual via API"
4968
4556
  ],
4969
4557
  "related_tools": [
4970
4558
  "lionchat_kanban_v2_list",
@@ -4973,19 +4561,26 @@
4973
4561
  ]
4974
4562
  },
4975
4563
  {
4976
- "id": "lionchat_kanban_v2_destroy_4",
4564
+ "id": "lionchat_kanban_v2_destroy_2",
4977
4565
  "method": "DELETE",
4978
- "path": "/api/v1/accounts/{account_id}/kanban/stages/{id}",
4979
- "title": "Excluir Etapa Kanban",
4980
- "description": "Remove uma etapa do Kanban. Remove card Kanban permanentemente. CUIDADO: ação irreversível em muitos casos. Verifique dependências antes.",
4566
+ "path": "/api/v1/accounts/{account_id}/kanban/items/{item_id}/note_attachments/{id}",
4567
+ "title": "Remover Anexo de Nota",
4568
+ "description": "Remove um anexo de nota do item. Remove card Kanban permanentemente. CUIDADO: ação irreversível em muitos casos. Verifique dependências antes.",
4981
4569
  "category": "Kanban V2",
4982
4570
  "params": [
4571
+ {
4572
+ "name": "item_id",
4573
+ "type": "integer",
4574
+ "location": "path",
4575
+ "required": true,
4576
+ "description": "ID do item"
4577
+ },
4983
4578
  {
4984
4579
  "name": "id",
4985
4580
  "type": "integer",
4986
4581
  "location": "path",
4987
4582
  "required": true,
4988
- "description": "ID da etapa"
4583
+ "description": "ID do anexo"
4989
4584
  }
4990
4585
  ],
4991
4586
  "returns": "204 No Content",
@@ -6265,7 +5860,7 @@
6265
5860
  "method": "POST",
6266
5861
  "path": "/api/v1/accounts/{account_id}/captain/bulk_actions",
6267
5862
  "title": "Acoes em Massa IA",
6268
- "description": "Executa acoes em massa nos recursos do Captain. Cria novo assistente AI. Obrigatórios: type, ids. Valida unicidade quando aplicável. Retorna o assistente AI criado com ID atribuído.",
5863
+ "description": "Executa uma acao em massa sobre varios recursos do Captain de uma vez (ex: exclusao em lote). NAO cria um assistente. Informe o tipo da acao, os IDs alvo e os campos da operacao.",
6269
5864
  "category": "Assistentes",
6270
5865
  "params": [
6271
5866
  {
@@ -6273,21 +5868,28 @@
6273
5868
  "type": "string",
6274
5869
  "location": "body",
6275
5870
  "required": true,
6276
- "description": "Tipo da acao"
5871
+ "description": "Tipo da acao em massa (ex: Documents para excluir documentos)"
6277
5872
  },
6278
5873
  {
6279
5874
  "name": "ids",
6280
5875
  "type": "array",
6281
5876
  "location": "body",
6282
5877
  "required": true,
6283
- "description": "Array de IDs"
5878
+ "description": "Array de IDs dos recursos alvo"
5879
+ },
5880
+ {
5881
+ "name": "fields",
5882
+ "type": "object",
5883
+ "location": "body",
5884
+ "required": true,
5885
+ "description": "Campos da operacao em massa (ex: { action: 'delete' })"
6284
5886
  }
6285
5887
  ],
6286
- "returns": "assistente AI criado (com novo ID)",
5888
+ "returns": "resultado da acao em massa (lista de respostas por item)",
6287
5889
  "common_use_cases": [
6288
- "Cadastro inicial de assistente AI",
6289
- "Automação a partir de evento externo",
6290
- "Importação manual via API"
5890
+ "Excluir varios documentos da base de conhecimento de uma vez",
5891
+ "Aplicar uma acao em lote a multiplos recursos do Captain",
5892
+ "Operacoes de limpeza em massa"
6291
5893
  ],
6292
5894
  "related_tools": [
6293
5895
  "lionchat_captain_assistants_list",
@@ -7099,6 +6701,133 @@
7099
6701
  ],
7100
6702
  "related_tools": []
7101
6703
  },
6704
+ {
6705
+ "id": "lionchat_teams_create",
6706
+ "method": "POST",
6707
+ "path": "/api/v1/accounts/{account_id}/teams",
6708
+ "title": "Criar Time",
6709
+ "description": "Cria um novo time/equipe na conta. Obrigatório: name. Opcionais: description, allow_auto_assign (distribuição automática de conversas), assignment_mode. Para adicionar agentes ao time depois, use lionchat_team_members_create.",
6710
+ "category": "Times",
6711
+ "params": [
6712
+ {
6713
+ "name": "name",
6714
+ "type": "string",
6715
+ "location": "body",
6716
+ "required": true,
6717
+ "description": "Nome do time/equipe"
6718
+ },
6719
+ {
6720
+ "name": "description",
6721
+ "type": "string",
6722
+ "location": "body",
6723
+ "required": false,
6724
+ "description": "Descrição do time/equipe"
6725
+ },
6726
+ {
6727
+ "name": "allow_auto_assign",
6728
+ "type": "boolean",
6729
+ "location": "body",
6730
+ "required": false,
6731
+ "description": "Habilita atribuição automática de conversas aos membros"
6732
+ },
6733
+ {
6734
+ "name": "assignment_mode",
6735
+ "type": "string",
6736
+ "location": "body",
6737
+ "required": false,
6738
+ "description": "Modo de atribuição de conversas no time"
6739
+ }
6740
+ ],
6741
+ "returns": "time/equipe criado (com novo ID)",
6742
+ "common_use_cases": [
6743
+ "Cadastro inicial de time/equipe",
6744
+ "Organizar agentes por departamento ou função",
6745
+ "Automação a partir de evento externo"
6746
+ ],
6747
+ "related_tools": [
6748
+ "lionchat_team_members_create"
6749
+ ]
6750
+ },
6751
+ {
6752
+ "id": "lionchat_teams_update",
6753
+ "method": "PUT",
6754
+ "path": "/api/v1/accounts/{account_id}/teams/{team_id}",
6755
+ "title": "Atualizar Time",
6756
+ "description": "Atualiza um time/equipe existente. Campos suportados: name, description, allow_auto_assign, assignment_mode. Edita o time em si (não os membros — para membros use lionchat_team_members_update).",
6757
+ "category": "Times",
6758
+ "params": [
6759
+ {
6760
+ "name": "team_id",
6761
+ "type": "integer",
6762
+ "location": "path",
6763
+ "required": true,
6764
+ "description": "ID do time"
6765
+ },
6766
+ {
6767
+ "name": "name",
6768
+ "type": "string",
6769
+ "location": "body",
6770
+ "required": false,
6771
+ "description": "Novo nome do time/equipe"
6772
+ },
6773
+ {
6774
+ "name": "description",
6775
+ "type": "string",
6776
+ "location": "body",
6777
+ "required": false,
6778
+ "description": "Nova descrição do time/equipe"
6779
+ },
6780
+ {
6781
+ "name": "allow_auto_assign",
6782
+ "type": "boolean",
6783
+ "location": "body",
6784
+ "required": false,
6785
+ "description": "Habilita atribuição automática de conversas aos membros"
6786
+ },
6787
+ {
6788
+ "name": "assignment_mode",
6789
+ "type": "string",
6790
+ "location": "body",
6791
+ "required": false,
6792
+ "description": "Modo de atribuição de conversas no time"
6793
+ }
6794
+ ],
6795
+ "returns": "time/equipe atualizado",
6796
+ "common_use_cases": [
6797
+ "Renomear um time/equipe",
6798
+ "Ligar ou desligar a atribuição automática",
6799
+ "Ajustar descrição ou modo de atribuição"
6800
+ ],
6801
+ "related_tools": [
6802
+ "lionchat_team_members_update"
6803
+ ]
6804
+ },
6805
+ {
6806
+ "id": "lionchat_teams_destroy",
6807
+ "method": "DELETE",
6808
+ "path": "/api/v1/accounts/{account_id}/teams/{team_id}",
6809
+ "title": "Excluir Time",
6810
+ "description": "Exclui permanentemente um time/equipe. CUIDADO: ação irreversível — remove o time e seus vínculos com agentes. Para apenas remover agentes mantendo o time, use lionchat_team_members_destroy.",
6811
+ "category": "Times",
6812
+ "params": [
6813
+ {
6814
+ "name": "team_id",
6815
+ "type": "integer",
6816
+ "location": "path",
6817
+ "required": true,
6818
+ "description": "ID do time"
6819
+ }
6820
+ ],
6821
+ "returns": "200 OK",
6822
+ "common_use_cases": [
6823
+ "Remover time/equipe obsoleto",
6824
+ "Limpeza após reorganização da equipe",
6825
+ "Exclusão após confirmação do cliente"
6826
+ ],
6827
+ "related_tools": [
6828
+ "lionchat_team_members_destroy"
6829
+ ]
6830
+ },
7102
6831
  {
7103
6832
  "id": "lionchat_teams_list_1",
7104
6833
  "method": "GET",
@@ -8024,7 +7753,7 @@
8024
7753
  "method": "POST",
8025
7754
  "path": "/api/v1/accounts/{account_id}/account_tasks/{id}/snooze",
8026
7755
  "title": "Adiar Tarefa",
8027
- "description": "Adia tarefa para nova data. Cria novo tarefa/agenda. Obrigatórios: id, snoozed_until. Valida unicidade quando aplicável. Retorna o tarefa/agenda criado com ID atribuído.",
7756
+ "description": "Adia (snooze) uma tarefa existente para uma nova data, mudando seu status para snoozed. NAO cria uma tarefa nova. Retorna a tarefa atualizada.",
8028
7757
  "category": "Agenda / Tarefas",
8029
7758
  "params": [
8030
7759
  {
@@ -8032,21 +7761,21 @@
8032
7761
  "type": "integer",
8033
7762
  "location": "path",
8034
7763
  "required": true,
8035
- "description": "ID"
7764
+ "description": "ID da tarefa"
8036
7765
  },
8037
7766
  {
8038
7767
  "name": "snoozed_until",
8039
7768
  "type": "string",
8040
7769
  "location": "body",
8041
7770
  "required": true,
8042
- "description": "Nova data ISO 8601"
7771
+ "description": "Nova data/hora ISO 8601 ate quando adiar"
8043
7772
  }
8044
7773
  ],
8045
- "returns": "tarefa/agenda criado (com novo ID)",
7774
+ "returns": "tarefa atualizada (status snoozed)",
8046
7775
  "common_use_cases": [
8047
- "Cadastro inicial de tarefa/agenda",
8048
- "Automação a partir de evento externo",
8049
- "Importação manual via API"
7776
+ "Adiar uma tarefa para depois",
7777
+ "Reagendar lembrete que ainda nao deve aparecer",
7778
+ "Tirar a tarefa da lista ativa temporariamente"
8050
7779
  ],
8051
7780
  "related_tools": []
8052
7781
  },
@@ -8687,7 +8416,7 @@
8687
8416
  "method": "POST",
8688
8417
  "path": "/api/v1/accounts/{account_id}/kanban_items/{id}/create_note",
8689
8418
  "title": "Criar Nota",
8690
- "description": "Cria nota no item. Cria novo nota. Obrigatórios: id, content. Valida unicidade quando aplicável. Retorna o nota criado com ID atribuído.",
8419
+ "description": "Cria nota no item do kanban. Obrigatórios: id, text. Retorna o item com a nota adicionada.",
8691
8420
  "category": "Notas",
8692
8421
  "params": [
8693
8422
  {
@@ -8698,14 +8427,14 @@
8698
8427
  "description": "ID"
8699
8428
  },
8700
8429
  {
8701
- "name": "content",
8430
+ "name": "text",
8702
8431
  "type": "string",
8703
8432
  "location": "body",
8704
8433
  "required": true,
8705
- "description": "Conteudo"
8434
+ "description": "Conteudo da nota"
8706
8435
  }
8707
8436
  ],
8708
- "returns": "nota criado (com novo ID)",
8437
+ "returns": "nota criada (com novo ID)",
8709
8438
  "common_use_cases": [
8710
8439
  "Cadastro inicial de nota",
8711
8440
  "Automação a partir de evento externo",
@@ -9642,11 +9371,11 @@
9642
9371
  ]
9643
9372
  },
9644
9373
  {
9645
- "id": "lionchat_teams_create",
9374
+ "id": "lionchat_team_members_create",
9646
9375
  "method": "POST",
9647
9376
  "path": "/api/v1/accounts/{account_id}/teams/{team_id}/team_members",
9648
9377
  "title": "Adicionar Membros ao Time",
9649
- "description": "Adiciona membros a um time. Cria novo time/equipe. Obrigatórios: team_id, user_ids. Valida unicidade quando aplicável. Retorna o time/equipe criado com ID atribuído.",
9378
+ "description": "Adiciona agentes (membros) a um time/equipe existente. NÃO cria o time — apenas vincula agentes a ele. Obrigatórios: team_id (path) e user_ids (array de IDs de agentes). Para criar o time em si, use lionchat_teams_create.",
9650
9379
  "category": "Times",
9651
9380
  "params": [
9652
9381
  {
@@ -9673,11 +9402,11 @@
9673
9402
  "related_tools": []
9674
9403
  },
9675
9404
  {
9676
- "id": "lionchat_teams_update",
9405
+ "id": "lionchat_team_members_update",
9677
9406
  "method": "PATCH",
9678
9407
  "path": "/api/v1/accounts/{account_id}/teams/{team_id}/team_members",
9679
9408
  "title": "Atualizar Membros do Time",
9680
- "description": "Substitui a lista de membros do time. Atualiza campos do time/equipe existente. Suporta atualização parcial (PATCH) — só campos enviados são alterados. Campos suportados: user_ids.",
9409
+ "description": "Substitui a lista de membros (agentes) de um time/equipe existente. NÃO altera nome/configuração do time — apenas o conjunto de agentes vinculados. Obrigatórios: team_id (path) e user_ids (nova lista de IDs). Para editar o time em si, use lionchat_teams_update.",
9681
9410
  "category": "Times",
9682
9411
  "params": [
9683
9412
  {
@@ -9704,11 +9433,11 @@
9704
9433
  "related_tools": []
9705
9434
  },
9706
9435
  {
9707
- "id": "lionchat_teams_destroy",
9436
+ "id": "lionchat_team_members_destroy",
9708
9437
  "method": "DELETE",
9709
9438
  "path": "/api/v1/accounts/{account_id}/teams/{team_id}/team_members",
9710
9439
  "title": "Remover Membros do Time",
9711
- "description": "Remove membros de um time. Remove time/equipe permanentemente. CUIDADO: ação irreversível em muitos casos. Verifique dependências antes.",
9440
+ "description": "Remove agentes (membros) de um time/equipe. NÃO apaga o time — apenas desvincula os agentes informados. Obrigatórios: team_id (path) e user_ids (IDs dos agentes a remover). Para excluir o time em si, use lionchat_teams_destroy.",
9712
9441
  "category": "Times",
9713
9442
  "params": [
9714
9443
  {
@@ -12090,7 +11819,7 @@
12090
11819
  "method": "POST",
12091
11820
  "path": "/public/api/v1/booking/{account_id}/{event_slug}/reserve",
12092
11821
  "title": "Reservar Horário",
12093
- "description": "Reserva um horário. Cria contato, tarefa e confirmação via WhatsApp. Sem autenticação, com rate limiting. Cria novo endpoint público. Obrigatórios: event_slug, name, email, phone, date, slot. Valida unicidade quando aplicável. Retorna o endpoint público criado com ID atribuído.",
11822
+ "description": "Reserva um horário. Cria contato, tarefa e confirmação via WhatsApp. Sem autenticação, com rate limiting. Obrigatórios: event_slug (path), name, email, phone, date, slot. Retorna a reserva confirmada.",
12094
11823
  "category": "Publica",
12095
11824
  "params": [
12096
11825
  {
@@ -12150,11 +11879,11 @@
12150
11879
  "description": "Fuso horário"
12151
11880
  }
12152
11881
  ],
12153
- "returns": "endpoint público criado (com novo ID)",
11882
+ "returns": "{ status: 'confirmed', booking: { scheduled_at, duration_minutes, event_type, agent_name } }",
12154
11883
  "common_use_cases": [
12155
- "Cadastro inicial de endpoint público",
12156
- "Automação a partir de evento externo",
12157
- "Importação manual via API"
11884
+ "Cliente final reserva um horario na pagina publica de agendamento",
11885
+ "Confirmar agendamento sem login",
11886
+ "Integracao de booking externo via link publico"
12158
11887
  ],
12159
11888
  "related_tools": [
12160
11889
  "lionchat_public_booking_list",
@@ -12339,58 +12068,133 @@
12339
12068
  "category": "Base de Conhecimento",
12340
12069
  "params": [
12341
12070
  {
12342
- "name": "name",
12343
- "type": "string",
12344
- "location": "body",
12345
- "required": false,
12346
- "description": "Nome do documento"
12071
+ "name": "name",
12072
+ "type": "string",
12073
+ "location": "body",
12074
+ "required": false,
12075
+ "description": "Nome do documento"
12076
+ },
12077
+ {
12078
+ "name": "external_link",
12079
+ "type": "string",
12080
+ "location": "body",
12081
+ "required": false,
12082
+ "description": "URL externa para indexar (alternativa ao upload)"
12083
+ },
12084
+ {
12085
+ "name": "pdf_file",
12086
+ "type": "file",
12087
+ "location": "body",
12088
+ "required": false,
12089
+ "description": "Arquivo PDF para indexar (multipart upload)"
12090
+ },
12091
+ {
12092
+ "name": "content",
12093
+ "type": "string",
12094
+ "location": "body",
12095
+ "required": false,
12096
+ "description": "Texto direto do documento"
12097
+ },
12098
+ {
12099
+ "name": "description",
12100
+ "type": "string",
12101
+ "location": "body",
12102
+ "required": false,
12103
+ "description": "Descricao do documento"
12104
+ },
12105
+ {
12106
+ "name": "assistant_id",
12107
+ "type": "integer",
12108
+ "location": "body",
12109
+ "required": true,
12110
+ "description": "ID do assistant ao qual associar este documento"
12111
+ }
12112
+ ],
12113
+ "returns": "documento KB criado (com novo ID)",
12114
+ "common_use_cases": [
12115
+ "Cadastro inicial de documento KB",
12116
+ "Automação a partir de evento externo",
12117
+ "Importação manual via API"
12118
+ ],
12119
+ "related_tools": [
12120
+ "lionchat_captain_documents_list",
12121
+ "lionchat_captain_documents_destroy",
12122
+ "lionchat_captain_documents_create_1"
12123
+ ],
12124
+ "body_wrapper": "document"
12125
+ },
12126
+ {
12127
+ "id": "lionchat_captain_documents_show",
12128
+ "method": "GET",
12129
+ "path": "/api/v1/accounts/{account_id}/captain/documents/{id}",
12130
+ "title": "Detalhe do Documento",
12131
+ "description": "Retorna os detalhes completos de UM documento da base de conhecimento pelo ID (título, conteúdo, descrição, status de indexação e assistant associado).",
12132
+ "category": "Base de Conhecimento",
12133
+ "params": [
12134
+ {
12135
+ "name": "id",
12136
+ "type": "integer",
12137
+ "location": "path",
12138
+ "required": true,
12139
+ "description": "ID do documento"
12140
+ }
12141
+ ],
12142
+ "returns": "documento KB (objeto completo)",
12143
+ "common_use_cases": [
12144
+ "Ver dados completos antes de editar",
12145
+ "Verificar status de indexação do documento",
12146
+ "Mostrar o conteúdo atual de um documento manual"
12147
+ ],
12148
+ "related_tools": [
12149
+ "lionchat_captain_documents_list",
12150
+ "lionchat_captain_documents_update"
12151
+ ]
12152
+ },
12153
+ {
12154
+ "id": "lionchat_captain_documents_update",
12155
+ "method": "PATCH",
12156
+ "path": "/api/v1/accounts/{account_id}/captain/documents/{id}",
12157
+ "title": "Editar Documento",
12158
+ "description": "Edita um documento manual da base de conhecimento. Campos suportados: name (título), content (conteúdo) e description (descrição). Ao alterar o conteúdo, a reindexação acontece automaticamente.",
12159
+ "category": "Base de Conhecimento",
12160
+ "params": [
12161
+ {
12162
+ "name": "id",
12163
+ "type": "integer",
12164
+ "location": "path",
12165
+ "required": true,
12166
+ "description": "ID do documento"
12347
12167
  },
12348
12168
  {
12349
- "name": "external_link",
12169
+ "name": "name",
12350
12170
  "type": "string",
12351
12171
  "location": "body",
12352
12172
  "required": false,
12353
- "description": "URL externa para indexar (alternativa ao upload)"
12354
- },
12355
- {
12356
- "name": "pdf_file",
12357
- "type": "file",
12358
- "location": "body",
12359
- "required": false,
12360
- "description": "Arquivo PDF para indexar (multipart upload)"
12173
+ "description": "Novo título do documento"
12361
12174
  },
12362
12175
  {
12363
12176
  "name": "content",
12364
12177
  "type": "string",
12365
12178
  "location": "body",
12366
12179
  "required": false,
12367
- "description": "Texto direto do documento"
12180
+ "description": "Novo conteúdo do documento (dispara reindexação)"
12368
12181
  },
12369
12182
  {
12370
12183
  "name": "description",
12371
12184
  "type": "string",
12372
12185
  "location": "body",
12373
12186
  "required": false,
12374
- "description": "Descricao do documento"
12375
- },
12376
- {
12377
- "name": "assistant_id",
12378
- "type": "integer",
12379
- "location": "body",
12380
- "required": true,
12381
- "description": "ID do assistant ao qual associar este documento"
12187
+ "description": "Nova descrição do documento"
12382
12188
  }
12383
12189
  ],
12384
- "returns": "documento KB criado (com novo ID)",
12190
+ "returns": "documento KB atualizado",
12385
12191
  "common_use_cases": [
12386
- "Cadastro inicial de documento KB",
12387
- "Automação a partir de evento externo",
12388
- "Importação manual via API"
12192
+ "Corrigir o conteúdo de um documento manual",
12193
+ "Renomear um documento da base de conhecimento",
12194
+ "Ajustar a descrição de um documento"
12389
12195
  ],
12390
12196
  "related_tools": [
12391
- "lionchat_captain_documents_list",
12392
- "lionchat_captain_documents_destroy",
12393
- "lionchat_captain_documents_create_1"
12197
+ "lionchat_captain_documents_show"
12394
12198
  ],
12395
12199
  "body_wrapper": "document"
12396
12200
  },
@@ -14219,7 +14023,7 @@
14219
14023
  "method": "GET",
14220
14024
  "path": "/api/v1/accounts/{account_id}/inboxes/{inbox_id}/migration/preview",
14221
14025
  "title": "Preview de Migracao",
14222
- "description": "Mostra preview da migracao de conversas entre inboxes. Lista migrações de inbox paginados (per_page padrão 25, máximo 100). Retorna meta (contadores) + payload (array de migração de inbox).",
14026
+ "description": "Calcula uma previa da migracao de conversas da inbox de origem para a inbox de destino (target_inbox_id). NAO retorna lista paginada — retorna contagens: quantas conversas sao migraveis, conflitantes (ja existem no destino) e nao-migraveis (arquivadas como historico). Requer admin.",
14223
14027
  "category": "Migracao de Inbox",
14224
14028
  "params": [
14225
14029
  {
@@ -14228,13 +14032,20 @@
14228
14032
  "location": "path",
14229
14033
  "required": true,
14230
14034
  "description": "ID da inbox de origem"
14035
+ },
14036
+ {
14037
+ "name": "target_inbox_id",
14038
+ "type": "integer",
14039
+ "location": "query",
14040
+ "required": true,
14041
+ "description": "ID da inbox de destino"
14231
14042
  }
14232
14043
  ],
14233
- "returns": "meta (contadores globais) + payload (array de migrações de inbox)",
14044
+ "returns": "{ total_conversations, migratable, conflicting, archived_as_history, contacts_affected }",
14234
14045
  "common_use_cases": [
14235
- "Dashboard: contar/exibir migrações de inbox",
14236
- "Buscar com filtros antes de outra operação",
14237
- "Auditoria/relatório de migrações de inbox ativas"
14046
+ "Conferir o impacto antes de migrar conversas entre inboxes",
14047
+ "Detectar conflitos antes de executar a migracao",
14048
+ "Estimar quantos contatos serao afetados"
14238
14049
  ],
14239
14050
  "related_tools": [
14240
14051
  "lionchat_inboxes_inbox_migration_execute",
@@ -14611,7 +14422,7 @@
14611
14422
  "method": "POST",
14612
14423
  "path": "/api/v1/accounts/{account_id}/assignment_policies",
14613
14424
  "title": "Criar Politica de Atribuicao",
14614
- "description": "Cria uma nova politica de atribuicao. Cria novo política de atribuição. Obrigatórios: name, strategy. Valida unicidade quando aplicável. Retorna o política de atribuição criado com ID atribuído.",
14425
+ "description": "Cria uma nova politica de atribuicao. Obrigatório: name. Retorna a política de atribuição criada com ID atribuído.",
14615
14426
  "category": "Politicas de Atribuicao",
14616
14427
  "params": [
14617
14428
  {
@@ -14622,21 +14433,49 @@
14622
14433
  "description": "Nome da politica"
14623
14434
  },
14624
14435
  {
14625
- "name": "strategy",
14436
+ "name": "description",
14626
14437
  "type": "string",
14627
14438
  "location": "body",
14628
- "required": true,
14629
- "description": "Estrategia: round_robin, load_balanced, etc"
14439
+ "required": false,
14440
+ "description": "Descricao da politica"
14630
14441
  },
14631
14442
  {
14632
- "name": "max_conversations",
14443
+ "name": "assignment_order",
14444
+ "type": "string",
14445
+ "location": "body",
14446
+ "required": false,
14447
+ "description": "Ordem de atribuicao: round_robin ou balanced"
14448
+ },
14449
+ {
14450
+ "name": "conversation_priority",
14451
+ "type": "string",
14452
+ "location": "body",
14453
+ "required": false,
14454
+ "description": "Prioridade das conversas: earliest_created ou longest_waiting"
14455
+ },
14456
+ {
14457
+ "name": "fair_distribution_limit",
14633
14458
  "type": "integer",
14634
14459
  "location": "body",
14635
14460
  "required": false,
14636
- "description": "Limite maximo de conversas"
14461
+ "description": "Limite de conversas por agente na distribuicao justa"
14462
+ },
14463
+ {
14464
+ "name": "fair_distribution_window",
14465
+ "type": "integer",
14466
+ "location": "body",
14467
+ "required": false,
14468
+ "description": "Janela de tempo (segundos) da distribuicao justa"
14469
+ },
14470
+ {
14471
+ "name": "enabled",
14472
+ "type": "boolean",
14473
+ "location": "body",
14474
+ "required": false,
14475
+ "description": "Politica ativa ou nao"
14637
14476
  }
14638
14477
  ],
14639
- "returns": "política de atribuição criado (com novo ID)",
14478
+ "returns": "política de atribuição criada (com novo ID)",
14640
14479
  "common_use_cases": [
14641
14480
  "Cadastro inicial de política de atribuição",
14642
14481
  "Automação a partir de evento externo",
@@ -14682,7 +14521,7 @@
14682
14521
  "method": "PUT",
14683
14522
  "path": "/api/v1/accounts/{account_id}/assignment_policies/{id}",
14684
14523
  "title": "Atualizar Politica de Atribuicao",
14685
- "description": "Atualiza uma politica de atribuicao. Atualiza campos do política de atribuição existente. Suporta atualização parcial (PATCH) — só campos enviados são alterados. Campos suportados: name, strategy, max_conversations.",
14524
+ "description": "Atualiza uma politica de atribuicao. Suporta atualização parcial — só campos enviados são alterados. Campos suportados: name, description, assignment_order, conversation_priority, fair_distribution_limit, fair_distribution_window, enabled.",
14686
14525
  "category": "Politicas de Atribuicao",
14687
14526
  "params": [
14688
14527
  {
@@ -14700,21 +14539,49 @@
14700
14539
  "description": "Nome"
14701
14540
  },
14702
14541
  {
14703
- "name": "strategy",
14542
+ "name": "description",
14704
14543
  "type": "string",
14705
14544
  "location": "body",
14706
14545
  "required": false,
14707
- "description": "Estrategia"
14546
+ "description": "Descricao da politica"
14708
14547
  },
14709
14548
  {
14710
- "name": "max_conversations",
14549
+ "name": "assignment_order",
14550
+ "type": "string",
14551
+ "location": "body",
14552
+ "required": false,
14553
+ "description": "Ordem de atribuicao: round_robin ou balanced"
14554
+ },
14555
+ {
14556
+ "name": "conversation_priority",
14557
+ "type": "string",
14558
+ "location": "body",
14559
+ "required": false,
14560
+ "description": "Prioridade das conversas: earliest_created ou longest_waiting"
14561
+ },
14562
+ {
14563
+ "name": "fair_distribution_limit",
14564
+ "type": "integer",
14565
+ "location": "body",
14566
+ "required": false,
14567
+ "description": "Limite de conversas por agente na distribuicao justa"
14568
+ },
14569
+ {
14570
+ "name": "fair_distribution_window",
14711
14571
  "type": "integer",
14712
14572
  "location": "body",
14713
14573
  "required": false,
14714
- "description": "Limite"
14574
+ "description": "Janela de tempo (segundos) da distribuicao justa"
14575
+ },
14576
+ {
14577
+ "name": "enabled",
14578
+ "type": "boolean",
14579
+ "location": "body",
14580
+ "required": false,
14581
+ "description": "Politica ativa ou nao"
14715
14582
  }
14716
14583
  ],
14717
- "returns": "política de atribuição atualizado",
14584
+ "returns": "política de atribuição atualizada",
14718
14585
  "common_use_cases": [
14719
14586
  "Edição parcial de política de atribuição",
14720
14587
  "Alteração de status/estado",
@@ -17833,7 +17700,7 @@
17833
17700
  "method": "POST",
17834
17701
  "path": "/api/v1/accounts/{account_id}/captain/documents/{id}/recrawl",
17835
17702
  "title": "Re-indexar Documento",
17836
- "description": "Forca re-indexacao de um documento. Cria novo documento KB. Obrigatórios: id. Valida unicidade quando aplicável. Retorna o documento KB criado com ID atribuído.",
17703
+ "description": "Reprocessa e reindexa um documento JA EXISTENTE da base de conhecimento (recrawl). NAO cria um documento novo. Reseta o status do documento e dispara o reprocessamento (crawl/chunks/FAQs). Retorna o mesmo documento atualizado.",
17837
17704
  "category": "Base de Conhecimento",
17838
17705
  "params": [
17839
17706
  {
@@ -17841,14 +17708,14 @@
17841
17708
  "type": "integer",
17842
17709
  "location": "path",
17843
17710
  "required": true,
17844
- "description": "ID do documento"
17711
+ "description": "ID do documento existente"
17845
17712
  }
17846
17713
  ],
17847
- "returns": "documento KB criado (com novo ID)",
17714
+ "returns": "documento atualizado (mesmo ID, status reprocessando)",
17848
17715
  "common_use_cases": [
17849
- "Cadastro inicial de documento KB",
17850
- "Automação a partir de evento externo",
17851
- "Importação manual via API"
17716
+ "Reprocessar documento que falhou na indexacao",
17717
+ "Forcar reindexacao apos atualizar a fonte",
17718
+ "Recuperar documento travado em erro"
17852
17719
  ],
17853
17720
  "related_tools": [
17854
17721
  "lionchat_captain_documents_list",
@@ -18403,11 +18270,19 @@
18403
18270
  "id": "lionchat_agent_availability_list",
18404
18271
  "method": "GET",
18405
18272
  "path": "/api/v1/accounts/{account_id}/agent_availability",
18406
- "title": "Ver Disponibilidade",
18407
- "description": "Retorna status de disponibilidade dos agentes. Lista disponibilidades paginados (per_page padrão 25, máximo 100). Retorna meta (contadores) + payload (array de disponibilidade).",
18273
+ "title": "Ver Grade de Disponibilidade",
18274
+ "description": "Retorna a grade semanal de disponibilidade (slots) do agente logado, ou de outro agente via user_id (admin ou agenda publica). Cada slot tem dia da semana e faixa de horario. Tambem retorna timezone e cor da agenda.",
18408
18275
  "category": "Disponibilidade",
18409
- "params": [],
18410
- "returns": "meta (contadores globais) + payload (array de disponibilidades)",
18276
+ "params": [
18277
+ {
18278
+ "name": "user_id",
18279
+ "type": "integer",
18280
+ "location": "query",
18281
+ "required": false,
18282
+ "description": "ID de outro agente para ver a grade dele (requer admin ou agenda publica). Sem este param, retorna a grade do agente logado"
18283
+ }
18284
+ ],
18285
+ "returns": "{ user_id, agenda_color, timezone, slots: [{ id, day_of_week, start_time, end_time }] }",
18411
18286
  "common_use_cases": [
18412
18287
  "Dashboard: contar/exibir disponibilidades",
18413
18288
  "Buscar com filtros antes de outra operação",
@@ -18423,19 +18298,19 @@
18423
18298
  "id": "lionchat_agent_availability_update",
18424
18299
  "method": "PUT",
18425
18300
  "path": "/api/v1/accounts/{account_id}/agent_availability",
18426
- "title": "Atualizar Disponibilidade",
18427
- "description": "Atualiza status de disponibilidade do agente. Atualiza campos do disponibilidade existente. Suporta atualização parcial (PATCH) — só campos enviados são alterados. Campos suportados: availability.",
18301
+ "title": "Atualizar Grade de Disponibilidade",
18302
+ "description": "Substitui (replace-all) a grade semanal de disponibilidade do agente logado. Apaga todos os slots atuais e recria com o array enviado. Cada slot define um dia da semana e uma faixa de horario. NAO eh status de presenca (online/offline/busy).",
18428
18303
  "category": "Disponibilidade",
18429
18304
  "params": [
18430
18305
  {
18431
- "name": "availability",
18432
- "type": "string",
18306
+ "name": "slots",
18307
+ "type": "array",
18433
18308
  "location": "body",
18434
18309
  "required": true,
18435
- "description": "online, offline, busy"
18310
+ "description": "Array de slots: [{ day_of_week (0=domingo a 6=sabado), start_time (HH:MM), end_time (HH:MM) }]. Substitui toda a grade existente"
18436
18311
  }
18437
18312
  ],
18438
- "returns": "disponibilidade atualizado",
18313
+ "returns": "{ user_id, slots: [{ id, day_of_week, start_time, end_time }] }",
18439
18314
  "common_use_cases": [
18440
18315
  "Edição parcial de disponibilidade",
18441
18316
  "Alteração de status/estado",
@@ -18451,11 +18326,26 @@
18451
18326
  "id": "lionchat_agent_availability_list_1",
18452
18327
  "method": "GET",
18453
18328
  "path": "/api/v1/accounts/{account_id}/agent_availability/check",
18454
- "title": "Verificar Disponibilidade",
18455
- "description": "Verifica disponibilidade atual do agente. Lista disponibilidades paginados (per_page padrão 25, máximo 100). Retorna meta (contadores) + payload (array de disponibilidade).",
18329
+ "title": "Verificar Disponibilidade num Horario",
18330
+ "description": "Verifica se um agente esta disponivel num horario especifico, considerando a grade semanal e tarefas conflitantes. Por padrao checa o agente logado; use user_id para checar outro.",
18456
18331
  "category": "Disponibilidade",
18457
- "params": [],
18458
- "returns": "meta (contadores globais) + payload (array de disponibilidades)",
18332
+ "params": [
18333
+ {
18334
+ "name": "time",
18335
+ "type": "string",
18336
+ "location": "query",
18337
+ "required": true,
18338
+ "description": "Horario a verificar, em ISO8601 (ex: 2026-05-29T14:00:00-03:00)"
18339
+ },
18340
+ {
18341
+ "name": "user_id",
18342
+ "type": "integer",
18343
+ "location": "query",
18344
+ "required": false,
18345
+ "description": "ID do agente a verificar (requer admin ou agenda publica). Sem este param, verifica o agente logado"
18346
+ }
18347
+ ],
18348
+ "returns": "{ available, time, user_id, reason?, conflicting_task?, available_until? }",
18459
18349
  "common_use_cases": [
18460
18350
  "Dashboard: contar/exibir disponibilidades",
18461
18351
  "Buscar com filtros antes de outra operação",
@@ -18471,11 +18361,19 @@
18471
18361
  "id": "lionchat_agent_availability_list_2",
18472
18362
  "method": "GET",
18473
18363
  "path": "/api/v1/accounts/{account_id}/agent_availability/available_agents",
18474
- "title": "Agentes Disponiveis",
18475
- "description": "Lista agentes atualmente disponiveis. Lista disponibilidades paginados (per_page padrão 25, máximo 100). Retorna meta (contadores) + payload (array de disponibilidade).",
18364
+ "title": "Agentes Disponiveis num Horario",
18365
+ "description": "Lista todos os agentes disponiveis num horario especifico (para auto-atribuicao/IA). Requer admin ou bot. Considera a grade semanal de cada agente.",
18476
18366
  "category": "Disponibilidade",
18477
- "params": [],
18478
- "returns": "meta (contadores globais) + payload (array de disponibilidades)",
18367
+ "params": [
18368
+ {
18369
+ "name": "time",
18370
+ "type": "string",
18371
+ "location": "query",
18372
+ "required": true,
18373
+ "description": "Horario a verificar, em ISO8601 (ex: 2026-05-29T14:00:00-03:00)"
18374
+ }
18375
+ ],
18376
+ "returns": "{ time, agents: [{ id, name, available_until }] }",
18479
18377
  "common_use_cases": [
18480
18378
  "Dashboard: contar/exibir disponibilidades",
18481
18379
  "Buscar com filtros antes de outra operação",
@@ -18488,11 +18386,11 @@
18488
18386
  ]
18489
18387
  },
18490
18388
  {
18491
- "id": "lionchat_agents_list",
18389
+ "id": "lionchat_agents_assigned_resources",
18492
18390
  "method": "GET",
18493
18391
  "path": "/api/v1/accounts/{account_id}/agents/{id}/assigned_resources",
18494
18392
  "title": "Recursos Atribuidos ao Agente",
18495
- "description": "Lista recursos atribuidos a um agente. Lista agentes paginados (per_page padrão 25, máximo 100). Retorna meta (contadores) + payload (array de agente).",
18393
+ "description": "Lista os recursos (conversas, times, inboxes etc.) vinculados a um agente. Útil antes de excluir o agente para saber se é preciso reatribuir os recursos a outro (ver lionchat_agents_destroy).",
18496
18394
  "category": "Agentes",
18497
18395
  "params": [
18498
18396
  {
@@ -18503,20 +18401,20 @@
18503
18401
  "description": "ID do agente"
18504
18402
  }
18505
18403
  ],
18506
- "returns": "meta (contadores globais) + payload (array de agentes)",
18404
+ "returns": "recursos atribuídos ao agente (has_resources + detalhamento)",
18507
18405
  "common_use_cases": [
18508
- "Dashboard: contar/exibir agentes",
18509
- "Buscar com filtros antes de outra operação",
18510
- "Auditoria/relatório de agentes ativas"
18406
+ "Checar dependências antes de excluir um agente",
18407
+ "Decidir se é necessário reatribuir recursos",
18408
+ "Auditoria de carga de trabalho do agente"
18511
18409
  ],
18512
18410
  "related_tools": []
18513
18411
  },
18514
18412
  {
18515
- "id": "lionchat_agents_create",
18413
+ "id": "lionchat_agents_bulk_create",
18516
18414
  "method": "POST",
18517
18415
  "path": "/api/v1/accounts/{account_id}/agents/bulk_create",
18518
- "title": "Criar Agentes em Massa",
18519
- "description": "Cria multiplos agentes de uma vez. Cria novo agente. Obrigatórios: emails. Valida unicidade quando aplicável. Retorna o agente criado com ID atribuído.",
18416
+ "title": "Convidar Agentes em Massa",
18417
+ "description": "Convida vários agentes de uma vez por e-mail. Obrigatório: emails (array de e-mails). Cada agente convidado recebe o convite e entra como agent. Para convidar UM agente com nome/cargo/disponibilidade definidos, use lionchat_agents_create.",
18520
18418
  "category": "Agentes",
18521
18419
  "params": [
18522
18420
  {
@@ -18524,16 +18422,160 @@
18524
18422
  "type": "array",
18525
18423
  "location": "body",
18526
18424
  "required": true,
18527
- "description": "Array de emails dos novos agentes"
18425
+ "description": "Array de e-mails dos agentes a convidar"
18528
18426
  }
18529
18427
  ],
18530
- "returns": "agente criado (com novo ID)",
18428
+ "returns": "lista de agentes convidados (com novos IDs)",
18531
18429
  "common_use_cases": [
18532
- "Cadastro inicial de agente",
18533
- "Automação a partir de evento externo",
18534
- "Importação manual via API"
18430
+ "Onboarding de uma equipe inteira de uma vez",
18431
+ "Importação manual de vários agentes via API",
18432
+ "Automação de convites a partir de evento externo"
18535
18433
  ],
18536
- "related_tools": []
18434
+ "related_tools": [
18435
+ "lionchat_agents_create"
18436
+ ]
18437
+ },
18438
+ {
18439
+ "id": "lionchat_agents_create",
18440
+ "method": "POST",
18441
+ "path": "/api/v1/accounts/{account_id}/agents",
18442
+ "title": "Convidar Agente",
18443
+ "description": "Convida um único agente para a conta. Obrigatório: email. Opcionais: name, role (agent ou administrator), availability, auto_offline. O agente recebe um convite por e-mail. Para convidar vários de uma vez, use lionchat_agents_bulk_create.",
18444
+ "category": "Agentes",
18445
+ "params": [
18446
+ {
18447
+ "name": "email",
18448
+ "type": "string",
18449
+ "location": "body",
18450
+ "required": true,
18451
+ "description": "E-mail do agente a convidar"
18452
+ },
18453
+ {
18454
+ "name": "name",
18455
+ "type": "string",
18456
+ "location": "body",
18457
+ "required": false,
18458
+ "description": "Nome do agente"
18459
+ },
18460
+ {
18461
+ "name": "role",
18462
+ "type": "string",
18463
+ "location": "body",
18464
+ "required": false,
18465
+ "description": "Papel do agente: agent ou administrator"
18466
+ },
18467
+ {
18468
+ "name": "availability",
18469
+ "type": "string",
18470
+ "location": "body",
18471
+ "required": false,
18472
+ "description": "Disponibilidade inicial do agente (online, busy, offline)"
18473
+ },
18474
+ {
18475
+ "name": "auto_offline",
18476
+ "type": "boolean",
18477
+ "location": "body",
18478
+ "required": false,
18479
+ "description": "Define se o agente fica offline automaticamente por inatividade"
18480
+ }
18481
+ ],
18482
+ "returns": "agente convidado (com novo ID)",
18483
+ "common_use_cases": [
18484
+ "Adicionar um novo agente à equipe",
18485
+ "Convidar um administrador com papel definido",
18486
+ "Cadastro individual de agente via API"
18487
+ ],
18488
+ "related_tools": [
18489
+ "lionchat_agents_bulk_create",
18490
+ "lionchat_agents_update"
18491
+ ]
18492
+ },
18493
+ {
18494
+ "id": "lionchat_agents_update",
18495
+ "method": "PATCH",
18496
+ "path": "/api/v1/accounts/{account_id}/agents/{id}",
18497
+ "title": "Atualizar Agente",
18498
+ "description": "Atualiza um agente existente. Campos suportados: name, role (agent ou administrator), availability, auto_offline. Use para promover/rebaixar papel ou ajustar disponibilidade.",
18499
+ "category": "Agentes",
18500
+ "params": [
18501
+ {
18502
+ "name": "id",
18503
+ "type": "integer",
18504
+ "location": "path",
18505
+ "required": true,
18506
+ "description": "ID do agente"
18507
+ },
18508
+ {
18509
+ "name": "name",
18510
+ "type": "string",
18511
+ "location": "body",
18512
+ "required": false,
18513
+ "description": "Novo nome do agente"
18514
+ },
18515
+ {
18516
+ "name": "role",
18517
+ "type": "string",
18518
+ "location": "body",
18519
+ "required": false,
18520
+ "description": "Novo papel: agent ou administrator"
18521
+ },
18522
+ {
18523
+ "name": "availability",
18524
+ "type": "string",
18525
+ "location": "body",
18526
+ "required": false,
18527
+ "description": "Nova disponibilidade (online, busy, offline)"
18528
+ },
18529
+ {
18530
+ "name": "auto_offline",
18531
+ "type": "boolean",
18532
+ "location": "body",
18533
+ "required": false,
18534
+ "description": "Define se o agente fica offline automaticamente por inatividade"
18535
+ }
18536
+ ],
18537
+ "returns": "agente atualizado",
18538
+ "common_use_cases": [
18539
+ "Promover um agente a administrador",
18540
+ "Alterar disponibilidade de um agente",
18541
+ "Ajustar o comportamento de offline automático"
18542
+ ],
18543
+ "related_tools": [
18544
+ "lionchat_agents_create"
18545
+ ]
18546
+ },
18547
+ {
18548
+ "id": "lionchat_agents_destroy",
18549
+ "method": "DELETE",
18550
+ "path": "/api/v1/accounts/{account_id}/agents/{id}",
18551
+ "title": "Excluir Agente",
18552
+ "description": "Remove um agente da conta. ATENÇÃO: se o agente tiver recursos vinculados (conversas, times, inboxes etc.), o parâmetro reassign_to_agent_id é OBRIGATÓRIO para reatribuir esses recursos a outro agente — sem ele a exclusão é recusada. Use lionchat_agents_assigned_resources antes para checar dependências.",
18553
+ "category": "Agentes",
18554
+ "params": [
18555
+ {
18556
+ "name": "id",
18557
+ "type": "integer",
18558
+ "location": "path",
18559
+ "required": true,
18560
+ "description": "ID do agente a excluir"
18561
+ },
18562
+ {
18563
+ "name": "reassign_to_agent_id",
18564
+ "type": "integer",
18565
+ "location": "body",
18566
+ "required": false,
18567
+ "description": "ID do agente que receberá os recursos. Obrigatório quando o agente possui recursos vinculados."
18568
+ }
18569
+ ],
18570
+ "returns": "200 OK",
18571
+ "common_use_cases": [
18572
+ "Desligar um agente reatribuindo suas conversas",
18573
+ "Limpeza de agentes inativos",
18574
+ "Remoção após confirmação do cliente"
18575
+ ],
18576
+ "related_tools": [
18577
+ "lionchat_agents_assigned_resources"
18578
+ ]
18537
18579
  },
18538
18580
  {
18539
18581
  "id": "lionchat_custom_attributes_list",
@@ -18560,7 +18602,7 @@
18560
18602
  "method": "POST",
18561
18603
  "path": "/api/v1/accounts/{account_id}/custom_attribute_definitions",
18562
18604
  "title": "Criar Definicao de Atributo",
18563
- "description": "Cria uma nova definicao de atributo personalizado. Cria novo atributo personalizado. Obrigatórios: attribute_display_name, attribute_display_type, attribute_model, attribute_key. Valida unicidade quando aplicável. Retorna o atributo personalizado criado com ID atribuído.",
18605
+ "description": "Cria uma nova definicao de atributo personalizado. **Requer perfil Administrador.** Obrigatórios: attribute_display_name, attribute_display_type, attribute_key. attribute_model tem default 'conversation_attribute' — para um atributo de contato, passe 'contact_attribute'. Retorna o atributo personalizado criado com ID atribuído.",
18564
18606
  "category": "Atributos Personalizados",
18565
18607
  "params": [
18566
18608
  {
@@ -18581,8 +18623,8 @@
18581
18623
  "name": "attribute_model",
18582
18624
  "type": "string",
18583
18625
  "location": "body",
18584
- "required": true,
18585
- "description": "Modelo: contact_attribute ou conversation_attribute"
18626
+ "required": false,
18627
+ "description": "Modelo: contact_attribute ou conversation_attribute (default: conversation_attribute)"
18586
18628
  },
18587
18629
  {
18588
18630
  "name": "attribute_key",
@@ -18618,13 +18660,6 @@
18618
18660
  "location": "body",
18619
18661
  "required": false,
18620
18662
  "description": "Dica de formato exibida ao usuario quando regex_pattern falha"
18621
- },
18622
- {
18623
- "name": "default_value",
18624
- "type": "string",
18625
- "location": "body",
18626
- "required": false,
18627
- "description": "Valor default do atributo"
18628
18663
  }
18629
18664
  ],
18630
18665
  "returns": "atributo personalizado criado (com novo ID)",
@@ -18832,4 +18867,4 @@
18832
18867
  ],
18833
18868
  "related_tools": []
18834
18869
  }
18835
- ]
18870
+ ]