Ecossistema de Aplicativos de TV 3.0 para as TVs Públicas Brasileiras

Guia de Integração  ·  Ambiente de homologação  ·  Execução em 31/08/2026 às 19:51
365 de 464 operações prontas para integração79% da superfície pública já pode ser consumida hoje
✅ 365 Pronto para integrar🟣 92 Em validação🔒 4 Requer credencial🔴 3 Indisponível

Prontidão por Funcionalidade

Visão-mapa. Clique numa funcionalidade para ir aos endpoints detalhados. A barra segue as cores da legenda.

💬 Chat & Moderação17/18 prontos📊 Enquetes & Votação34/37 prontos🎥 Debates ao Vivo27/27 prontos❓ Perguntas & Comentários23/27 prontos🔔 Notificações31/35 prontos🏛️ Dados Abertos (Câmara e Senado)22/22 prontos📜 Sessões & Registros Legislativos56/81 prontos🎬 Conteúdo, Mídia & Interatividade92/129 prontos♿ Acessibilidade (Legendas)0/2 prontos🎯 Recomendações7/7 prontos🔎 Busca & Catálogo5/5 prontos📈 Analytics & Métricas12/17 prontos👤 Usuários & Permissões16/20 prontos🔐 Autenticação & Sessões (gov.br)8/15 prontos🛠️ Administração (Aplicações & Papéis)7/9 prontos📡 Emissoras & Membros8/13 prontos

Funcionalidades

Cada endpoint pronto traz um exemplo real de requisição e resposta capturado na verificação. O bloco “Em validação” lista o que ainda não está pronto para integração.

💬 Chat & Moderação17/18 prontos

17 endpoint(s) prontos para integração, com exemplo real de requisição e resposta.

GET/api/v1/chat/rooms/{roomId}/messagesLista messages
✅ Pronto · exemplo real capturado no teste · 121 ms

Resposta 200

{
  "data": [],
  "meta": {
    "total": 0,
    "page": 1,
    "limit": 20,
    "lastPage": 0
  }
}
POST/api/v1/chat/rooms/{roomId}/messagesCria messages
✅ Pronto · exemplo real capturado no teste · 137 ms

Requisição

{
  "content": "consulta publica consulta publica consulta",
  "type": "TEXT",
  "senderId": "d03d9d69-1cb5-4907-bcf7-2c967c781496",
  "senderMetadata": {
    "origin": "qa-agent"
  }
}

Resposta 200

{
  "status": "success",
  "message": "Mensagem recebida e enviada para processamento"
}
POST/api/v1/chat/rooms/{roomId}/messagesCria messages
✅ Pronto · exemplo real capturado no teste · 129 ms

Requisição

{
  "content": "Mensagem de teste do agente",
  "type": "TEXT",
  "senderId": "d03d9d69-1cb5-4907-bcf7-2c967c781496",
  "senderMetadata": {
    "origin": "qa-agent"
  }
}

Resposta 200

{
  "status": "success",
  "message": "Mensagem recebida e enviada para processamento"
}
POST/api/v1/chat/rooms/{roomId}/messages/directCria direct
✅ Pronto · exemplo real capturado no teste · 133 ms

Requisição

{
  "content": "Mensagem direta qa-agent",
  "type": "TEXT",
  "senderId": "d03d9d69-1cb5-4907-bcf7-2c967c781496",
  "senderMetadata": {
    "origin": "qa-agent"
  }
}

Resposta 201

{
  "content": "Mensagem direta qa-agent",
  "type": "TEXT",
  "senderId": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
  "senderMetadata": {
    "origin": "qa-agent"
  },
  "roomId": "21d2539d-3280-44ff-a3f3-0f4fa2f3e481",
  "senderName": "Paulo Leminski"
}
GET/cms/v1/chat/audit/listLista list
✅ Pronto · exemplo real capturado no teste · 138 ms

Resposta 200

{
  "data": [
    {
      "id": "fc26f53b-a686-45d6-8b57-bf0abfcdae71",
      "entity_type": "chatroom_highlight",
      "entity_id": "eda3ec37-9ece-45d2-909f-c4e9e98a85a0",
      "action": "UPDATE",
      "performed_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
      "owner_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "reason": null,
      "old_values": {
        "id": "eda3ec37-9ece-45d2-909f-c4e9e98a85a0",
        "type": "PIN",
        "priority": 1,
        "is_active": true,
        "created_at": "2026-09-01T00:54:30.070Z",
        "created_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
        "expires_at": "2026-09-08T00:54:30.065Z",
        "removed_at": null,
        "removed_by": null,
        "updated_at": "2026-09-01T00:54:30.070Z",
        "chatroom_id": "2eab3732-0338-43e1-9c22-b21f59110273",
        "visual_config": {},
        "message_external_id": "e888ccc1-1319-44c9-9eab-0895683fbe1a",
        "display_duration_seconds": 30,
        "message_content_snapshot": "Mensagem destacada qa-age
… (resposta completa no Swagger do serviço)
POST/cms/v1/chat/roomsCria rooms
✅ Pronto · exemplo real capturado no teste · 162 ms

Requisição

{
  "owner_id": "d03d9d69-1cb5-4907-bcf7-2c967c781496",
  "type": "PUBLIC",
  "description": "qa-agent sala 1788224068",
  "TTL": 30,
  "is_active": true,
  "operational_config": {
    "max_characters": 280,
    "allow_images": false,
    "slow_mode_seconds": 0
  },
  "theme_config": {},
  "metadata": {
    "origin": "qa-agent"
  },
  "monitored_hashtags": [
    "tv30",
    "tv3"
  ]
}

Resposta 201

{
  "id": "2eab3732-0338-43e1-9c22-b21f59110273",
  "external_id": null,
  "owner_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "type": "PUBLIC",
  "description": "qa-agent sala 1788224068",
  "ttl": 30,
  "start_at": null,
  "end_at": null,
  "is_active": true,
  "metadata": {
    "origin": "qa-agent"
  },
  "allowed_roles": [
    "all"
  ],
  "operational_config": {
    "allow_images": false,
    "max_characters": 280,
    "slow_mode_seconds": 0
  },
  "theme_config": {},
  "created_by": null,
  "created_at": "2026-09-01T00:54:29.397Z",
  "updated_at": "2026-09-01T00:54:29.397Z",
  "deleted_at": null,
  "monitored_hashtags": [
    "tv30",
    "tv3"
  ],
  "scheduler_activated_at": null,
  "monitored_whatsapp": null
}
POST/cms/v1/chat/roomsCria rooms
✅ Pronto · exemplo real capturado no teste · 274 ms

Requisição

{
  "owner_id": "d03d9d69-1cb5-4907-bcf7-2c967c781496",
  "type": "PUBLIC",
  "description": "qa-agent sala 1788224071",
  "TTL": 30,
  "is_active": true,
  "operational_config": {
    "max_characters": 280,
    "allow_images": false,
    "slow_mode_seconds": 0
  },
  "theme_config": {},
  "metadata": {
    "origin": "qa-agent"
  },
  "monitored_hashtags": [
    "tv30",
    "tv3"
  ]
}

Resposta 201

{
  "id": "21d2539d-3280-44ff-a3f3-0f4fa2f3e481",
  "external_id": null,
  "owner_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "type": "PUBLIC",
  "description": "qa-agent sala 1788224071",
  "ttl": 30,
  "start_at": null,
  "end_at": null,
  "is_active": true,
  "metadata": {
    "origin": "qa-agent"
  },
  "allowed_roles": [
    "all"
  ],
  "operational_config": {
    "allow_images": false,
    "max_characters": 280,
    "slow_mode_seconds": 0
  },
  "theme_config": {},
  "created_by": null,
  "created_at": "2026-09-01T00:54:31.852Z",
  "updated_at": "2026-09-01T00:54:31.852Z",
  "deleted_at": null,
  "monitored_hashtags": [
    "tv30",
    "tv3"
  ],
  "scheduler_activated_at": null,
  "monitored_whatsapp": null
}
DELETE/cms/v1/chat/rooms/{id}Remove rooms
✅ Pronto · exemplo real capturado no teste · 128 ms
GET/cms/v1/chat/rooms/{id}Obtém rooms
✅ Pronto · exemplo real capturado no teste · 122 ms

Resposta 200

{
  "id": "2eab3732-0338-43e1-9c22-b21f59110273",
  "external_id": null,
  "owner_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "type": "PUBLIC",
  "description": "qa-agent sala 1788224068",
  "ttl": 30,
  "start_at": null,
  "end_at": null,
  "is_active": true,
  "metadata": {
    "origin": "qa-agent"
  },
  "allowed_roles": [
    "all"
  ],
  "operational_config": {
    "allow_images": false,
    "max_characters": 280,
    "slow_mode_seconds": 0
  },
  "theme_config": {},
  "created_by": null,
  "created_at": "2026-09-01T00:54:29.397Z",
  "updated_at": "2026-09-01T00:54:29.397Z",
  "deleted_at": null,
  "monitored_hashtags": [
    "tv30",
    "tv3"
  ],
  "scheduler_activated_at": null,
  "monitored_whatsapp": null
}
PATCH/cms/v1/chat/rooms/{id}Atualiza rooms
✅ Pronto · exemplo real capturado no teste · 136 ms

Requisição

{
  "description": "qa-agent sala (atualizada)",
  "TTL": 60
}

Resposta 200

{
  "id": "2eab3732-0338-43e1-9c22-b21f59110273",
  "external_id": null,
  "owner_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "type": "PUBLIC",
  "description": "qa-agent sala (atualizada)",
  "ttl": 60,
  "start_at": null,
  "end_at": null,
  "is_active": true,
  "metadata": {
    "origin": "qa-agent"
  },
  "allowed_roles": [
    "all"
  ],
  "operational_config": {
    "allow_images": false,
    "max_characters": 280,
    "slow_mode_seconds": 0
  },
  "theme_config": {},
  "created_by": null,
  "created_at": "2026-09-01T00:54:29.397Z",
  "updated_at": "2026-09-01T00:54:29.665Z",
  "deleted_at": null,
  "monitored_hashtags": [
    "tv30",
    "tv3"
  ],
  "scheduler_activated_at": null,
  "monitored_whatsapp": null
}
DELETE/cms/v1/chat/rooms/{roomId}Remove rooms
✅ Pronto · exemplo real capturado no teste · 126 ms
GET/cms/v1/chat/rooms/{roomId}/highlightsLista highlights
✅ Pronto · exemplo real capturado no teste · 133 ms

Resposta 200

{
  "data": [
    {
      "id": "eda3ec37-9ece-45d2-909f-c4e9e98a85a0",
      "chatroom_id": "2eab3732-0338-43e1-9c22-b21f59110273",
      "type": "PIN",
      "message_external_id": "e888ccc1-1319-44c9-9eab-0895683fbe1a",
      "message_content_snapshot": "Mensagem destacada qa-agent",
      "priority": 1,
      "visual_config": {},
      "display_duration_seconds": 30,
      "expires_at": "2026-09-08T00:54:30.065Z",
      "is_active": true,
      "created_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
      "created_at": "2026-09-01T00:54:30.070Z",
      "updated_at": "2026-09-01T00:54:30.070Z",
      "removed_at": null,
      "removed_by": null
    }
  ],
  "meta": {
    "total": 1,
    "page": 1,
    "lastPage": 1,
    "limit": 20
  }
}
POST/cms/v1/chat/rooms/{roomId}/highlightsCria highlights
✅ Pronto · exemplo real capturado no teste · 145 ms

Requisição

{
  "type": "PIN",
  "message_external_id": "e888ccc1-1319-44c9-9eab-0895683fbe1a",
  "message_content_snapshot": "Mensagem destacada qa-agent",
  "priority": 1,
  "visual_config": {},
  "display_duration_seconds": 30
}

Resposta 201

{
  "id": "eda3ec37-9ece-45d2-909f-c4e9e98a85a0",
  "chatroom_id": "2eab3732-0338-43e1-9c22-b21f59110273",
  "type": "PIN",
  "message_external_id": "e888ccc1-1319-44c9-9eab-0895683fbe1a",
  "message_content_snapshot": "Mensagem destacada qa-agent",
  "priority": 1,
  "visual_config": {},
  "display_duration_seconds": 30,
  "expires_at": "2026-09-08T00:54:30.065Z",
  "is_active": true,
  "created_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
  "created_at": "2026-09-01T00:54:30.070Z",
  "updated_at": "2026-09-01T00:54:30.070Z",
  "removed_at": null,
  "removed_by": null
}
DELETE/cms/v1/chat/rooms/{roomId}/highlights/{highlightId}Remove highlights
✅ Pronto · exemplo real capturado no teste · 131 ms
PATCH/cms/v1/chat/rooms/{roomId}/highlights/{highlightId}Atualiza highlights
✅ Pronto · exemplo real capturado no teste · 131 ms

Requisição

{
  "priority": 2,
  "display_duration_seconds": 60
}

Resposta 200

{
  "id": "eda3ec37-9ece-45d2-909f-c4e9e98a85a0",
  "chatroom_id": "2eab3732-0338-43e1-9c22-b21f59110273",
  "type": "PIN",
  "message_external_id": "e888ccc1-1319-44c9-9eab-0895683fbe1a",
  "message_content_snapshot": "Mensagem destacada qa-agent",
  "priority": 2,
  "visual_config": {},
  "display_duration_seconds": 60,
  "expires_at": "2026-09-08T00:54:30.065Z",
  "is_active": true,
  "created_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
  "created_at": "2026-09-01T00:54:30.070Z",
  "updated_at": "2026-09-01T00:54:30.343Z",
  "removed_at": null,
  "removed_by": null
}
GET/cms/v1/chat/rooms/{roomId}/statsLista stats
✅ Pronto · exemplo real capturado no teste · 153 ms

Resposta 200

{
  "roomId": "2eab3732-0338-43e1-9c22-b21f59110273",
  "totalMessages": 1,
  "uniqueParticipants": 1,
  "periodStart": "2026-09-01T00:54:30.474Z",
  "periodEnd": "2026-09-01T00:54:30.474Z",
  "insufficientData": true,
  "timeline": [
    {
      "bucket": "2026-09-01T00:50:00.000Z",
      "count": 1
    }
  ]
}
GET/cms/v1/chat/rooms/{roomId}/word-frequencyLista word frequency
✅ Pronto · exemplo real capturado no teste · 132 ms

Resposta 200

{
  "roomId": "2eab3732-0338-43e1-9c22-b21f59110273",
  "totalMessagesAnalyzed": 2,
  "insufficientData": true,
  "words": []
}
Em validação (1) — ainda não recomendado fixar contrato
RotaEstadoObservação
GET /cms/v1/chat/rooms🟣 Em validaçãoPasso do ciclo de vida: esperado HTTP (200,), obtido 400

📊 Enquetes & Votação34/37 prontos

34 endpoint(s) prontos para integração, com exemplo real de requisição e resposta.

GET/api/v1/votes/pollsLista polls
✅ Pronto · exemplo real capturado no teste · 120 ms

Resposta 200

{
  "data": [
    {
      "poll_id": "05a6dce1-751d-4a13-b064-d9f0a45e2272",
      "title": "Enquete de Teste Integração",
      "status": "OPEN",
      "broadcaster_id": "00000000-0000-0000-0000-000000000000",
      "closed_at": null,
      "end_at": null,
      "scheduled_close_at": null
    },
    {
      "poll_id": "08ba9883-8e79-4f00-8e76-3fd2ec185697",
      "title": "qa-agent Enquete do programa 1785815393660",
      "status": "OPEN",
      "broadcaster_id": "550e8400-e29b-41d4-a716-446655440000",
      "closed_at": null,
      "end_at": null,
      "scheduled_close_at": null
    },
    {
      "poll_id": "0bfa5cf4-0d29-4eda-b382-f5e9441d6a43",
      "title": "qa-agent Enquete do programa 1785816228494",
      "status": "OPEN",
      "broadcaster_id": "550e8400-e29b-41d4-a716-446655440000",
      "closed_at": null,
      "end_at": null,
      "scheduled_close_at": null
    },
    {
      "poll_id": "13d543c5-3428-4e26-a47d-c4b26b43e469",
      "title": "Enquete lógica condicional",
      "status": "
… (resposta completa no Swagger do serviço)
GET/api/v1/votes/polls/{pollId}/results/pollLista poll
✅ Pronto · exemplo real capturado no teste · 116 ms

Resposta 200

{
  "poll_id": "b0c3d3e8-c970-448c-9312-ad7e8e27846f",
  "results": {
    "sim": 1
  }
}
GET/api/v1/votes/polls/{poll_id}Obtém polls
✅ Pronto · exemplo real capturado no teste · 119 ms

Resposta 200

{
  "poll_id": "05a6dce1-751d-4a13-b064-d9f0a45e2272",
  "status": "OPEN",
  "broadcaster_id": "00000000-0000-0000-0000-000000000000",
  "closed_at": null,
  "end_at": null,
  "scheduled_close_at": null,
  "is_anonymous": false,
  "title": "Enquete de Teste Integração",
  "description": "Validando o Orquestrador em Staging",
  "layout": "SINGLE_PAGE",
  "questions": [
    {
      "text": "O Orquestrador está funcionando?",
      "required": true,
      "question_id": "b8a61b43-8f47-42df-8249-61e7b7d1ae14",
      "question_type": "MULTIPLE_CHOICE",
      "multiple_choice_options": [
        {
          "id": "1",
          "label": "Sim!",
          "order": 1
        },
        {
          "id": "2",
          "label": "Com certeza!",
          "order": 2
        }
      ]
    }
  ]
}
GET/api/v1/votes/polls/{poll_id}/results/historyLista history
✅ Pronto · exemplo real capturado no teste · 446 ms

Resposta 200

[
  {
    "snapshot_at": "2026-07-29T02:40:24.209Z",
    "results": {},
    "total_votes": 0
  },
  {
    "snapshot_at": "2026-07-29T02:45:24.208Z",
    "results": {},
    "total_votes": 0
  },
  {
    "snapshot_at": "2026-07-29T02:50:24.208Z",
    "results": {},
    "total_votes": 0
  },
  {
    "snapshot_at": "2026-07-29T02:55:24.211Z",
    "results": {},
    "total_votes": 0
  },
  {
    "snapshot_at": "2026-07-29T03:00:24.211Z",
    "results": {},
    "total_votes": 0
  },
  {
    "snapshot_at": "2026-07-29T03:05:24.215Z",
    "results": {},
    "total_votes": 0
  },
  {
    "snapshot_at": "2026-07-29T03:10:24.210Z",
    "results": {},
    "total_votes": 0
  },
  {
    "snapshot_at": "2026-07-29T03:15:24.209Z",
    "results": {},
    "total_votes": 0
  },
  {
    "snapshot_at": "2026-07-29T03:20:24.212Z",
    "results": {},
    "total_votes": 0
  },
  {
    "snapshot_at": "2026-07-29T03:25:24.210Z",
    "results": {},
    "total_votes": 0
  },
  {
    "snapshot_at": "2026-07-29T03:30:24.211Z",
    "result
… (resposta completa no Swagger do serviço)
GET/api/v1/votes/polls/{poll_id}/results/pollLista poll
✅ Pronto · exemplo real capturado no teste · 121 ms

Resposta 200

{
  "poll_id": "05a6dce1-751d-4a13-b064-d9f0a45e2272",
  "results": {
    "1": 5,
    "2": 3
  }
}
GET/api/v1/votes/polls/{poll_id}/results/segmentedLista segmented
✅ Pronto · exemplo real capturado no teste · 123 ms

Resposta 200

{
  "poll_id": "05a6dce1-751d-4a13-b064-d9f0a45e2272",
  "segments": [
    {
      "filter_value": "region=all, age_range=all, from=all, to=all",
      "option_counts": [],
      "total": 0
    }
  ]
}
GET/api/v1/votes/results/{poll_id}Obtém results
✅ Pronto · exemplo real capturado no teste · 122 ms

Resposta 200

{
  "poll_id": "05a6dce1-751d-4a13-b064-d9f0a45e2272",
  "results": {
    "1": 5,
    "2": 3
  }
}
POST/api/v1/votes/votesCria votes
✅ Pronto · exemplo real capturado no teste · 130 ms

Requisição

{
  "poll_id": "b0c3d3e8-c970-448c-9312-ad7e8e27846f",
  "user_id": "a330e0bb-a256-5c82-9a78-7c3b74a37a93",
  "choice": {
    "id": "sim",
    "text": "Sim"
  },
  "voter_fingerprint": "qa-agent-1788224072",
  "govbr_auth_level": "GOLD",
  "source_ip_anonymized": "192.168.0.0"
}

Resposta 200

{
  "message": "Voto computado com sucesso",
  "current_votes_for_option": 1
}
GET/cms/v1/pollsLista polls
✅ Pronto · exemplo real capturado no teste · 162 ms

Resposta 200

{
  "data": [
    {
      "id": "45a37329-b6a6-4030-a84f-06c72d5b731c",
      "title": "Participação Cidadã - TV 3.0",
      "description": "Consulta pública sobre acesso digital",
      "status": "DRAFT",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "start_at": "2026-03-12T10:00:00.000Z",
      "end_at": "2026-03-12T20:00:00.000Z",
      "closed_at": null,
      "archived_at": null,
      "total_votes": 0,
      "created_at": "2026-09-01T00:51:48.118Z"
    },
    {
      "id": "ac065acf-dbf8-47c7-be92-4160e1438d51",
      "title": "Enquete SET Expo",
      "description": null,
      "status": "OPEN",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "start_at": "2026-08-18T12:30:55.813Z",
      "end_at": null,
      "closed_at": null,
      "archived_at": null,
      "total_votes": 4,
      "created_at": "2026-08-18T12:29:56.590Z"
    },
    {
      "id": "43148188-f2c0-46a8-bca5-2f48e4ae867c",
      "title": "Enquete somente para TvCamara 2",
      "descripti
… (resposta completa no Swagger do serviço)
POST/cms/v1/pollsCria polls
✅ Pronto · exemplo real capturado no teste · 333 ms

Requisição

{
  "title": "qa-agent-Participação Cidadã - TV 3.0",
  "description": "Consulta pública sobre acesso digital",
  "external_id": "qa-agent-cms-programa-123",
  "layout": "STEP_BY_STEP",
  "broadcaster_id": "550e8400-e29b-41d4-a716-446655440000",
  "tags": [
    "Cidadania",
    "TV 3.0"
  ],
  "start_at": "2026-01-01T00:00:00.000Z",
  "end_at": "2027-12-31T20:00:00.000Z",
  "questions": [
    {
      "question_id": "q1",
      "question_type": "MULTIPLE_CHOICE",
      "text": "Quais linguagens você utiliza?",
      "required": true,
      "multiple_choice_options": [
        {
          "id": "js",
          "label": "JavaScript",
          "order": 1
        },
        {
          "id": "python",
          "label": "Python",
          "order": 2
        }
      ]
    }
  ]
}

Resposta 201

{
  "id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
  "status": "DRAFT",
  "message": "Enquete criada com sucesso"
}
POST/cms/v1/pollsCria polls
✅ Pronto · exemplo real capturado no teste · 298 ms

Requisição

{
  "title": "qa-agent-Votação TV 3.0 1788224072",
  "description": "Enquete criada pela cadeia de votação",
  "external_id": "qa-agent-votes-1788224072",
  "layout": "STEP_BY_STEP",
  "broadcaster_id": "550e8400-e29b-41d4-a716-446655440000",
  "tags": [
    "Votação",
    "TV 3.0"
  ],
  "start_at": "2026-01-01T00:00:00.000Z",
  "end_at": "2027-12-31T20:00:00.000Z",
  "questions": [
    {
      "question_id": "q1",
      "question_type": "MULTIPLE_CHOICE",
      "text": "Aprova a plataforma?",
      "required": true,
      "multiple_choice_options": [
        {
          "id": "sim",
          "label": "Sim",
          "order": 1
        },
        {
          "id": "nao",
          "label": "Não",
          "order": 2
        }
      ]
    }
  ]
}

Resposta 201

{
  "id": "b0c3d3e8-c970-448c-9312-ad7e8e27846f",
  "status": "DRAFT",
  "message": "Enquete criada com sucesso"
}
GET/cms/v1/polls/import/formatsLista formats
✅ Pronto · exemplo real capturado no teste · 124 ms

Resposta 200

{
  "adapters": [
    {
      "id": "generic_json",
      "formats": [
        "json"
      ],
      "system": "generic",
      "supports_data": true,
      "supports_source_url": true
    }
  ]
}
GET/cms/v1/polls/{id}Obtém polls
✅ Pronto · exemplo real capturado no teste · 127 ms

Resposta 200

{
  "id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
  "external_id": "qa-agent-cms-programa-123",
  "status": "DRAFT",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "start_at": "2026-01-01T00:00:00.000Z",
  "end_at": "2027-12-31T20:00:00.000Z",
  "closed_at": null,
  "scheduled_open_at": null,
  "scheduled_close_at": null,
  "timezone": null,
  "total_votes_cache": 0,
  "template": {
    "_id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
    "title": "qa-agent-Participação Cidadã - TV 3.0",
    "description": "Consulta pública sobre acesso digital",
    "layout": "STEP_BY_STEP",
    "tags": [
      "Cidadania",
      "TV 3.0"
    ],
    "target_audience": {
      "geo_location": [],
      "user_roles": [],
      "interests": []
    },
    "security": {
      "audit_policy": {
        "requires_full_log": false,
        "immutable_votes": true,
        "verification_method": "NONE"
      },
      "visibility_rules": {
        "partial_results_public": false,
        "auditor_ids": [],
        "re
… (resposta completa no Swagger do serviço)
PUT/cms/v1/polls/{id}Atualiza polls
✅ Pronto · exemplo real capturado no teste · 146 ms

Requisição

{
  "title": "qa-agent-Participação Cidadã (atualizada)",
  "description": "Descrição revisada"
}

Resposta 200

{
  "id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
  "status": "DRAFT",
  "message": "Enquete atualizada com sucesso"
}
PATCH/cms/v1/polls/{id}/closeAtualiza close
✅ Pronto · exemplo real capturado no teste · 138 ms

Resposta 200

{
  "id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
  "status": "CLOSED",
  "closed_at": "2026-09-01T00:53:29.355Z"
}
PATCH/cms/v1/polls/{id}/closeAtualiza close
✅ Pronto · exemplo real capturado no teste · 136 ms

Resposta 200

{
  "id": "b0c3d3e8-c970-448c-9312-ad7e8e27846f",
  "status": "CLOSED",
  "closed_at": "2026-09-01T00:54:37.586Z"
}
PATCH/cms/v1/polls/{id}/correctionAtualiza correction
✅ Pronto · exemplo real capturado no teste · 136 ms

Requisição

{
  "description": "Correção de texto pós-revisão",
  "actor_id": "8f0a4d9e-6d6a-4b8b-8e2d-2b03f8d4c1e7",
  "reason": "Ajuste de descrição solicitado pela produção"
}

Resposta 200

{
  "id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
  "status": "PAUSED",
  "message": "Correção aplicada com sucesso"
}
GET/cms/v1/polls/{id}/exportLista export
✅ Pronto · exemplo real capturado no teste · 126 ms

Resposta 200

{
  "id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
  "external_id": "qa-agent-cms-programa-123",
  "title": "qa-agent-Participação Cidadã (atualizada)",
  "description": "Descrição revisada",
  "options": [
    {
      "label": "JavaScript",
      "value": "js"
    },
    {
      "label": "Python",
      "value": "python"
    }
  ],
  "starts_at": "2026-01-01T00:00:00.000Z",
  "ends_at": "2027-12-31T20:00:00.000Z",
  "status": "OPEN",
  "created_at": "2026-09-01T00:53:22.771Z",
  "results_summary": {
    "total_votes": 0,
    "per_question": {
      "q1": {
        "type": "MULTIPLE_CHOICE",
        "options": [
          {
            "option_id": "js",
            "option_label": "JavaScript",
            "votes": 0
          },
          {
            "option_id": "python",
            "option_label": "Python",
            "votes": 0
          }
        ]
      },
      "q2": {
        "type": "MULTIPLE_CHOICE",
        "options": [
          {
            "option_id": "yes",
            "option_label"
… (resposta completa no Swagger do serviço)
GET/cms/v1/polls/{id}/historyLista history
✅ Pronto · exemplo real capturado no teste · 162 ms

Resposta 200

{
  "poll_id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
  "events": [
    {
      "id": "2737",
      "action": "UPDATE",
      "actor_id": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
      "reason": "Criação inicial da enquete",
      "before_status": null,
      "after_status": "DRAFT",
      "before_data": null,
      "after_data": {
        "title": "qa-agent-Participação Cidadã - TV 3.0",
        "end_at": "2027-12-31T20:00:00.000Z",
        "status": "DRAFT",
        "start_at": "2026-01-01T00:00:00.000Z",
        "description": "Consulta pública sobre acesso digital"
      },
      "created_at": "2026-09-01T00:53:22.798Z"
    },
    {
      "id": "2738",
      "action": "UPDATE",
      "actor_id": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
      "reason": "Atualização da enquete em rascunho",
      "before_status": "DRAFT",
      "after_status": "DRAFT",
      "before_data": {
        "poll": {
          "id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
          "endAt": "2027-12-31T20:00:00.000Z",
      
… (resposta completa no Swagger do serviço)
GET/cms/v1/polls/{id}/official-resultLista official result
✅ Pronto · exemplo real capturado no teste · 120 ms

Resposta 200

{
  "poll_id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
  "external_id": "qa-agent-cms-programa-123",
  "status": "CLOSED",
  "start_at": "2026-01-01T00:00:00.000Z",
  "end_at": "2027-12-31T20:00:00.000Z",
  "closed_at": "2026-09-01T00:53:29.355Z",
  "total_votes": 0,
  "results": {
    "q1": {
      "question_id": "q1",
      "question_text": "Quais linguagens você utiliza?",
      "type": "MULTIPLE_CHOICE",
      "options": [
        {
          "option_id": "js",
          "option_text": "JavaScript",
          "votes": 0
        },
        {
          "option_id": "python",
          "option_text": "Python",
          "votes": 0
        }
      ]
    },
    "q2": {
      "question_id": "q2",
      "question_text": "Recomendaria a plataforma? (revisado)",
      "type": "MULTIPLE_CHOICE",
      "options": [
        {
          "option_id": "no",
          "option_text": "Não",
          "votes": 0
        },
        {
          "option_id": "yes",
          "option_text": "Sim",
          "votes": 0
      
… (resposta completa no Swagger do serviço)
PATCH/cms/v1/polls/{id}/openAtualiza open
✅ Pronto · exemplo real capturado no teste · 136 ms

Resposta 200

{
  "id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
  "status": "OPEN"
}
PATCH/cms/v1/polls/{id}/openAtualiza open
✅ Pronto · exemplo real capturado no teste · 134 ms

Resposta 200

{
  "id": "b0c3d3e8-c970-448c-9312-ad7e8e27846f",
  "status": "OPEN"
}
PATCH/cms/v1/polls/{id}/pauseAtualiza pause
✅ Pronto · exemplo real capturado no teste · 169 ms

Resposta 200

{
  "id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
  "status": "PAUSED"
}
PATCH/cms/v1/polls/{id}/publishAtualiza publish
✅ Pronto · exemplo real capturado no teste · 154 ms

Resposta 200

{
  "id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
  "status": "PENDING_MODERATION"
}
PATCH/cms/v1/polls/{id}/publishAtualiza publish
✅ Pronto · exemplo real capturado no teste · 147 ms

Resposta 200

{
  "id": "b0c3d3e8-c970-448c-9312-ad7e8e27846f",
  "status": "PENDING_MODERATION"
}
PATCH/cms/v1/polls/{id}/scheduleAtualiza schedule
✅ Pronto · exemplo real capturado no teste · 142 ms

Requisição

{
  "scheduled_open_at": "2027-12-01T10:00:00",
  "scheduled_close_at": "2027-12-31T10:00:00",
  "timezone": "America/Sao_Paulo"
}

Resposta 200

{
  "id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
  "status": "PUBLISHED",
  "scheduled_open_at": "2027-12-01T13:00:00.000Z",
  "scheduled_close_at": "2027-12-31T13:00:00.000Z",
  "timezone": "America/Sao_Paulo",
  "message": "Agendamento salvo com sucesso"
}
PATCH/cms/v1/polls/{id}/scheduleAtualiza schedule
✅ Pronto · exemplo real capturado no teste · 136 ms

Requisição

{
  "scheduled_open_at": "2027-12-01T10:00:00",
  "scheduled_close_at": "2027-12-31T10:00:00",
  "timezone": "America/Sao_Paulo"
}

Resposta 200

{
  "id": "b0c3d3e8-c970-448c-9312-ad7e8e27846f",
  "status": "PUBLISHED",
  "scheduled_open_at": "2027-12-01T13:00:00.000Z",
  "scheduled_close_at": "2027-12-31T13:00:00.000Z",
  "timezone": "America/Sao_Paulo",
  "message": "Agendamento salvo com sucesso"
}
GET/cms/v1/polls/{pollId}/conditional-rulesLista conditional rules
✅ Pronto · exemplo real capturado no teste · 128 ms

Resposta 200

{
  "poll_id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
  "rules": [
    {
      "_id": "4c331115-96a3-490f-ad0a-9e71b4e71c4f",
      "poll_id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
      "source_question_id": "q1",
      "condition": {
        "option_id": "js",
        "operator": "EQUALS"
      },
      "target_question_id": "q2",
      "action": "SKIP_TO",
      "createdAt": "2026-09-01T00:53:23.645Z",
      "updatedAt": "2026-09-01T00:53:23.645Z"
    }
  ]
}
POST/cms/v1/polls/{pollId}/conditional-rulesCria conditional rules
✅ Pronto · exemplo real capturado no teste · 148 ms

Requisição

{
  "source_question_id": "q1",
  "condition": {
    "option_id": "js",
    "operator": "EQUALS"
  },
  "target_question_id": "q2",
  "action": "SKIP_TO"
}

Resposta 201

{
  "poll_id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
  "rule_id": "4c331115-96a3-490f-ad0a-9e71b4e71c4f",
  "message": "Regra condicional criada com sucesso"
}
POST/cms/v1/polls/{pollId}/conditional-rules/validateCria validate
✅ Pronto · exemplo real capturado no teste · 130 ms

Resposta 200

{
  "poll_id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
  "valid": true,
  "inconsistencies": []
}
PUT/cms/v1/polls/{pollId}/conditional-rules/{ruleId}Atualiza conditional rules
✅ Pronto · exemplo real capturado no teste · 156 ms

Requisição

{
  "target_question_id": "q2",
  "action": "SHOW"
}

Resposta 200

{
  "poll_id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
  "rule_id": "4c331115-96a3-490f-ad0a-9e71b4e71c4f",
  "message": "Regra condicional atualizada com sucesso"
}
GET/cms/v1/polls/{pollId}/questionsLista questions
✅ Pronto · exemplo real capturado no teste · 130 ms

Resposta 200

{
  "poll_id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
  "questions": [
    {
      "question_id": "q1",
      "question_type": "MULTIPLE_CHOICE",
      "text": "Quais linguagens você utiliza?",
      "multiple_choice_options": [
        {
          "id": "js",
          "label": "JavaScript",
          "order": 1
        },
        {
          "id": "python",
          "label": "Python",
          "order": 2
        }
      ],
      "required": true
    },
    {
      "question_id": "q2",
      "question_type": "MULTIPLE_CHOICE",
      "text": "Recomendaria a plataforma?",
      "multiple_choice_options": [
        {
          "id": "yes",
          "label": "Sim",
          "order": 1
        },
        {
          "id": "no",
          "label": "Não",
          "order": 2
        }
      ],
      "required": true
    }
  ]
}
POST/cms/v1/polls/{pollId}/questionsCria questions
✅ Pronto · exemplo real capturado no teste · 148 ms

Requisição

{
  "question_id": "q2",
  "question_type": "MULTIPLE_CHOICE",
  "text": "Recomendaria a plataforma?",
  "required": true,
  "multiple_choice_options": [
    {
      "id": "yes",
      "label": "Sim",
      "order": 1
    },
    {
      "id": "no",
      "label": "Não",
      "order": 2
    }
  ]
}

Resposta 201

{
  "poll_id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
  "question_id": "q2",
  "message": "Pergunta criada com sucesso"
}
PUT/cms/v1/polls/{pollId}/questions/{questionId}Atualiza questions
✅ Pronto · exemplo real capturado no teste · 156 ms

Requisição

{
  "question_type": "MULTIPLE_CHOICE",
  "text": "Recomendaria a plataforma? (revisado)",
  "required": true,
  "multiple_choice_options": [
    {
      "id": "yes",
      "label": "Sim",
      "order": 1
    },
    {
      "id": "no",
      "label": "Não",
      "order": 2
    },
    {
      "id": "idk",
      "label": "Talvez",
      "order": 3
    }
  ]
}

Resposta 200

{
  "poll_id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
  "question_id": "q2",
  "message": "Pergunta atualizada com sucesso"
}
Em validação (3) — ainda não recomendado fixar contrato
RotaEstadoObservação
POST /cms/v1/polls/import🟣 Em validação
POST /cms/v1/polls/import/preview🟣 Em validação
POST /cms/v1/polls/users/{userId}/privacy-consents🟣 Em validaçãoHTTP 409 não previsto no spec — esperado: 201, 401, 403

🎥 Debates ao Vivo27/27 prontos

27 endpoint(s) prontos para integração, com exemplo real de requisição e resposta.

GET/api/v1/debates/sessions/{sessionId}Obtém sessions
✅ Pronto · exemplo real capturado no teste · 136 ms

Resposta 200

{
  "id": "0e529951-274d-4378-8ef4-fd6383b4ea12",
  "title": "qa-agent Debate Publish 1788224043",
  "status": "ACTIVE",
  "start_at": null,
  "end_at": null,
  "owner_id": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
  "created_at": "2026-09-01T00:54:10.708Z",
  "updated_at": "2026-09-01T00:54:11.050Z",
  "rules": {
    "slug": "qa-agent-debate-publish-1788224043",
    "description": null,
    "layout_config": {
      "layout_type": "TABS",
      "applications": [
        "chat",
        "perguntas_comentarios"
      ]
    },
    "access_control": {
      "type": "PUBLIC",
      "require_auth": false,
      "allowed_roles": [],
      "allow_anonymous": true
    },
    "material_schedule": {
      "materials": []
    }
  },
  "external_id": null,
  "type": "STRUCTURED",
  "turn_duration_seconds": null,
  "max_participants": null,
  "moderation_mode": "AUTO",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "slug": "qa-agent-debate-publish-1788224043",
  "description": null,
  "access_control": {
    "
… (resposta completa no Swagger do serviço)
GET/api/v1/debates/sessions/{sessionId}/turns/Lista turns
✅ Pronto · exemplo real capturado no teste · 158 ms

Resposta 200

{
  "data": [
    {
      "id": "0db6fb23-316f-46da-be5f-884ecd479e45",
      "debate_id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
      "participant_id": "ea3df4b9-1c0b-44db-96c7-24f5dacd4aef",
      "turn_number": 1,
      "status": "WAITING",
      "started_at": null,
      "ended_at": null,
      "duration_seconds": null,
      "created_at": "2026-09-01T00:54:08.717Z",
      "updated_at": "2026-09-01T00:54:08.717Z"
    }
  ]
}
POST/api/v1/debates/sessions/{sessionId}/turns/Cria turns
✅ Pronto · exemplo real capturado no teste · 146 ms

Requisição

{
  "participant_id": "ea3df4b9-1c0b-44db-96c7-24f5dacd4aef",
  "turn_number": 1
}

Resposta 201

{
  "id": "0db6fb23-316f-46da-be5f-884ecd479e45",
  "debate_id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
  "participant_id": "ea3df4b9-1c0b-44db-96c7-24f5dacd4aef",
  "turn_number": 1,
  "status": "WAITING",
  "started_at": null,
  "ended_at": null,
  "duration_seconds": null,
  "created_at": "2026-09-01T00:54:08.717Z",
  "updated_at": "2026-09-01T00:54:08.717Z"
}
DELETE/api/v1/debates/sessions/{sessionId}/turns/{turnId}Remove turns
✅ Pronto · exemplo real capturado no teste · 156 ms

Resposta 200

{
  "message": "Turno excluido com sucesso."
}
GET/api/v1/debates/sessions/{sessionId}/turns/{turnId}Obtém turns
✅ Pronto · exemplo real capturado no teste · 168 ms

Resposta 200

{
  "id": "0db6fb23-316f-46da-be5f-884ecd479e45",
  "debate_id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
  "participant_id": "ea3df4b9-1c0b-44db-96c7-24f5dacd4aef",
  "turn_number": 1,
  "status": "WAITING",
  "started_at": null,
  "ended_at": null,
  "duration_seconds": null,
  "created_at": "2026-09-01T00:54:08.717Z",
  "updated_at": "2026-09-01T00:54:08.717Z"
}
PATCH/api/v1/debates/sessions/{sessionId}/turns/{turnId}Atualiza turns
✅ Pronto · exemplo real capturado no teste · 159 ms

Requisição

{
  "status": "ACTIVE"
}

Resposta 200

{
  "id": "0db6fb23-316f-46da-be5f-884ecd479e45",
  "debate_id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
  "participant_id": "ea3df4b9-1c0b-44db-96c7-24f5dacd4aef",
  "turn_number": 1,
  "status": "ACTIVE",
  "started_at": null,
  "ended_at": null,
  "duration_seconds": null,
  "created_at": "2026-09-01T00:54:08.717Z",
  "updated_at": "2026-09-01T00:54:09.202Z"
}
PUT/api/v1/debates/sessions/{sessionId}/turns/{turnId}Atualiza turns
✅ Pronto · exemplo real capturado no teste · 156 ms

Requisição

{
  "participant_id": "7252865d-23fe-4b31-b388-1044c371cc6f",
  "turn_number": 2,
  "status": "ACTIVE"
}

Resposta 200

{
  "id": "498bd0ad-b0c2-4de0-b963-c5d339df7a85",
  "debate_id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
  "participant_id": "7252865d-23fe-4b31-b388-1044c371cc6f",
  "turn_number": 2,
  "status": "ACTIVE",
  "started_at": null,
  "ended_at": null,
  "duration_seconds": null,
  "created_at": "2026-09-01T00:54:09.513Z",
  "updated_at": "2026-09-01T00:54:09.674Z"
}
GET/cms/v1/debates/sessions/Lista sessions
✅ Pronto · exemplo real capturado no teste · 511 ms

Resposta 200

{
  "data": [
    {
      "id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
      "title": "qa-agent Debate CRUD 1788224043",
      "status": "DRAFT",
      "start_at": null,
      "end_at": null,
      "owner_id": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
      "created_at": "2026-09-01T00:54:04.198Z",
      "updated_at": "2026-09-01T00:54:04.198Z",
      "rules": {
        "slug": "qa-agent-debate-crud-1788224043",
        "description": null,
        "layout_config": {
          "layout_type": "TABS",
          "applications": [
            "chat",
            "perguntas_comentarios"
          ]
        },
        "access_control": {
          "type": "PUBLIC",
          "require_auth": false,
          "allowed_roles": [],
          "allow_anonymous": true
        },
        "material_schedule": {
          "materials": []
        }
      },
      "external_id": null,
      "type": "STRUCTURED",
      "turn_duration_seconds": null,
      "max_participants": null,
      "moderation_mode": "AUTO",
      "broadcas
… (resposta completa no Swagger do serviço)
POST/cms/v1/debates/sessions/Cria sessions
✅ Pronto · exemplo real capturado no teste · 974 ms

Requisição

{
  "title": "qa-agent Debate CRUD 1788224043",
  "layout_config": {
    "layout_type": "TABS",
    "applications": [
      "chat",
      "perguntas_comentarios"
    ]
  }
}

Resposta 201

{
  "id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
  "title": "qa-agent Debate CRUD 1788224043",
  "slug": "qa-agent-debate-crud-1788224043",
  "status": "DRAFT",
  "links": {
    "self": "/cms/v1/debates/sessions/ee88ed6d-4029-4fef-8efc-45be5c49708f"
  }
}
DELETE/cms/v1/debates/sessions/{sessionId}Remove sessions
✅ Pronto · exemplo real capturado no teste · 148 ms

Resposta 200

{
  "message": "Sessao excluida com sucesso."
}
GET/cms/v1/debates/sessions/{sessionId}Obtém sessions
✅ Pronto · exemplo real capturado no teste · 142 ms

Resposta 200

{
  "id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
  "title": "qa-agent Debate CRUD 1788224043",
  "status": "DRAFT",
  "start_at": null,
  "end_at": null,
  "owner_id": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
  "created_at": "2026-09-01T00:54:04.198Z",
  "updated_at": "2026-09-01T00:54:04.198Z",
  "rules": {
    "slug": "qa-agent-debate-crud-1788224043",
    "description": null,
    "layout_config": {
      "layout_type": "TABS",
      "applications": [
        "chat",
        "perguntas_comentarios"
      ]
    },
    "access_control": {
      "type": "PUBLIC",
      "require_auth": false,
      "allowed_roles": [],
      "allow_anonymous": true
    },
    "material_schedule": {
      "materials": []
    }
  },
  "external_id": null,
  "type": "STRUCTURED",
  "turn_duration_seconds": null,
  "max_participants": null,
  "moderation_mode": "AUTO",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "slug": "qa-agent-debate-crud-1788224043",
  "description": null,
  "access_control": {
    "type": "PU
… (resposta completa no Swagger do serviço)
PATCH/cms/v1/debates/sessions/{sessionId}Atualiza sessions
✅ Pronto · exemplo real capturado no teste · 142 ms

Requisição

{
  "description": "Sessão de teste automatizado"
}

Resposta 200

{
  "id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
  "title": "qa-agent Debate CRUD (substituído)",
  "status": "DRAFT",
  "start_at": null,
  "end_at": null,
  "owner_id": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
  "created_at": "2026-09-01T00:54:04.198Z",
  "updated_at": "2026-09-01T00:54:08.291Z",
  "rules": {
    "slug": "qa-agent-debate-crud-1788224043",
    "description": "Sessão de teste automatizado",
    "layout_config": {
      "layout_type": "GRID",
      "applications": [
        "chat",
        "perguntas_comentarios",
        "enquete"
      ]
    },
    "access_control": {
      "type": "PUBLIC",
      "require_auth": false,
      "allowed_roles": [],
      "allow_anonymous": true
    },
    "material_schedule": {
      "materials": []
    }
  },
  "external_id": null,
  "type": "STRUCTURED",
  "turn_duration_seconds": null,
  "max_participants": null,
  "moderation_mode": "AUTO",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "slug": "qa-agent-debate-crud-1788224043",
  "descrip
… (resposta completa no Swagger do serviço)
PUT/cms/v1/debates/sessions/{sessionId}Atualiza sessions
✅ Pronto · exemplo real capturado no teste · 156 ms

Requisição

{
  "title": "qa-agent Debate CRUD (substituído)",
  "layout_config": {
    "layout_type": "GRID",
    "applications": [
      "chat",
      "perguntas_comentarios",
      "enquete"
    ]
  }
}

Resposta 200

{
  "id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
  "title": "qa-agent Debate CRUD (substituído)",
  "status": "DRAFT",
  "start_at": null,
  "end_at": null,
  "owner_id": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
  "created_at": "2026-09-01T00:54:04.198Z",
  "updated_at": "2026-09-01T00:54:08.137Z",
  "rules": {
    "slug": "qa-agent-debate-crud-1788224043",
    "description": null,
    "layout_config": {
      "layout_type": "GRID",
      "applications": [
        "chat",
        "perguntas_comentarios",
        "enquete"
      ]
    },
    "access_control": {
      "type": "PUBLIC",
      "require_auth": false,
      "allowed_roles": [],
      "allow_anonymous": true
    },
    "material_schedule": {
      "materials": []
    }
  },
  "external_id": null,
  "type": "STRUCTURED",
  "turn_duration_seconds": null,
  "max_participants": null,
  "moderation_mode": "AUTO",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "slug": "qa-agent-debate-crud-1788224043",
  "description": null,
  "access_cont
… (resposta completa no Swagger do serviço)
POST/cms/v1/debates/sessions/{sessionId}/closeCria close
✅ Pronto · exemplo real capturado no teste · 148 ms

Requisição

{
  "action": "PAUSE"
}

Resposta 200

{
  "id": "0e529951-274d-4378-8ef4-fd6383b4ea12",
  "title": "qa-agent Debate Publish 1788224043",
  "status": "PAUSED",
  "start_at": null,
  "end_at": null,
  "owner_id": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
  "created_at": "2026-09-01T00:54:10.708Z",
  "updated_at": "2026-09-01T00:54:11.350Z",
  "rules": {
    "slug": "qa-agent-debate-publish-1788224043",
    "description": null,
    "layout_config": {
      "layout_type": "TABS",
      "applications": [
        "chat",
        "perguntas_comentarios"
      ]
    },
    "access_control": {
      "type": "PUBLIC",
      "require_auth": false,
      "allowed_roles": [],
      "allow_anonymous": true
    },
    "material_schedule": {
      "materials": []
    }
  },
  "external_id": null,
  "type": "STRUCTURED",
  "turn_duration_seconds": null,
  "max_participants": null,
  "moderation_mode": "AUTO",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa"
}
GET/cms/v1/debates/sessions/{sessionId}/documentsLista documents
✅ Pronto · exemplo real capturado no teste · 145 ms

Resposta 200

[
  {
    "id": "dd55b6ea-f07e-42f5-ae86-47b5bfa14f0d",
    "debate_session_id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
    "title": "qa-agent Tabuada",
    "type": "PDF",
    "file_name": "sample-doc.pdf",
    "mime_type": "application/pdf",
    "file_size": 245623,
    "scheduled_publish_at": null,
    "order": 0,
    "created_at": "2026-09-01T00:54:07.327Z",
    "updated_at": "2026-09-01T00:54:07.327Z"
  }
]
POST/cms/v1/debates/sessions/{sessionId}/documentsCria documents
✅ Pronto · exemplo real capturado no teste · 478 ms

Resposta 201

{
  "id": "dd55b6ea-f07e-42f5-ae86-47b5bfa14f0d",
  "debate_session_id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
  "title": "qa-agent Tabuada",
  "type": "PDF",
  "file_name": "sample-doc.pdf",
  "mime_type": "application/pdf",
  "file_size": 245623,
  "scheduled_publish_at": null,
  "order": 0,
  "created_at": "2026-09-01T00:54:07.327Z",
  "updated_at": "2026-09-01T00:54:07.327Z"
}
DELETE/cms/v1/debates/sessions/{sessionId}/documents/{id}Remove documents
✅ Pronto · exemplo real capturado no teste · 156 ms

Resposta 200

{
  "message": "Documento excluido com sucesso."
}
GET/cms/v1/debates/sessions/{sessionId}/documents/{id}Obtém documents
✅ Pronto · exemplo real capturado no teste · 339 ms

Resposta 200

%PDF-1.7
%äüöß
2 0 obj
<</Length 3 0 R/Filter/FlateDecode>>
stream
x���Mk�@���+����Gv�]�&Q��!��s0*T�D������Hdn3��3�$�_ �cw�՛�U-J�$�Cg�f�3e1n��
O0��ⰿ�m��U�,QfY^Pa���GUb�F͚�(��ۡ�W��h�x����h�<c5��]}j�����H{���F_qy�I�}��1�R����'�T�4�?M�L���<O�L^�d��_�4#�ْ�~��5��V�
q�n
endstream
endobj

3 0 obj
228
endobj

7 0 obj
<</Type/XObject/Subtype/Image/Width 756 /Height 1200 /BitsPerComponent 8 /ColorSpace/DeviceRGB/Filter/DCTDecode/Length 233070>>
stream
����JFIFHH��C




��C		

����"��	����Љ.��J�K�YЩ��7�������5�d��I
… (resposta completa no Swagger do serviço)
PATCH/cms/v1/debates/sessions/{sessionId}/documents/{id}Atualiza documents
✅ Pronto · exemplo real capturado no teste · 156 ms

Requisição

{
  "title": "qa-agent Tabuada (revisada)"
}

Resposta 200

{
  "id": "dd55b6ea-f07e-42f5-ae86-47b5bfa14f0d",
  "debate_session_id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
  "title": "qa-agent Tabuada (revisada)",
  "type": "PDF",
  "file_name": "sample-doc.pdf",
  "mime_type": "application/pdf",
  "file_size": 245623,
  "scheduled_publish_at": null,
  "order": 0,
  "created_at": "2026-09-01T00:54:07.327Z",
  "updated_at": "2026-09-01T00:54:07.993Z"
}
GET/cms/v1/debates/sessions/{sessionId}/interactions/stateLista state
✅ Pronto · exemplo real capturado no teste · 140 ms

Resposta 200

{
  "debate_session_id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
  "apps": [
    {
      "debate_session_id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
      "app_id": "chat",
      "last_event_id": null,
      "last_sync_at": null,
      "app_instance_id": null,
      "instance_status": "DEGRADED",
      "instance_updated_at": "2026-09-01T00:54:04.218Z",
      "is_available": false,
      "sync_status": "DEGRADED",
      "last_error_message": "Downstream error (404)",
      "event_count": "0",
      "updated_at": "2026-09-01T00:54:04.218Z"
    },
    {
      "debate_session_id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
      "app_id": "perguntas_comentarios",
      "last_event_id": null,
      "last_sync_at": null,
      "app_instance_id": null,
      "instance_status": "DEGRADED",
      "instance_updated_at": "2026-09-01T00:54:04.237Z",
      "is_available": false,
      "sync_status": "DEGRADED",
      "last_error_message": "Failed to provision space",
      "event_count": "0",
      "updated_at": "2026-09-01
… (resposta completa no Swagger do serviço)
GET/cms/v1/debates/sessions/{sessionId}/layoutLista layout
✅ Pronto · exemplo real capturado no teste · 140 ms

Resposta 200

{
  "id": "33bf1753-1adc-44a3-bb66-fae48ef54c38",
  "debate_session_id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
  "layout_type": "GRID",
  "applications": [
    "chat",
    "perguntas_comentarios",
    "enquete"
  ],
  "config": {},
  "created_at": "2026-09-01T00:54:06.720Z",
  "updated_at": "2026-09-01T00:54:06.720Z"
}
PUT/cms/v1/debates/sessions/{sessionId}/layoutAtualiza layout
✅ Pronto · exemplo real capturado no teste · 151 ms

Requisição

{
  "layout_type": "GRID",
  "applications": [
    "chat",
    "perguntas_comentarios",
    "enquete"
  ]
}

Resposta 200

{
  "id": "33bf1753-1adc-44a3-bb66-fae48ef54c38",
  "debate_session_id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
  "layout_type": "GRID",
  "applications": [
    "chat",
    "perguntas_comentarios",
    "enquete"
  ],
  "config": {},
  "created_at": "2026-09-01T00:54:06.720Z",
  "updated_at": "2026-09-01T00:54:06.720Z"
}
GET/cms/v1/debates/sessions/{sessionId}/participantsLista participants
✅ Pronto · exemplo real capturado no teste · 138 ms

Resposta 200

[
  {
    "id": "ea3df4b9-1c0b-44db-96c7-24f5dacd4aef",
    "debate_id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
    "user_id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11",
    "role": "SPEAKER",
    "govbr_auth_level": "GOLD",
    "turn_count": 0,
    "is_muted": false,
    "joined_at": null,
    "left_at": null,
    "created_at": "2026-09-01T00:54:05.656Z",
    "updated_at": "2026-09-01T00:54:05.656Z"
  },
  {
    "id": "7252865d-23fe-4b31-b388-1044c371cc6f",
    "debate_id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
    "user_id": "b1ffcd00-8d1c-4ef9-cc7e-7cc0ce491b22",
    "role": "MODERATOR",
    "govbr_auth_level": "SILVER",
    "turn_count": 0,
    "is_muted": false,
    "joined_at": null,
    "left_at": null,
    "created_at": "2026-09-01T00:54:05.791Z",
    "updated_at": "2026-09-01T00:54:05.791Z"
  }
]
POST/cms/v1/debates/sessions/{sessionId}/participantsCria participants
✅ Pronto · exemplo real capturado no teste · 135 ms

Requisição

{
  "user_id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11",
  "role": "SPEAKER",
  "govbr_auth_level": "GOLD"
}

Resposta 201

{
  "id": "ea3df4b9-1c0b-44db-96c7-24f5dacd4aef",
  "debate_id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
  "user_id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11",
  "role": "SPEAKER",
  "govbr_auth_level": "GOLD",
  "turn_count": 0,
  "is_muted": false,
  "joined_at": null,
  "left_at": null,
  "created_at": "2026-09-01T00:54:05.656Z",
  "updated_at": "2026-09-01T00:54:05.656Z"
}
DELETE/cms/v1/debates/sessions/{sessionId}/participants/{id}Remove participants
✅ Pronto · exemplo real capturado no teste · 149 ms

Resposta 200

{
  "message": "Participante excluido com sucesso."
}
PATCH/cms/v1/debates/sessions/{sessionId}/participants/{id}Atualiza participants
✅ Pronto · exemplo real capturado no teste · 645 ms

Requisição

{
  "is_muted": true,
  "turn_count": 1
}

Resposta 200

{
  "id": "ea3df4b9-1c0b-44db-96c7-24f5dacd4aef",
  "debate_id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
  "user_id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11",
  "role": "SPEAKER",
  "govbr_auth_level": "GOLD",
  "turn_count": 1,
  "is_muted": true,
  "joined_at": null,
  "left_at": null,
  "created_at": "2026-09-01T00:54:05.656Z",
  "updated_at": "2026-09-01T00:54:06.071Z"
}
POST/cms/v1/debates/sessions/{sessionId}/publishCria publish
✅ Pronto · exemplo real capturado no teste · 169 ms

Resposta 200

{
  "id": "0e529951-274d-4378-8ef4-fd6383b4ea12",
  "status": "ACTIVE",
  "published_at": "2026-09-01T00:54:11.074Z",
  "apps": [
    {
      "app_id": "chat",
      "app_instance_id": null,
      "instance_status": "DEGRADED",
      "is_available": false,
      "sync_status": "DEGRADED",
      "last_error_message": "Downstream error (404)"
    },
    {
      "app_id": "perguntas_comentarios",
      "app_instance_id": null,
      "instance_status": "DEGRADED",
      "is_available": false,
      "sync_status": "DEGRADED",
      "last_error_message": "Failed to provision space"
    }
  ]
}

❓ Perguntas & Comentários23/27 prontos

23 endpoint(s) prontos para integração, com exemplo real de requisição e resposta.

GET/api/v1/questions/participations/{id}Obtém participations
✅ Pronto · exemplo real capturado no teste · 166 ms

Resposta 200

{
  "id": "4a3e576b-1b95-40d2-a5b6-8e2ef2f8bf1c",
  "space_id": "0c5be58f-fbc7-48a9-8658-9e2fdaad9e6e",
  "type": "QUESTION",
  "content": "Fixture permanente com áudio (sirene.mp3) para testes de staging",
  "audio_transcription": "Transcrição de teste (qa-agent).",
  "audio_format": "MP3",
  "audio_duration_seconds": null,
  "emoji": null,
  "parent_id": null,
  "user_id": null,
  "user_name": null,
  "channel": "WEB",
  "assistant_suggestions": [],
  "status": "PENDING",
  "created_at": "2026-07-22T17:16:11.332Z",
  "updated_at": "2026-08-29T18:16:30.114Z",
  "has_audio": true
}
GET/api/v1/questions/participations/{id}/audioLista audio
✅ Pronto · exemplo real capturado no teste · 979 ms

Resposta 200

<conteúdo binário (áudio/vídeo) — download verificado>
PUT/api/v1/questions/participations/{id}/transcriptionAtualiza transcription
✅ Pronto · exemplo real capturado no teste · 11307 ms

Requisição

{
  "transcription": "Transcrição de teste (qa-agent)."
}

Resposta 200

{
  "id": "4a3e576b-1b95-40d2-a5b6-8e2ef2f8bf1c",
  "space_id": "0c5be58f-fbc7-48a9-8658-9e2fdaad9e6e",
  "type": "QUESTION",
  "content": "Fixture permanente com áudio (sirene.mp3) para testes de staging",
  "audio_data": {
    "type": "Buffer",
    "data": [
      73,
      68,
      51,
      4,
      0,
      0,
      0,
      0,
      0,
      34,
      84,
      83,
      83,
      69,
      0,
      0,
      0,
      14,
      0,
      0,
      3,
      76,
      97,
      118,
      102,
      54,
      50,
      46,
      51,
      46,
      49,
      48,
      48,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      255,
      251,
      212,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      73,
   
… (resposta completa no Swagger do serviço)
GET/api/v1/questions/spaces/{spaceId}/accessLista access
✅ Pronto · exemplo real capturado no teste · 330 ms

Resposta 200

{
  "space": {
    "id": "0c5be58f-fbc7-48a9-8658-9e2fdaad9e6e",
    "title": "Space de teste2",
    "description": "Descrição inicial2",
    "type": "BOTH",
    "visibility": "PUBLIC",
    "status": "ACTIVE"
  },
  "channel": "WEB",
  "available_types": [
    {
      "type": "QUESTION",
      "label": "Pergunta",
      "form_config": {
        "char_limit": 5000,
        "audio_max_duration_seconds": null,
        "allowed_means": [
          "TEXT"
        ]
      }
    },
    {
      "type": "COMMENT",
      "label": "Comentario",
      "form_config": {
        "char_limit": 5000,
        "audio_max_duration_seconds": null,
        "allowed_means": [
          "TEXT"
        ]
      }
    }
  ],
  "auth_requirements": {
    "require_govbr": false,
    "allow_anonymous": true,
    "can_read": true,
    "can_interact": true
  },
  "visual_customization": {}
}
POST/api/v1/questions/spaces/{spaceId}/assistant/suggestionsCria suggestions
✅ Pronto · exemplo real capturado no teste · 152 ms

Requisição

{
  "content": "Sugestão de teste do agente de QA?"
}

Resposta 200

{
  "suggestions": [
    {
      "id": "suggestion-1",
      "type": "IMPROVEMENT",
      "message": "Sua mensagem está bem formatada: Sugestão de teste do agente de QA?",
      "original_text": "Sugestão de teste do agente de QA?",
      "suggested_text": "Sugestão de teste do agente de QA?"
    }
  ]
}
POST/api/v1/questions/spaces/{spaceId}/participationsCria participations
✅ Pronto · exemplo real capturado no teste · 557 ms

Requisição

{
  "type": "QUESTION",
  "content": "Pergunta de teste do agente (com áudio)?",
  "channel": "WEB",
  "audio_data": "<conteúdo omitido: 221580 caracteres (base64/binário)>",
  "audio_format": "MP3"
}

Resposta 201

{
  "id": "097c3e62-26c4-4479-9280-9801f80b538d",
  "space_id": "0c5be58f-fbc7-48a9-8658-9e2fdaad9e6e",
  "type": "QUESTION",
  "content": "Pergunta de teste do agente (com áudio)?",
  "status": "PENDING",
  "channel": "WEB",
  "has_audio": true,
  "user_name": null,
  "created_at": "2026-09-01T00:54:12.886Z",
  "links": {
    "self": "/participations/097c3e62-26c4-4479-9280-9801f80b538d",
    "audio": "/participations/097c3e62-26c4-4479-9280-9801f80b538d/audio"
  }
}
POST/api/v1/questions/spaces/{spaceId}/participations/moderation-intakeCria moderation intake
✅ Pronto · exemplo real capturado no teste · 128 ms

Requisição

{
  "text": "Texto para moderação (qa-agent)",
  "type": "QUESTION",
  "channel": "WEB"
}

Resposta 202

{
  "accepted": true,
  "topic": "ai.moderation.input.perguntas"
}
POST/cms/v1/questions/spaces/Cria spaces
✅ Pronto · exemplo real capturado no teste · 155 ms

Requisição

{
  "title": "qa-agent Space 1788224051",
  "description": "Space de teste",
  "settings": {
    "allow_anonymous": true
  }
}

Resposta 201

{
  "id": "66cc4c42-46f6-43ce-9dc8-9f42e37f5569",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "created_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
  "title": "qa-agent Space 1788224051",
  "slug": "qa-agent-space-1788224051",
  "status": "DRAFT",
  "links": {
    "self": "/spaces/66cc4c42-46f6-43ce-9dc8-9f42e37f5569"
  }
}
POST/cms/v1/questions/spaces/batchCria batch
✅ Pronto · exemplo real capturado no teste · 178 ms

Requisição

{
  "base_config": {
    "type": "BOTH",
    "visibility": "PUBLIC"
  },
  "spaces": [
    {
      "title": "qa-agent Batch 1 1788224051",
      "schedule": {
        "start_at": "2027-12-01T10:00:00Z",
        "end_at": "2027-12-01T12:00:00Z"
      }
    },
    {
      "title": "qa-agent Batch 2 1788224051",
      "schedule": {
        "start_at": "2027-12-02T10:00:00Z",
        "end_at": "2027-12-02T12:00:00Z"
      }
    }
  ]
}

Resposta 201

{
  "batch_id": "ceb8ecc5-be7b-4328-816a-b5c046ddc1ee",
  "spaces_created": 2,
  "space_ids": [
    "c12fa100-a79e-435d-a714-508099c1ebee",
    "3b87119f-6967-4c22-9224-d2f9d428fc3b"
  ]
}
DELETE/cms/v1/questions/spaces/{id}Remove spaces
✅ Pronto · exemplo real capturado no teste · 174 ms

Resposta 200

{
  "message": "Espaco excluido com sucesso."
}
GET/cms/v1/questions/spaces/{id}Obtém spaces
✅ Pronto · exemplo real capturado no teste · 158 ms

Resposta 200

{
  "id": "66cc4c42-46f6-43ce-9dc8-9f42e37f5569",
  "title": "qa-agent Space 1788224051",
  "description": "Space de teste",
  "slug": "qa-agent-space-1788224051",
  "type": "BOTH",
  "visibility": "PUBLIC",
  "status": "DRAFT",
  "content_id": null,
  "content_type": null,
  "schedule_start_at": null,
  "schedule_end_at": null,
  "linked_to_live": false,
  "live_program_id": null,
  "settings": {
    "allow_anonymous": true
  },
  "interaction_config": {},
  "visual_customization": {},
  "public_url": null,
  "published_at": null,
  "archived_at": null,
  "version": 0,
  "batch_id": null,
  "template_id": null,
  "created_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
  "updated_by": null,
  "created_at": "2026-09-01T00:54:25.934Z",
  "updated_at": "2026-09-01T00:54:25.934Z",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa"
}
PATCH/cms/v1/questions/spaces/{id}Atualiza spaces
✅ Pronto · exemplo real capturado no teste · 178 ms

Requisição

{
  "visibility": "PRIVATE"
}

Resposta 200

{
  "id": "66cc4c42-46f6-43ce-9dc8-9f42e37f5569",
  "title": "qa-agent Space 1788224051",
  "description": "Space de teste",
  "slug": "qa-agent-space-1788224051",
  "type": "BOTH",
  "visibility": "PRIVATE",
  "status": "DRAFT",
  "content_id": null,
  "content_type": null,
  "schedule_start_at": null,
  "schedule_end_at": null,
  "linked_to_live": false,
  "live_program_id": null,
  "settings": {
    "allow_anonymous": true
  },
  "interaction_config": {},
  "visual_customization": {},
  "public_url": null,
  "published_at": null,
  "archived_at": null,
  "version": 0,
  "batch_id": null,
  "template_id": null,
  "created_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
  "updated_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
  "created_at": "2026-09-01T00:54:25.934Z",
  "updated_at": "2026-09-01T00:54:26.273Z",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa"
}
PUT/cms/v1/questions/spaces/{id}Atualiza spaces
✅ Pronto · exemplo real capturado no teste · 174 ms

Requisição

{
  "title": "qa-agent Space 1788224051 (substituído)",
  "settings": {
    "allow_anonymous": true
  }
}

Resposta 200

{
  "id": "66cc4c42-46f6-43ce-9dc8-9f42e37f5569",
  "title": "qa-agent Space 1788224051 (substituído)",
  "description": null,
  "slug": "qa-agent-space-1788224051",
  "type": "BOTH",
  "visibility": "PUBLIC",
  "status": "DRAFT",
  "content_id": null,
  "content_type": null,
  "schedule_start_at": null,
  "schedule_end_at": null,
  "linked_to_live": false,
  "live_program_id": null,
  "settings": {
    "allow_anonymous": true
  },
  "interaction_config": {},
  "visual_customization": {},
  "public_url": null,
  "published_at": null,
  "archived_at": null,
  "version": 0,
  "batch_id": null,
  "template_id": null,
  "created_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
  "updated_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
  "created_at": "2026-09-01T00:54:25.934Z",
  "updated_at": "2026-09-01T00:54:26.446Z",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa"
}
POST/cms/v1/questions/spaces/{id}/archiveCria archive
✅ Pronto · exemplo real capturado no teste · 182 ms

Resposta 200

{
  "id": "66cc4c42-46f6-43ce-9dc8-9f42e37f5569",
  "status": "ARCHIVED",
  "archived_at": "2026-09-01T00:54:27.329Z"
}
POST/cms/v1/questions/spaces/{id}/closeCria close
✅ Pronto · exemplo real capturado no teste · 178 ms

Requisição

{
  "action": "CLOSE"
}

Resposta 200

{
  "id": "66cc4c42-46f6-43ce-9dc8-9f42e37f5569",
  "title": "qa-agent Space 1788224051 (substituído)",
  "description": null,
  "slug": "qa-agent-space-1788224051",
  "type": "BOTH",
  "visibility": "PUBLIC",
  "status": "CLOSED",
  "content_id": null,
  "content_type": null,
  "schedule_start_at": null,
  "schedule_end_at": null,
  "linked_to_live": false,
  "live_program_id": null,
  "settings": {
    "allow_anonymous": true
  },
  "interaction_config": {
    "char_limit": 500,
    "allowed_means": [
      "TEXT"
    ]
  },
  "visual_customization": {
    "theme": {
      "primary_color": "#003DA5"
    }
  },
  "public_url": "https://participe.tv.com/qa-agent-space-1788224051",
  "published_at": "2026-09-01T00:54:26.969Z",
  "archived_at": null,
  "version": 1,
  "batch_id": null,
  "template_id": null,
  "created_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
  "updated_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
  "created_at": "2026-09-01T00:54:25.934Z",
  "updated_at": "2026-09-01T00:54:27.160Z",
  "br
… (resposta completa no Swagger do serviço)
POST/cms/v1/questions/spaces/{id}/publishCria publish
✅ Pronto · exemplo real capturado no teste · 177 ms

Resposta 200

{
  "status": "ACTIVE",
  "public_url": "https://participe.tv.com/qa-agent-space-1788224051",
  "published_at": "2026-09-01T00:54:26.969Z",
  "version": 1
}
PUT/cms/v1/questions/spaces/{spaceId}/interaction-configAtualiza interaction config
✅ Pronto · exemplo real capturado no teste · 168 ms

Requisição

{
  "allowed_means": [
    "TEXT"
  ],
  "char_limit": 500
}

Resposta 200

{
  "char_limit": 500,
  "allowed_means": [
    "TEXT"
  ]
}
PUT/cms/v1/questions/spaces/{spaceId}/visual-customizationAtualiza visual customization
✅ Pronto · exemplo real capturado no teste · 188 ms

Requisição

{
  "theme": {
    "primary_color": "#003DA5"
  }
}

Resposta 200

{
  "theme": {
    "primary_color": "#003DA5"
  }
}
GET/cms/v1/questions/templates/Lista templates
✅ Pronto · exemplo real capturado no teste · 199 ms

Resposta 200

{
  "data": [],
  "meta": {
    "total": 0,
    "page": 1,
    "limit": 20
  }
}
POST/cms/v1/questions/templates/Cria templates
✅ Pronto · exemplo real capturado no teste · 169 ms

Requisição

{
  "name": "qa-agent Template 1788224051",
  "category": "BOTH",
  "description": "Desc"
}

Resposta 201

{
  "id": "6cbd9747-3d56-482d-955e-e28b421081c1",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "name": "qa-agent Template 1788224051",
  "category": "BOTH",
  "is_active": true,
  "links": {
    "self": "/templates/6cbd9747-3d56-482d-955e-e28b421081c1"
  }
}
DELETE/cms/v1/questions/templates/{id}Remove templates
✅ Pronto · exemplo real capturado no teste · 172 ms

Resposta 200

{
  "message": "Template excluido com sucesso."
}
PATCH/cms/v1/questions/templates/{id}Atualiza templates
✅ Pronto · exemplo real capturado no teste · 181 ms

Requisição

{
  "name": "qa-agent Template 1788224051 atualizado",
  "category": "QUESTIONS"
}

Resposta 200

{
  "id": "6cbd9747-3d56-482d-955e-e28b421081c1",
  "name": "qa-agent Template 1788224051 atualizado",
  "category": "QUESTIONS",
  "description": "Desc",
  "preview_url": null,
  "default_interaction_config": {},
  "default_visual_theme": {},
  "default_settings": {
    "allow_anonymous": false,
    "require_govbr_auth": false,
    "show_results_realtime": false
  },
  "is_active": true,
  "created_at": "2026-09-01T00:54:28.359Z",
  "updated_at": "2026-09-01T00:54:28.551Z",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa"
}
PUT/cms/v1/questions/templates/{id}Atualiza templates
✅ Pronto · exemplo real capturado no teste · 208 ms

Requisição

{
  "name": "qa-agent Template 1788224051 substituído"
}

Resposta 200

{
  "id": "6cbd9747-3d56-482d-955e-e28b421081c1",
  "name": "qa-agent Template 1788224051 substituído",
  "category": "BOTH",
  "description": null,
  "preview_url": null,
  "default_interaction_config": {},
  "default_visual_theme": {},
  "default_settings": {
    "allow_anonymous": false,
    "require_govbr_auth": false,
    "show_results_realtime": false
  },
  "is_active": true,
  "created_at": "2026-09-01T00:54:28.359Z",
  "updated_at": "2026-09-01T00:54:28.763Z",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa"
}
Em validação (4) — ainda não recomendado fixar contrato
RotaEstadoObservação
GET /api/v1/questions/spaces/{spaceId}/participations🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
GET /cms/v1/questions/spaces/🟣 Em validaçãoPasso do ciclo de vida: esperado HTTP (200,), obtido 400
POST /cms/v1/questions/spaces/from-template🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
GET /cms/v1/questions/templates/{id}🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)

🔔 Notificações31/35 prontos

31 endpoint(s) prontos para integração, com exemplo real de requisição e resposta.

GET/api/v1/notificationsLista notifications
✅ Pronto · exemplo real capturado no teste · 129 ms

Resposta 200

{
  "data": [
    {
      "id": "e6ec000c-4c63-4f68-89e7-f091492f6a5f",
      "title": "Aviso Importante",
      "body": "Olá Cidadão, evento qa-agent-EVT-1788224077 disparado.",
      "type": "IN_APP",
      "read": false,
      "action_url": "",
      "created_at": "2026-09-01T00:54:39.156Z"
    },
    {
      "id": "ddd536a2-7b55-42b3-a764-a69beb641c42",
      "title": "Aviso Importante",
      "body": "Olá , evento  disparado.",
      "type": "IN_APP",
      "read": false,
      "action_url": "",
      "created_at": "2026-09-01T00:54:38.885Z"
    },
    {
      "id": "0627ebce-8396-4f31-9c21-6eef48b3ceff",
      "title": "Aviso Importante",
      "body": "Olá Cidadão, evento qa-agent-EVT-1787848038 disparado.",
      "type": "IN_APP",
      "read": true,
      "action_url": "",
      "created_at": "2026-08-27T16:27:20.687Z"
    },
    {
      "id": "929f211a-f7f2-49c3-b38c-312c7092678e",
      "title": "Aviso Importante",
      "body": "Olá , evento  disparado.",
      "type": "IN_APP",
      "read"
… (resposta completa no Swagger do serviço)
POST/api/v1/notifications/device-tokensCria device tokens
✅ Pronto · exemplo real capturado no teste · 128 ms

Requisição

{
  "app_id": "br.gov.meugovbr",
  "platform": "FCM",
  "user_id": "cidadao_123",
  "device_token": "fcm-token-hash"
}

Resposta 201

{
  "id": "e68ad125-ccfc-49e9-bcde-3e69e12c6772",
  "user_id": "7cf2c9da-ccf1-4b45-8e83-55eb05a4c7f3",
  "device_token": "fcm-token-hash",
  "platform": "FCM",
  "app_id": "br.gov.meugovbr",
  "is_active": true,
  "registered_at": "2026-07-16T00:13:57.211Z",
  "last_used_at": "2026-09-01T00:52:11.729Z"
}
DELETE/api/v1/notifications/device-tokens/{token}Remove device tokens
✅ Pronto · exemplo real capturado no teste · 126 ms
POST/api/v1/notifications/devicesCria devices
✅ Pronto · exemplo real capturado no teste · 125 ms

Requisição

{
  "user_id": "7cf2c9da-ccf1-4b45-8e83-55eb05a4c7f3",
  "device_token": "f45552ea-02c9-57ce-90ed-a5ad323a23fa",
  "platform": "FCM",
  "app_id": "tv30-push"
}

Resposta 201

{
  "id": "cefd5f47-e476-4317-bf10-5a043d2bfb53",
  "user_id": "7cf2c9da-ccf1-4b45-8e83-55eb05a4c7f3",
  "device_token": "f45552ea-02c9-57ce-90ed-a5ad323a23fa",
  "platform": "FCM",
  "app_id": "tv30-push",
  "is_active": true,
  "registered_at": "2026-09-01T00:54:38.615Z",
  "last_used_at": "2026-09-01T00:54:38.615Z"
}
DELETE/api/v1/notifications/devices/{token}Remove devices
✅ Pronto · exemplo real capturado no teste · 119 ms
GET/api/v1/notifications/inbox/{user_id}Obtém inbox
✅ Pronto · exemplo real capturado no teste · 119 ms

Resposta 200

{
  "data": [
    {
      "id": "e6ec000c-4c63-4f68-89e7-f091492f6a5f",
      "title": "Aviso Importante",
      "body": "Olá Cidadão, evento qa-agent-EVT-1788224077 disparado.",
      "type": "IN_APP",
      "read": true,
      "action_url": "",
      "created_at": "2026-09-01T00:54:39.156Z"
    },
    {
      "id": "ddd536a2-7b55-42b3-a764-a69beb641c42",
      "title": "Aviso Importante",
      "body": "Olá , evento  disparado.",
      "type": "IN_APP",
      "read": false,
      "action_url": "",
      "created_at": "2026-09-01T00:54:38.885Z"
    },
    {
      "id": "0627ebce-8396-4f31-9c21-6eef48b3ceff",
      "title": "Aviso Importante",
      "body": "Olá Cidadão, evento qa-agent-EVT-1787848038 disparado.",
      "type": "IN_APP",
      "read": true,
      "action_url": "",
      "created_at": "2026-08-27T16:27:20.687Z"
    },
    {
      "id": "929f211a-f7f2-49c3-b38c-312c7092678e",
      "title": "Aviso Importante",
      "body": "Olá , evento  disparado.",
      "type": "IN_APP",
      "read":
… (resposta completa no Swagger do serviço)
GET/api/v1/notifications/me/contactLista contact
✅ Pronto · exemplo real capturado no teste · 120 ms

Resposta 200

{
  "id": "74dc519f-988c-4834-a076-14eecf6fb28f",
  "user_id": "7cf2c9da-ccf1-4b45-8e83-55eb05a4c7f3",
  "email": "qa-agent@example.test",
  "phone": "+5511999999999",
  "created_at": "2026-08-12T14:34:17.781Z",
  "updated_at": "2026-09-01T00:54:38.371Z"
}
PUT/api/v1/notifications/me/contactAtualiza contact
✅ Pronto · exemplo real capturado no teste · 123 ms

Requisição

{
  "email": "qa-agent@example.test",
  "phone": "+5511999999999"
}

Resposta 200

{
  "id": "74dc519f-988c-4834-a076-14eecf6fb28f",
  "user_id": "7cf2c9da-ccf1-4b45-8e83-55eb05a4c7f3",
  "email": "qa-agent@example.test",
  "phone": "+5511999999999",
  "created_at": "2026-08-12T14:34:17.781Z",
  "updated_at": "2026-09-01T00:54:38.371Z"
}
POST/api/v1/notifications/schedulesCria schedules
✅ Pronto · exemplo real capturado no teste · 137 ms

Requisição

{
  "user_id": "7cf2c9da-ccf1-4b45-8e83-55eb05a4c7f3",
  "event_datetime": "2027-12-31T14:00:00.000Z",
  "remind_at": "2027-12-31T12:00:00.000Z",
  "schedule_data": {
    "orgao": "TV Pública"
  },
  "channels_enabled": {
    "in_app": true
  },
  "template_id": "43c849d7-a850-4c57-b846-de32a9742be7"
}

Resposta 201

{
  "id": "941a882f-8085-47ad-8193-b33b9089efd8",
  "template_id": "43c849d7-a850-4c57-b846-de32a9742be7",
  "subscription_id": null,
  "event_id": null,
  "user_id": "7cf2c9da-ccf1-4b45-8e83-55eb05a4c7f3",
  "event_datetime": "2027-12-31T14:00:00.000Z",
  "remind_at": "2027-12-31T12:00:00.000Z",
  "schedule_data": {
    "orgao": "TV Pública"
  },
  "channels_enabled": {
    "in_app": true
  },
  "status": "PENDING",
  "created_at": "2026-09-01T00:54:39.779Z",
  "updated_at": "2026-09-01T00:54:39.779Z"
}
DELETE/api/v1/notifications/schedules/{id}Remove schedules
✅ Pronto · exemplo real capturado no teste · 123 ms

Resposta 200

{
  "id": "941a882f-8085-47ad-8193-b33b9089efd8",
  "template_id": "43c849d7-a850-4c57-b846-de32a9742be7",
  "subscription_id": null,
  "event_id": null,
  "user_id": "7cf2c9da-ccf1-4b45-8e83-55eb05a4c7f3",
  "event_datetime": "2027-12-31T14:00:00.000Z",
  "remind_at": "2027-12-31T12:00:00.000Z",
  "schedule_data": {
    "orgao": "TV Pública"
  },
  "channels_enabled": {
    "in_app": true
  },
  "status": "CANCELLED",
  "created_at": "2026-09-01T00:54:39.779Z",
  "updated_at": "2026-09-01T00:54:40.280Z"
}
GET/api/v1/notifications/schedules/{id}Obtém schedules
✅ Pronto · exemplo real capturado no teste · 122 ms

Resposta 200

{
  "id": "941a882f-8085-47ad-8193-b33b9089efd8",
  "template_id": "43c849d7-a850-4c57-b846-de32a9742be7",
  "subscription_id": null,
  "event_id": null,
  "user_id": "7cf2c9da-ccf1-4b45-8e83-55eb05a4c7f3",
  "event_datetime": "2027-12-31T14:00:00.000Z",
  "remind_at": "2027-12-31T12:00:00.000Z",
  "schedule_data": {
    "orgao": "TV Pública"
  },
  "channels_enabled": {
    "in_app": true
  },
  "status": "PENDING",
  "created_at": "2026-09-01T00:54:39.779Z",
  "updated_at": "2026-09-01T00:54:39.779Z"
}
PATCH/api/v1/notifications/schedules/{id}Atualiza schedules
✅ Pronto · exemplo real capturado no teste · 126 ms

Requisição

{
  "status": "CANCELLED"
}

Resposta 200

{
  "id": "941a882f-8085-47ad-8193-b33b9089efd8",
  "template_id": "43c849d7-a850-4c57-b846-de32a9742be7",
  "subscription_id": null,
  "event_id": null,
  "user_id": "7cf2c9da-ccf1-4b45-8e83-55eb05a4c7f3",
  "event_datetime": "2027-12-31T14:00:00.000Z",
  "remind_at": "2027-12-31T12:00:00.000Z",
  "schedule_data": {
    "orgao": "TV Pública"
  },
  "channels_enabled": {
    "in_app": true
  },
  "status": "CANCELLED",
  "created_at": "2026-09-01T00:54:39.779Z",
  "updated_at": "2026-09-01T00:54:40.280Z"
}
POST/api/v1/notifications/sendCria send
✅ Pronto · exemplo real capturado no teste · 147 ms

Requisição

{
  "template_id": "43c849d7-a850-4c57-b846-de32a9742be7",
  "event_type": "qa-agent-EVT-1788224077",
  "data": {}
}

Resposta 201

{
  "message": "Gatilho de notificação recebido e em processamento.",
  "event_type": "qa-agent-EVT-1788224077",
  "timestamp": "2026-09-01T00:54:38.906Z"
}
GET/api/v1/notifications/subscriptionsLista subscriptions
✅ Pronto · exemplo real capturado no teste · 123 ms

Resposta 200

[
  {
    "id": "8b540435-7bb0-4d43-a650-14a2f6998353",
    "user_id": "7cf2c9da-ccf1-4b45-8e83-55eb05a4c7f3",
    "event_type": "ALERTA_CLIMATICO",
    "category": "URGENCIA",
    "region_code": "BR-RJ",
    "channels_enabled": {
      "sms": false,
      "push": true,
      "email": true,
      "in_app": true
    },
    "emissora_id": "defesa_civil",
    "is_active": true,
    "created_at": "2026-09-01T00:52:11.355Z"
  }
]
POST/api/v1/notifications/subscriptionsCria subscriptions
✅ Pronto · exemplo real capturado no teste · 125 ms

Requisição

{
  "user_id": "7cf2c9da-ccf1-4b45-8e83-55eb05a4c7f3",
  "event_type": "qa-agent-EVT-1788224077",
  "channels_enabled": {
    "in_app": true
  },
  "is_active": true
}

Resposta 201

{
  "id": "618b69a6-fb88-4775-ba39-282cf389599d",
  "user_id": "7cf2c9da-ccf1-4b45-8e83-55eb05a4c7f3",
  "segment_filter": null,
  "event_type": "qa-agent-EVT-1788224077",
  "category": null,
  "region_code": null,
  "channels_enabled": {
    "in_app": true
  },
  "emissora_id": null,
  "is_active": true,
  "created_at": "2026-09-01T00:54:38.128Z"
}
DELETE/api/v1/notifications/subscriptions/{id}Remove subscriptions
✅ Pronto · exemplo real capturado no teste · 124 ms

Resposta 200

{
  "id": "618b69a6-fb88-4775-ba39-282cf389599d",
  "user_id": "7cf2c9da-ccf1-4b45-8e83-55eb05a4c7f3",
  "event_type": "qa-agent-EVT-1788224077",
  "category": null,
  "region_code": null,
  "channels_enabled": {
    "in_app": true
  },
  "emissora_id": null,
  "is_active": true,
  "created_at": "2026-09-01T00:54:38.128Z"
}
GET/api/v1/notifications/subscriptions/{id}Obtém subscriptions
✅ Pronto · exemplo real capturado no teste · 119 ms

Resposta 200

{
  "id": "618b69a6-fb88-4775-ba39-282cf389599d",
  "user_id": "7cf2c9da-ccf1-4b45-8e83-55eb05a4c7f3",
  "event_type": "qa-agent-EVT-1788224077",
  "category": null,
  "region_code": null,
  "channels_enabled": {
    "in_app": true
  },
  "emissora_id": null,
  "is_active": true,
  "created_at": "2026-09-01T00:54:38.128Z"
}
GET/api/v1/notifications/templatesLista templates
✅ Pronto · exemplo real capturado no teste · 163 ms

Resposta 200

[
  {
    "id": "b06b4315-9821-47c1-9b3f-a0c95ec11448",
    "name": "Boas-vindas",
    "channel_type": "EMAIL",
    "subject_template": "Aviso Importante",
    "body_template": "Olá {{nome}}, seja bem-vindo ao Gov.br.",
    "placeholders": [
      "nome"
    ],
    "emissora_id": "ministerio_saude",
    "is_active": true,
    "created_at": "2026-09-01T00:52:13.020Z",
    "updated_at": "2026-09-01T00:52:13.020Z"
  },
  {
    "id": "28fbf17c-ad8d-49b2-9794-ffa2a8f48f57",
    "name": "Boas-vindas",
    "channel_type": "EMAIL",
    "subject_template": "Aviso Importante",
    "body_template": "Olá {{nome}}, seja bem-vindo ao Gov.br.",
    "placeholders": [
      "nome"
    ],
    "emissora_id": "ministerio_saude",
    "is_active": true,
    "created_at": "2026-09-01T00:52:11.217Z",
    "updated_at": "2026-09-01T00:52:11.217Z"
  },
  {
    "id": "3c318a0b-570f-4b55-991c-0e8e06fa548b",
    "name": "Boas-vindas",
    "channel_type": "EMAIL",
    "subject_template": "Aviso Importante",
    "body_template": "Olá {{n
… (resposta completa no Swagger do serviço)
POST/api/v1/notifications/templatesCria templates
✅ Pronto · exemplo real capturado no teste · 121 ms

Requisição

{
  "channel_type": "IN_APP",
  "name": "qa-agent Aviso 1788224077",
  "subject_template": "Aviso Importante",
  "body_template": "Olá {{nome}}, evento {{evento}} disparado.",
  "placeholders": [
    "nome",
    "evento"
  ],
  "is_active": true
}

Resposta 201

{
  "id": "43c849d7-a850-4c57-b846-de32a9742be7",
  "name": "qa-agent Aviso 1788224077",
  "channel_type": "IN_APP",
  "subject_template": "Aviso Importante",
  "body_template": "Olá {{nome}}, evento {{evento}} disparado.",
  "placeholders": [
    "nome",
    "evento"
  ],
  "emissora_id": null,
  "is_active": true,
  "created_at": "2026-09-01T00:54:38.005Z",
  "updated_at": "2026-09-01T00:54:38.005Z"
}
DELETE/api/v1/notifications/templates/{id}Remove templates
✅ Pronto · exemplo real capturado no teste · 122 ms

Resposta 200

{
  "id": "43c849d7-a850-4c57-b846-de32a9742be7",
  "name": "qa-agent Aviso 1788224077",
  "channel_type": "IN_APP",
  "subject_template": "Aviso Importante",
  "body_template": "Olá {{nome}}, evento {{evento}} disparado.",
  "placeholders": [
    "nome",
    "evento"
  ],
  "emissora_id": null,
  "is_active": true,
  "created_at": "2026-09-01T00:54:38.005Z",
  "updated_at": "2026-09-01T00:54:38.005Z"
}
GET/api/v1/notifications/templates/{id}Obtém templates
✅ Pronto · exemplo real capturado no teste · 128 ms

Resposta 200

{
  "id": "b06b4315-9821-47c1-9b3f-a0c95ec11448",
  "name": "Boas-vindas",
  "channel_type": "EMAIL",
  "subject_template": "Aviso Importante",
  "body_template": "Olá {{nome}}, seja bem-vindo ao Gov.br.",
  "placeholders": [
    "nome"
  ],
  "emissora_id": "ministerio_saude",
  "is_active": true,
  "created_at": "2026-09-01T00:52:13.020Z",
  "updated_at": "2026-09-01T00:52:13.020Z"
}
PATCH/api/v1/notifications/templates/{id}Atualiza templates
✅ Pronto · exemplo real capturado no teste · 142 ms

Requisição

{
  "placeholders": [
    "nome"
  ],
  "channel_type": "EMAIL",
  "is_active": true,
  "name": "Boas-vindas",
  "subject_template": "Aviso Importante",
  "emissora_id": "ministerio_saude",
  "body_template": "Olá {{nome}}, seja bem-vindo ao Gov.br."
}

Resposta 200

{
  "id": "04b566c6-6b93-402c-adf4-f7487076ecbe",
  "name": "Boas-vindas",
  "channel_type": "EMAIL",
  "subject_template": "Aviso Importante",
  "body_template": "Olá {{nome}}, seja bem-vindo ao Gov.br.",
  "placeholders": [
    "nome"
  ],
  "emissora_id": "ministerio_saude",
  "is_active": true,
  "created_at": "2026-07-13T19:32:42.175Z",
  "updated_at": "2026-09-01T00:52:18.007Z"
}
PATCH/api/v1/notifications/{id}/readAtualiza read
✅ Pronto · exemplo real capturado no teste · 122 ms

Resposta 200

{
  "id": "e6ec000c-4c63-4f68-89e7-f091492f6a5f",
  "title": "Aviso Importante",
  "body": "Olá Cidadão, evento qa-agent-EVT-1788224077 disparado.",
  "type": "IN_APP",
  "read": true,
  "action_url": "",
  "created_at": "2026-09-01T00:54:39.156Z"
}
POST/cms/v1/notifications/dispatchCria dispatch
✅ Pronto · exemplo real capturado no teste · 138 ms

Requisição

{
  "template_id": "43c849d7-a850-4c57-b846-de32a9742be7",
  "event_type": "qa-agent-EVT-1788224077",
  "data": {
    "nome": "Cidadão",
    "evento": "qa-agent-EVT-1788224077"
  }
}

Resposta 201

{
  "message": "Gatilho de notificação recebido e em processamento.",
  "event_type": "qa-agent-EVT-1788224077",
  "timestamp": "2026-09-01T00:54:39.163Z"
}
POST/cms/v1/notifications/schedulesCria schedules
✅ Pronto · exemplo real capturado no teste · 131 ms

Requisição

{
  "event_datetime": "2027-12-31T14:00:00.000Z",
  "user_id": "c42b3e14-ac4d-561b-92f2-58c36789383f",
  "channels_enabled": {},
  "remind_at": "2027-12-31T14:00:00.000Z",
  "schedule_data": {}
}

Resposta 201

{
  "id": "5829f13c-b7c4-497e-956b-d8d4e9ab6568",
  "template_id": null,
  "subscription_id": null,
  "event_id": null,
  "user_id": "c42b3e14-ac4d-561b-92f2-58c36789383f",
  "event_datetime": "2027-12-31T14:00:00.000Z",
  "remind_at": "2027-12-31T14:00:00.000Z",
  "schedule_data": {},
  "channels_enabled": {},
  "status": "PENDING",
  "created_at": "2026-09-01T00:52:13.780Z",
  "updated_at": "2026-09-01T00:52:13.780Z"
}
GET/cms/v1/notifications/subscriptionsLista subscriptions
✅ Pronto · exemplo real capturado no teste · 129 ms

Resposta 200

[
  {
    "id": "94a0e267-e6d2-4f50-bad7-f194a31795bf",
    "user_id": "cidadao_12345",
    "segment_filter": null,
    "event_type": "ALERTA_CLIMATICO",
    "category": "URGENCIA",
    "region_code": "BR-RJ",
    "channels_enabled": {
      "sms": false,
      "push": true,
      "email": true,
      "in_app": true
    },
    "emissora_id": "defesa_civil",
    "is_active": true,
    "created_at": "2026-09-01T00:52:13.278Z"
  },
  {
    "id": "8b540435-7bb0-4d43-a650-14a2f6998353",
    "user_id": "7cf2c9da-ccf1-4b45-8e83-55eb05a4c7f3",
    "segment_filter": null,
    "event_type": "ALERTA_CLIMATICO",
    "category": "URGENCIA",
    "region_code": "BR-RJ",
    "channels_enabled": {
      "sms": false,
      "push": true,
      "email": true,
      "in_app": true
    },
    "emissora_id": "defesa_civil",
    "is_active": true,
    "created_at": "2026-09-01T00:52:11.355Z"
  },
  {
    "id": "7b4163e9-412d-4511-83c6-b79c827746e7",
    "user_id": "cidadao_12345",
    "segment_filter": null,
    "event_type": "ALER
… (resposta completa no Swagger do serviço)
POST/cms/v1/notifications/subscriptionsCria subscriptions
✅ Pronto · exemplo real capturado no teste · 127 ms

Requisição

{
  "event_type": "ALERTA_CLIMATICO",
  "category": "URGENCIA",
  "channels_enabled": {
    "sms": false,
    "push": true,
    "email": true,
    "in_app": true
  },
  "is_active": true,
  "region_code": "BR-RJ",
  "user_id": "cidadao_12345",
  "emissora_id": "defesa_civil"
}

Resposta 201

{
  "id": "94a0e267-e6d2-4f50-bad7-f194a31795bf",
  "user_id": "cidadao_12345",
  "segment_filter": null,
  "event_type": "ALERTA_CLIMATICO",
  "category": "URGENCIA",
  "region_code": "BR-RJ",
  "channels_enabled": {
    "sms": false,
    "push": true,
    "email": true,
    "in_app": true
  },
  "emissora_id": "defesa_civil",
  "is_active": true,
  "created_at": "2026-09-01T00:52:13.278Z"
}
GET/cms/v1/notifications/templatesLista templates
✅ Pronto · exemplo real capturado no teste · 129 ms

Resposta 200

[
  {
    "id": "b06b4315-9821-47c1-9b3f-a0c95ec11448",
    "name": "Boas-vindas",
    "channel_type": "EMAIL",
    "subject_template": "Aviso Importante",
    "body_template": "Olá {{nome}}, seja bem-vindo ao Gov.br.",
    "placeholders": [
      "nome"
    ],
    "emissora_id": "ministerio_saude",
    "is_active": true,
    "created_at": "2026-09-01T00:52:13.020Z",
    "updated_at": "2026-09-01T00:52:13.020Z"
  },
  {
    "id": "28fbf17c-ad8d-49b2-9794-ffa2a8f48f57",
    "name": "Boas-vindas",
    "channel_type": "EMAIL",
    "subject_template": "Aviso Importante",
    "body_template": "Olá {{nome}}, seja bem-vindo ao Gov.br.",
    "placeholders": [
      "nome"
    ],
    "emissora_id": "ministerio_saude",
    "is_active": true,
    "created_at": "2026-09-01T00:52:11.217Z",
    "updated_at": "2026-09-01T00:52:11.217Z"
  },
  {
    "id": "3c318a0b-570f-4b55-991c-0e8e06fa548b",
    "name": "Boas-vindas",
    "channel_type": "EMAIL",
    "subject_template": "Aviso Importante",
    "body_template": "Olá {{n
… (resposta completa no Swagger do serviço)
POST/cms/v1/notifications/templatesCria templates
✅ Pronto · exemplo real capturado no teste · 129 ms

Requisição

{
  "placeholders": [
    "nome"
  ],
  "channel_type": "EMAIL",
  "is_active": true,
  "name": "Boas-vindas",
  "subject_template": "Aviso Importante",
  "emissora_id": "ministerio_saude",
  "body_template": "Olá {{nome}}, seja bem-vindo ao Gov.br."
}

Resposta 201

{
  "id": "b06b4315-9821-47c1-9b3f-a0c95ec11448",
  "name": "Boas-vindas",
  "channel_type": "EMAIL",
  "subject_template": "Aviso Importante",
  "body_template": "Olá {{nome}}, seja bem-vindo ao Gov.br.",
  "placeholders": [
    "nome"
  ],
  "emissora_id": "ministerio_saude",
  "is_active": true,
  "created_at": "2026-09-01T00:52:13.020Z",
  "updated_at": "2026-09-01T00:52:13.020Z"
}
GET/cms/v1/notifications/templates/{id}Obtém templates
✅ Pronto · exemplo real capturado no teste · 120 ms

Resposta 200

{
  "id": "b06b4315-9821-47c1-9b3f-a0c95ec11448",
  "name": "Boas-vindas",
  "channel_type": "EMAIL",
  "subject_template": "Aviso Importante",
  "body_template": "Olá {{nome}}, seja bem-vindo ao Gov.br.",
  "placeholders": [
    "nome"
  ],
  "emissora_id": "ministerio_saude",
  "is_active": true,
  "created_at": "2026-09-01T00:52:13.020Z",
  "updated_at": "2026-09-01T00:52:13.020Z"
}
PATCH/cms/v1/notifications/templates/{id}Atualiza templates
✅ Pronto · exemplo real capturado no teste · 130 ms

Requisição

{
  "placeholders": [
    "nome"
  ],
  "channel_type": "EMAIL",
  "is_active": true,
  "name": "Boas-vindas",
  "subject_template": "Aviso Importante",
  "emissora_id": "ministerio_saude",
  "body_template": "Olá {{nome}}, seja bem-vindo ao Gov.br."
}

Resposta 200

{
  "id": "04b566c6-6b93-402c-adf4-f7487076ecbe",
  "name": "Boas-vindas",
  "channel_type": "EMAIL",
  "subject_template": "Aviso Importante",
  "body_template": "Olá {{nome}}, seja bem-vindo ao Gov.br.",
  "placeholders": [
    "nome"
  ],
  "emissora_id": "ministerio_saude",
  "is_active": true,
  "created_at": "2026-07-13T19:32:42.175Z",
  "updated_at": "2026-09-01T00:52:19.610Z"
}
Em validação (4) — ainda não recomendado fixar contrato
RotaEstadoObservação
GET /cms/v1/notifications/schedules/{id}🔒 Requer credencialToken sem permissão (HTTP 403)
PATCH /cms/v1/notifications/schedules/{id}🔒 Requer credencialToken sem permissão (HTTP 403)
GET /cms/v1/notifications/subscriptions/{id}🔒 Requer credencialToken sem permissão (HTTP 403)
PATCH /cms/v1/notifications/subscriptions/{id}🔒 Requer credencialToken sem permissão (HTTP 403)

🏛️ Dados Abertos (Câmara e Senado)22/22 prontos

22 endpoint(s) prontos para integração, com exemplo real de requisição e resposta.

GET/api/v1/dadosabertos/legislaturas/camaraLista camara
✅ Pronto · exemplo real capturado no teste · 1384 ms

Resposta 200

[
  {
    "numero": 57,
    "dataInicio": "2023-02-01",
    "dataFim": "2027-01-31",
    "anoEleicao": 2022
  },
  {
    "numero": 56,
    "dataInicio": "2019-02-01",
    "dataFim": "2023-01-31",
    "anoEleicao": 2018
  },
  {
    "numero": 55,
    "dataInicio": "2015-02-01",
    "dataFim": "2019-01-31",
    "anoEleicao": 2014
  },
  {
    "numero": 54,
    "dataInicio": "2011-02-01",
    "dataFim": "2015-01-31",
    "anoEleicao": 2010
  },
  {
    "numero": 53,
    "dataInicio": "2007-02-01",
    "dataFim": "2011-01-31",
    "anoEleicao": 2006
  },
  {
    "numero": 52,
    "dataInicio": "2003-02-01",
    "dataFim": "2007-01-31",
    "anoEleicao": 2002
  },
  {
    "numero": 51,
    "dataInicio": "1999-02-01",
    "dataFim": "2003-01-31",
    "anoEleicao": 1998
  },
  {
    "numero": 50,
    "dataInicio": "1995-02-01",
    "dataFim": "1999-01-31",
    "anoEleicao": 1994
  },
  {
    "numero": 49,
    "dataInicio": "1991-02-01",
    "dataFim": "1995-01-31",
    "anoEleicao": 1990
  },
  {
    "numero": 48,
 
… (resposta completa no Swagger do serviço)
GET/api/v1/dadosabertos/legislaturas/{id}Obtém legislaturas
✅ Pronto · exemplo real capturado no teste · 398 ms

Resposta 200

{
  "casa": "camara",
  "numero": 57,
  "dataInicio": "2023-02-01",
  "dataFim": "2027-01-31",
  "anoEleicao": 2022
}
GET/api/v1/dadosabertos/legislaturas/{id}/mesaLista mesa
✅ Pronto · exemplo real capturado no teste · 565 ms

Resposta 200

[
  {
    "id": 178947,
    "nome": "Sóstenes Cavalcante",
    "siglaPartido": "PL",
    "siglaUf": "RJ",
    "email": null,
    "urlFoto": "https://www.camara.leg.br/internet/deputado/bandep/178947.jpg",
    "titulo": "2º Vice-Presidente",
    "dataInicio": "2023-02-01",
    "dataFim": "2025-02-01"
  },
  {
    "id": 178854,
    "nome": "Elmar Nascimento",
    "siglaPartido": "UNIÃO",
    "siglaUf": "BA",
    "email": null,
    "urlFoto": "https://www.camara.leg.br/internet/deputado/bandep/178854.jpg",
    "titulo": "2º Vice-Presidente",
    "dataInicio": "2025-02-01",
    "dataFim": null
  },
  {
    "id": 178954,
    "nome": "Lucio Mosquini",
    "siglaPartido": "MDB",
    "siglaUf": "RO",
    "email": null,
    "urlFoto": "https://www.camara.leg.br/internet/deputado/bandep/178954.jpg",
    "titulo": "4º Secretário",
    "dataInicio": "2023-02-01",
    "dataFim": "2025-02-01"
  },
  {
    "id": 178933,
    "nome": "Sergio Souza",
    "siglaPartido": "MDB",
    "siglaUf": "PR",
    "email": null,
    
… (resposta completa no Swagger do serviço)
GET/api/v1/dadosabertos/parlamentares/deputados/{id}Obtém deputados
✅ Pronto · exemplo real capturado no teste · 316 ms

Resposta 200

{
  "casa": "camara",
  "id": "204531",
  "nomeCivil": "GUILHERME MURARO DERRITE",
  "urlFoto": "https://www.camara.leg.br/internet/deputado/bandep/204531.jpg",
  "siglaPartido": "PP",
  "siglaUf": "SP",
  "idLegislatura": 57,
  "email": null,
  "gabinete": {
    "nome": "750",
    "predio": "4",
    "sala": "750",
    "andar": "7",
    "telefone": "3215-5750",
    "email": "dep.guilhermederrite@camara.leg.br"
  },
  "urlWebsite": null,
  "redeSocial": [
    "https://twitter.com/capitaoderrite",
    "https://www.facebook.com/capitaoderrite",
    "https://www.instagram.com/capitaoderrite",
    "https://youtube.com/channel/UCZHZxgmwC2c5tz3_Jn-gGOw"
  ],
  "dataNascimento": "1984-10-10",
  "municipioNascimento": "Sorocaba",
  "ufNascimento": "SP",
  "sexo": "M",
  "escolaridade": "Pós-Graduação"
}
GET/api/v1/dadosabertos/parlamentares/deputados/{id}/despesasLista despesas
✅ Pronto · exemplo real capturado no teste · 328 ms

Resposta 200

{
  "itens": [],
  "possuiMaisRegistros": false
}
GET/api/v1/dadosabertos/parlamentares/deputados/{id}/discursosLista discursos
✅ Pronto · exemplo real capturado no teste · 1570 ms

Resposta 200

{
  "itens": [],
  "possuiMaisRegistros": false
}
GET/api/v1/dadosabertos/parlamentares/deputados/{id}/eventosLista eventos
✅ Pronto · exemplo real capturado no teste · 1588 ms

Resposta 200

{
  "itens": [
    {
      "id": 82935,
      "dataHoraInicio": "2026-08-31T18:00",
      "dataHoraFim": "2026-08-31T21:27",
      "situacao": "Encerrada",
      "descricaoTipo": "Sessão Deliberativa",
      "descricao": "Sessão Deliberativa Extraordinária Semipresencial (AM nº 123/2020)",
      "localExterno": null,
      "localCamara": {
        "nome": "Plenário da Câmara dos Deputados",
        "predio": null,
        "sala": null,
        "andar": null
      },
      "orgaos": [
        {
          "id": 180,
          "sigla": "PLEN",
          "nome": "Plenário",
          "apelido": "Plenário",
          "tipoOrgao": "Plenário Virtual",
          "nomePublicacao": "Plenário",
          "nomeResumido": "Plenário"
        }
      ],
      "urlRegistro": "https://www.youtube.com/watch?v=TEMeE8q234Q"
    }
  ],
  "possuiMaisRegistros": false
}
GET/api/v1/dadosabertos/parlamentares/deputados/{id}/frentesLista frentes
✅ Pronto · exemplo real capturado no teste · 461 ms

Resposta 200

[
  {
    "id": 54501,
    "titulo": "Frente Parlamentar do Cooperativismo (Frencoop)",
    "idLegislatura": 57
  },
  {
    "id": 54323,
    "titulo": "Frente Parlamentar da Agropecuária - FPA",
    "idLegislatura": 57
  },
  {
    "id": 54274,
    "titulo": "Frente Parlamentar dos Recicladores do Brasil (FPRB).",
    "idLegislatura": 56
  },
  {
    "id": 54266,
    "titulo": "Frente Parlamentar dos Transplantes",
    "idLegislatura": 56
  },
  {
    "id": 54264,
    "titulo": "Frente Parlamentar Mista Brasil Competitivo",
    "idLegislatura": 56
  },
  {
    "id": 54226,
    "titulo": "Frente Parlamentar Mista Pela Causa da Prematuridade",
    "idLegislatura": 56
  },
  {
    "id": 54261,
    "titulo": "Frente Parlamentar da Câmara dos Deputados Brasil - Bolívia.",
    "idLegislatura": 56
  },
  {
    "id": 54260,
    "titulo": "Frente Parlamentar Mista de Apoio ao Mercado de Varejo e E-Commerce-FREVEC",
    "idLegislatura": 56
  },
  {
    "id": 54256,
    "titulo": "Frente Parlamentar em Defesa do Com
… (resposta completa no Swagger do serviço)
GET/api/v1/dadosabertos/parlamentares/deputados/{id}/historicoLista historico
✅ Pronto · exemplo real capturado no teste · 282 ms

Resposta 200

[
  {
    "idLegislatura": 57,
    "siglaPartido": "PL",
    "siglaUf": "SP",
    "dataHora": "2023-01-30T15:18",
    "situacao": "Exercício",
    "condicaoEleitoral": "Titular",
    "descricaoStatus": ""
  },
  {
    "idLegislatura": 57,
    "siglaPartido": "PL",
    "siglaUf": "SP",
    "dataHora": "2023-02-01T00:00",
    "situacao": null,
    "condicaoEleitoral": null,
    "descricaoStatus": "Nome no início da legislatura / Partido no início da legislatura"
  },
  {
    "idLegislatura": 57,
    "siglaPartido": "PL",
    "siglaUf": "SP",
    "dataHora": "2023-02-01T12:05",
    "situacao": "Exercício",
    "condicaoEleitoral": "Titular",
    "descricaoStatus": "Entrada - Posse de Eleito Titular - Posse na Sessão Preparatória"
  },
  {
    "idLegislatura": 57,
    "siglaPartido": "PL",
    "siglaUf": "SP",
    "dataHora": "2023-02-02T10:53",
    "situacao": "Licença",
    "condicaoEleitoral": "Titular",
    "descricaoStatus": "Saída - Afastamento sem prazo determinado - Secretário de Estado"
  },
  {
… (resposta completa no Swagger do serviço)
GET/api/v1/dadosabertos/parlamentares/deputados/{id}/mandatosExternosLista mandatosExternos
✅ Pronto · exemplo real capturado no teste · 323 ms

Resposta 200

[]
GET/api/v1/dadosabertos/parlamentares/deputados/{id}/orgaosLista orgaos
✅ Pronto · exemplo real capturado no teste · 317 ms

Resposta 200

{
  "itens": [
    {
      "idOrgao": 5503,
      "siglaOrgao": "CSPCCO",
      "nomeOrgao": "Comissão de Segurança Pública e Combate ao Crime Organizado",
      "nomePublicacao": "Comissão de Segurança Pública e Combate ao Crime Organizado",
      "titulo": "Titular",
      "dataInicio": "2026-02-03T00:00",
      "dataFim": null
    },
    {
      "idOrgao": 2003,
      "siglaOrgao": "CCJC",
      "nomeOrgao": "Comissão de Constituição e Justiça e de Cidadania",
      "nomePublicacao": "Comissão de Constituição e Justiça e de Cidadania",
      "titulo": "Suplente",
      "dataInicio": "2026-02-09T00:00",
      "dataFim": null
    },
    {
      "idOrgao": 539858,
      "siglaOrgao": "PEC03215",
      "nomeOrgao": "Comissão Especial destinada a proferir parecer à Proposta de Emenda à Constituição nº 32, de 2015, do Sr. Gonzaga Patriota, que \"altera a redação dos artigos 14 e 228 da Constituição Federal, para estabelecer a plena maioridade civil e penal aos dezesseis anos de idade\", e
… (resposta completa no Swagger do serviço)
GET/api/v1/dadosabertos/parlamentares/deputados/{id}/profissoesLista profissoes
✅ Pronto · exemplo real capturado no teste · 296 ms

Resposta 200

[
  {
    "codTipoProfissao": 878,
    "titulo": "Policial",
    "dataHora": "2018-11-12T15:21"
  }
]
GET/api/v1/dadosabertos/partidos/camaraLista camara
✅ Pronto · exemplo real capturado no teste · 314 ms

Resposta 200

[
  {
    "id": "36898",
    "sigla": "AVANTE",
    "nome": "Avante"
  },
  {
    "id": "37905",
    "sigla": "CIDADANIA",
    "nome": "Cidadania"
  },
  {
    "id": "37902",
    "sigla": "DC",
    "nome": "Democracia Cristã"
  },
  {
    "id": "36899",
    "sigla": "MDB",
    "nome": "Movimento Democrático Brasileiro"
  },
  {
    "id": "38011",
    "sigla": "MISSÃO",
    "nome": "Partido Missão"
  },
  {
    "id": "37901",
    "sigla": "NOVO",
    "nome": "Partido Novo"
  },
  {
    "id": "36779",
    "sigla": "PCdoB",
    "nome": "Partido Comunista do Brasil"
  },
  {
    "id": "36786",
    "sigla": "PDT",
    "nome": "Partido Democrático Trabalhista"
  },
  {
    "id": "37906",
    "sigla": "PL",
    "nome": "Partido Liberal"
  },
  {
    "id": "36896",
    "sigla": "PODE",
    "nome": "Podemos"
  },
  {
    "id": "37903",
    "sigla": "PP",
    "nome": "Progressistas"
  },
  {
    "id": "38010",
    "sigla": "PRD",
    "nome": "Partido Renovação Democrática"
  },
  {
    "id": "36832",
    "sigla
… (resposta completa no Swagger do serviço)
GET/api/v1/dadosabertos/partidos/{id}Obtém partidos
✅ Pronto · exemplo real capturado no teste · 284 ms

Resposta 200

{
  "casa": "camara",
  "id": "36898",
  "sigla": "AVANTE",
  "nome": "Avante",
  "numeroEleitoral": null,
  "situacao": "Ativo",
  "totalMembros": 5,
  "totalPosse": 7,
  "lider": {
    "nome": "Waldemar Oliveira",
    "uf": "PE",
    "urlFoto": "https://www.camara.leg.br/internet/deputado/bandep/91228.jpg",
    "uri": "https://dadosabertos.camara.leg.br/api/v2/deputados/91228"
  },
  "urlLogo": "https://www.camara.leg.br/internet/Deputado/img/partidos/AVANTE.gif",
  "urlWebSite": null,
  "urlFacebook": null
}
GET/api/v1/dadosabertos/proposicoes/camaraLista camara
✅ Pronto · exemplo real capturado no teste · 1412 ms

Resposta 200

[
  {
    "id": "2645062",
    "siglaTipo": "ATA",
    "numero": 154,
    "ano": 2026,
    "ementa": "Termo de solene nº 154 de 2026"
  },
  {
    "id": "2645061",
    "siglaTipo": "ATA",
    "numero": 154,
    "ano": 2026,
    "ementa": "Termo de solene nº 154 de 2026"
  },
  {
    "id": "2645060",
    "siglaTipo": "REQ",
    "numero": 347,
    "ano": 2026,
    "ementa": "Requer a aprovação de Moção de Louvor aos policiais militares da Força Tática do 1º Batalhão de Polícia Militar do Estado do Rio Grande do Norte pela atuação em ocorrência registrada no dia 9 de agosto de 2026, na comunidade da Guarita, em Natal/RN."
  },
  {
    "id": "2645059",
    "siglaTipo": "REQ",
    "numero": 4153,
    "ano": 2026,
    "ementa": "Requer regime de urgência para a apreciação do Projeto de Lei nº 5231, de 2026, que “Altera a Lei nº 14.874, de 28 de maio de 2024, para estabelecer prazo máximo e rito diferenciado de análise de pedidos de uso compassivo e de acesso expandido a tratamentos experiment
… (resposta completa no Swagger do serviço)
GET/api/v1/dadosabertos/proposicoes/{id}Obtém proposicoes
✅ Pronto · exemplo real capturado no teste · 639 ms

Resposta 200

{
  "casa": "camara",
  "id": "104417",
  "siglaTipo": "PL",
  "codTipo": 139,
  "descricaoTipo": "Projeto de Lei",
  "numero": 46,
  "ano": 2003,
  "ementa": "Altera o Decreto-Lei nº 73, de 21 de novembro de 1966, fixando prazo máximo para pagamento de indenização de sinistros por parte das sociedades seguradoras e estabelecendo a multa aplicável no caso de seu descumprimento e dá outras providências.",
  "ementaDetalhada": null,
  "keywords": "Alteração, Lei do Seguro Privado, obrigatoriedade, sociedade seguradora, inclusão, cláusula, contrato, seguros, fixação, prazo, pagamento, indenização, segurado, sinistro, seguro obrigatório, tempo, apuração, valor, multa,  infrator.",
  "dataApresentacao": "2003-02-18T15:14",
  "uriOrgaoNumerador": "https://dadosabertos.camara.leg.br/api/v2/orgaos/2004",
  "urlInteiroTeor": "https://www.camara.leg.br/proposicoesWeb/prop_mostrarintegra?codteor=113808",
  "situacaoAtual": "Aguardando Designação de Relator(a)",
  "dataUltimaTramitacao": "2026-04-07T1
… (resposta completa no Swagger do serviço)
GET/api/v1/dadosabertos/proposicoes/{id}/tramitacoesLista tramitacoes
✅ Pronto · exemplo real capturado no teste · 374 ms

Resposta 200

[
  {
    "dataHora": "2003-02-18T15:14",
    "sequencia": 1,
    "siglaOrgao": "PLEN",
    "uriOrgao": "https://dadosabertos.camara.leg.br/api/v2/orgaos/180",
    "uriUltimoRelator": null,
    "regime": "Ordinário (Art. 151, III, RICD)",
    "descricaoTramitacao": "Apresentação de Proposição",
    "descricaoSituacao": "Aguardando Designação de Relator(a)",
    "despacho": "Apresentação do Projeto de Lei (Art. 61 CF) pelo Deputado Enio Bacci (PDT-RS).",
    "url": "https://www.camara.leg.br/proposicoesWeb/prop_mostrarintegra?codteor=113808",
    "ambito": "Regimental",
    "apreciacao": "Proposição Sujeita à Apreciação Conclusiva pelas Comissões - Art. 24 II"
  },
  {
    "dataHora": "2003-03-11T00:00",
    "sequencia": 11,
    "siglaOrgao": "MESA",
    "uriOrgao": "https://dadosabertos.camara.leg.br/api/v2/orgaos/4",
    "uriUltimoRelator": null,
    "regime": "Ordinário (Art. 151, III, RICD)",
    "descricaoTramitacao": "Distribuição",
    "descricaoSituacao": "Aguardando Designação de R
… (resposta completa no Swagger do serviço)
GET/api/v1/dadosabertos/proposicoes/{id}/votacoesLista votacoes
✅ Pronto · exemplo real capturado no teste · 314 ms

Resposta 200

[
  {
    "id": "104417-82",
    "data": "2007-09-26",
    "dataHoraRegistro": "2007-09-26T11:40:17",
    "siglaOrgao": "CDC",
    "uriEvento": "https://dadosabertos.camara.leg.br/api/v2/eventos/16205",
    "proposicaoObjeto": null,
    "uriProposicaoObjeto": null,
    "descricao": "Aprovado por Unanimidade o Parecer, apresentou voto em separado o Deputado Bruno Araújo",
    "aprovada": true
  }
]
GET/api/v1/dadosabertos/votacoes/camaraLista camara
✅ Pronto · exemplo real capturado no teste · 978 ms

Resposta 200

[
  {
    "id": "2632300-28",
    "data": "2026-08-31",
    "descricao": "Aprovada a Redação Final, assinada pela relatora, Dep. Amanda Gentil (PP/MA).",
    "proposicaoObjeto": null
  },
  {
    "id": "2632300-26",
    "data": "2026-08-31",
    "descricao": "Aprovada a Medida Provisória nº 1.366, de 2026, na forma do Projeto de Lei de Conversão.",
    "proposicaoObjeto": null
  },
  {
    "id": "2632300-24",
    "data": "2026-08-31",
    "descricao": "Aprovado, em apreciação preliminar, o Parecer da Comissão Mista, na parte em que manifesta opinião pelo não atendimento dos pressupostos constitucionais de relevância e urgência e de sua adequação financeira e orçamentária, nos termos do artigo 8º da Resolução nº 01, de 2002-CN.",
    "proposicaoObjeto": null
  },
  {
    "id": "2632300-23",
    "data": "2026-08-31",
    "descricao": "Aprovado, em apreciação preliminar, o Parecer da Comissão Mista, na parte em que manifesta opinião favorável quanto ao atendimento dos pressupostos consti
… (resposta completa no Swagger do serviço)
GET/api/v1/dadosabertos/votacoes/{id}Obtém votacoes
✅ Pronto · exemplo real capturado no teste · 391 ms

Resposta 200

{
  "casa": "camara",
  "id": "510882-2",
  "data": "2011-07-06",
  "dataHoraRegistro": "2011-07-06T11:27:05",
  "descricao": "Aprovado, na forma de reunião de trabalho.",
  "aprovada": true,
  "siglaOrgao": "CINDRE",
  "idOrgao": 2017,
  "uriOrgao": "https://dadosabertos.camara.leg.br/api/v2/orgaos/2017",
  "idEvento": 26234,
  "uriEvento": "https://dadosabertos.camara.leg.br/api/v2/eventos/26234",
  "dataHoraUltimaAberturaVotacao": null,
  "descUltimaAberturaVotacao": null
}
GET/api/v1/dadosabertos/votacoes/{id}/orientacoesLista orientacoes
✅ Pronto · exemplo real capturado no teste · 515 ms

Resposta 200

[]
GET/api/v1/dadosabertos/votacoes/{id}/votosLista votos
✅ Pronto · exemplo real capturado no teste · 308 ms

Resposta 200

[]

📜 Sessões & Registros Legislativos56/81 prontos

56 endpoint(s) prontos para integração, com exemplo real de requisição e resposta.

GET/api/v1/legislative-data/glossaryLista glossary
✅ Pronto · exemplo real capturado no teste · 123 ms

Resposta 200

{
  "items": [],
  "page": 1,
  "pageSize": 20,
  "total": 0,
  "totalPages": 0
}
GET/api/v1/legislative-data/glossary/searchLista search
✅ Pronto · exemplo real capturado no teste · 129 ms

Resposta 200

{
  "items": []
}
GET/api/v1/legislative-data/members/{id}/relatedLista related
✅ Pronto · exemplo real capturado no teste · 128 ms

Resposta 200

{
  "items": [],
  "totalSugestoes": 0
}
GET/api/v1/legislative-data/official-records/searchLista search
✅ Pronto · exemplo real capturado no teste · 121 ms

Resposta 200

{
  "items": []
}
GET/api/v1/legislative-data/propositions/{id}/relatedLista related
✅ Pronto · exemplo real capturado no teste · 518 ms

Resposta 200

{
  "items": [],
  "totalSugestoes": 0
}
GET/api/v1/legislative-data/recommendations/by-topicLista by topic
✅ Pronto · exemplo real capturado no teste · 172 ms

Resposta 200

{
  "items": [],
  "totalSugestoes": 0
}
GET/api/v1/legislative-data/searchLista search
✅ Pronto · exemplo real capturado no teste · 159 ms

Resposta 200

{
  "query": "reforma tributaria",
  "tipo": "todos",
  "ordenacao": "relevancia",
  "resultsByType": {
    "sessao": 0,
    "proposicao": 0,
    "parlamentar": 0,
    "ata": 0,
    "marcador": 0
  },
  "items": [],
  "page": 1,
  "pageSize": 20,
  "total": 0,
  "totalPages": 0
}
GET/api/v1/legislative-data/sessionsLista sessions
✅ Pronto · exemplo real capturado no teste · 128 ms

Resposta 200

{
  "items": [
    {
      "id": "2d8e8f78-bc85-4b41-8ead-c1b2fb3ce80b",
      "casa": "camara",
      "externalId": null,
      "titulo": "qa-agent sonda quorum alto 1787159088366",
      "descricao": "Sessão criada para demonstrar o ecossistema de TV 3.0",
      "tipo": "deliberativa",
      "status": "agendada",
      "legislatura": 57,
      "dataHoraInicio": null,
      "dataHoraFim": null,
      "local": "Plenário Ulysses Guimarães",
      "quorumMinimo": 3,
      "statusReason": null,
      "metadata": null,
      "createdAt": "2026-08-19T17:04:48.434Z",
      "updatedAt": "2026-08-19T17:04:48.434Z"
    },
    {
      "id": "6e218e19-0edf-43a2-a0ed-44773c1b14fc",
      "casa": "camara",
      "externalId": null,
      "titulo": "qa-agent sonda quorum alto 1787159078685",
      "descricao": "Sessão criada para demonstrar o ecossistema de TV 3.0",
      "tipo": "deliberativa",
      "status": "agendada",
      "legislatura": 57,
      "dataHoraInicio": null,
      "dataHoraFim": null,
      "local": 
… (resposta completa no Swagger do serviço)
GET/api/v1/legislative-data/sessions/currentLista current
✅ Pronto · exemplo real capturado no teste · 122 ms

Resposta 200

{
  "id": "0d03e311-753d-414a-a135-2566d406db7f",
  "casa": "camara",
  "externalId": null,
  "titulo": "qa-agent Sessão de demonstração TV 3.0 1787194071781",
  "descricao": "Sessão criada para demonstrar o ecossistema de TV 3.0",
  "tipo": "deliberativa",
  "status": "em_andamento",
  "legislatura": 57,
  "dataHoraInicio": "2026-08-20T02:47:54.747Z",
  "dataHoraFim": null,
  "local": "Plenário Ulysses Guimarães",
  "quorumMinimo": 3,
  "statusReason": null,
  "metadata": null,
  "createdAt": "2026-08-20T02:47:51.849Z",
  "updatedAt": "2026-08-20T02:47:54.748Z"
}
GET/api/v1/legislative-data/sessions/{id}Obtém sessions
✅ Pronto · exemplo real capturado no teste · 125 ms

Resposta 200

{
  "id": "2d8e8f78-bc85-4b41-8ead-c1b2fb3ce80b",
  "casa": "camara",
  "externalId": null,
  "titulo": "qa-agent sonda quorum alto 1787159088366",
  "descricao": "Sessão criada para demonstrar o ecossistema de TV 3.0",
  "tipo": "deliberativa",
  "status": "agendada",
  "legislatura": 57,
  "dataHoraInicio": null,
  "dataHoraFim": null,
  "local": "Plenário Ulysses Guimarães",
  "quorumMinimo": 3,
  "statusReason": null,
  "metadata": null,
  "createdAt": "2026-08-19T17:04:48.434Z",
  "updatedAt": "2026-08-19T17:04:48.434Z"
}
GET/api/v1/legislative-data/sessions/{sessionId}/agenda/{itemId}/documentsLista documents
✅ Pronto · exemplo real capturado no teste · 129 ms

Resposta 200

{
  "items": [],
  "total": 0
}
GET/api/v1/legislative-data/sessions/{sessionId}/agenda/{itemId}/documents/relatedLista related
✅ Pronto · exemplo real capturado no teste · 130 ms

Resposta 200

{
  "items": [],
  "total": 0
}
GET/api/v1/legislative-data/sessions/{sessionId}/documentsLista documents
✅ Pronto · exemplo real capturado no teste · 135 ms

Resposta 200

{
  "items": [],
  "total": 0
}
GET/api/v1/legislative-data/sessions/{sessionId}/markersLista markers
✅ Pronto · exemplo real capturado no teste · 126 ms

Resposta 200

[]
GET/api/v1/legislative-data/sessions/{sessionId}/official-recordsLista official records
✅ Pronto · exemplo real capturado no teste · 127 ms

Resposta 200

{
  "items": []
}
GET/api/v1/legislative-data/sessions/{sessionId}/panelsLista panels
✅ Pronto · exemplo real capturado no teste · 136 ms

Resposta 200

[
  {
    "id": "4c0e6f6b-0fd8-47a7-84fd-d8266df2a5e7",
    "sessionId": "96f5f76c-0ae4-475d-9bd0-8843a32e6ef0",
    "tipo": "pauta_atual",
    "titulo": "Em discussao",
    "conteudo": "PEC 45/2024 - Reforma Tributaria - Discussao em primeiro turno",
    "ativo": true,
    "version": 1,
    "createdAt": "2026-09-01T00:52:22.144Z",
    "updatedAt": "2026-09-01T00:52:22.144Z"
  }
]
GET/api/v1/legislative-data/sessions/{sessionId}/panels/{panelId}Obtém panels
✅ Pronto · exemplo real capturado no teste · 127 ms

Resposta 200

{
  "id": "4c0e6f6b-0fd8-47a7-84fd-d8266df2a5e7",
  "sessionId": "96f5f76c-0ae4-475d-9bd0-8843a32e6ef0",
  "tipo": "pauta_atual",
  "titulo": "Em discussao",
  "conteudo": "PEC 45/2024 - Reforma Tributaria - Discussao em primeiro turno",
  "ativo": true,
  "version": 1,
  "createdAt": "2026-09-01T00:52:22.144Z",
  "updatedAt": "2026-09-01T00:52:22.144Z"
}
GET/api/v1/legislative-data/sessions/{sessionId}/resultsLista results
✅ Pronto · exemplo real capturado no teste · 133 ms

Resposta 202

{
  "status": "pending",
  "message": "Consolidacao em andamento. Tente novamente em alguns minutos.",
  "estimatedAvailability": null
}
GET/api/v1/legislative-data/sessions/{sessionId}/results/agendaLista agenda
✅ Pronto · exemplo real capturado no teste · 132 ms

Resposta 202

{
  "status": "pending",
  "message": "Consolidacao em andamento. Tente novamente em alguns minutos.",
  "estimatedAvailability": null
}
GET/api/v1/legislative-data/sessions/{sessionId}/results/speakersLista speakers
✅ Pronto · exemplo real capturado no teste · 129 ms

Resposta 202

{
  "status": "pending",
  "message": "Consolidacao em andamento. Tente novamente em alguns minutos.",
  "estimatedAvailability": null
}
GET/api/v1/legislative-data/sessions/{sessionId}/results/timelineLista timeline
✅ Pronto · exemplo real capturado no teste · 128 ms

Resposta 202

{
  "status": "pending",
  "message": "Consolidacao em andamento. Tente novamente em alguns minutos.",
  "estimatedAvailability": null
}
GET/api/v1/legislative-data/sessions/{sessionId}/results/votesLista votes
✅ Pronto · exemplo real capturado no teste · 128 ms

Resposta 202

{
  "status": "pending",
  "message": "Consolidacao em andamento. Tente novamente em alguns minutos.",
  "estimatedAvailability": null
}
GET/api/v1/legislative-data/sessions/{sessionId}/results/votes/{voteId}Obtém votes
✅ Pronto · exemplo real capturado no teste · 122 ms

Resposta 202

{
  "status": "pending",
  "message": "Consolidacao em andamento. Tente novamente em alguns minutos.",
  "estimatedAvailability": null
}
GET/api/v1/legislative-data/sessions/{sessionId}/results/votes/{voteId}/party-positionsLista party positions
✅ Pronto · exemplo real capturado no teste · 123 ms

Resposta 202

{
  "status": "pending",
  "message": "Consolidacao em andamento. Tente novamente em alguns minutos.",
  "estimatedAvailability": null
}
GET/api/v1/legislative-data/sessions/{sessionId}/speakersLista speakers
✅ Pronto · exemplo real capturado no teste · 124 ms

Resposta 200

[]
GET/api/v1/legislative-data/sessions/{sessionId}/speakers/currentLista current
✅ Pronto · exemplo real capturado no teste · 129 ms
GET/api/v1/legislative-data/sessions/{sessionId}/votesLista votes
✅ Pronto · exemplo real capturado no teste · 120 ms

Resposta 200

[]
GET/cms/v1/legislative-data/accessibilityLista accessibility
✅ Pronto · exemplo real capturado no teste · 121 ms

Resposta 200

{
  "data": [],
  "module": "accessibility"
}
GET/cms/v1/legislative-data/glossaryLista glossary
✅ Pronto · exemplo real capturado no teste · 126 ms

Resposta 200

{
  "items": [],
  "page": 1,
  "pageSize": 20,
  "total": 0,
  "totalPages": 0
}
GET/cms/v1/legislative-data/glossary/searchLista search
✅ Pronto · exemplo real capturado no teste · 135 ms

Resposta 200

{
  "items": []
}
GET/cms/v1/legislative-data/official-records/searchLista search
✅ Pronto · exemplo real capturado no teste · 135 ms

Resposta 200

{
  "items": []
}
GET/cms/v1/legislative-data/reportsLista reports
✅ Pronto · exemplo real capturado no teste · 120 ms

Resposta 200

{
  "data": [],
  "module": "reports"
}
GET/cms/v1/legislative-data/sessionsLista sessions
✅ Pronto · exemplo real capturado no teste · 200 ms

Resposta 200

{
  "items": [
    {
      "id": "2d8e8f78-bc85-4b41-8ead-c1b2fb3ce80b",
      "casa": "camara",
      "externalId": null,
      "titulo": "qa-agent sonda quorum alto 1787159088366",
      "descricao": "Sessão criada para demonstrar o ecossistema de TV 3.0",
      "tipo": "deliberativa",
      "status": "agendada",
      "legislatura": 57,
      "dataHoraInicio": null,
      "dataHoraFim": null,
      "local": "Plenário Ulysses Guimarães",
      "quorumMinimo": 3,
      "statusReason": null,
      "metadata": null,
      "createdAt": "2026-08-19T17:04:48.434Z",
      "updatedAt": "2026-08-19T17:04:48.434Z"
    },
    {
      "id": "6e218e19-0edf-43a2-a0ed-44773c1b14fc",
      "casa": "camara",
      "externalId": null,
      "titulo": "qa-agent sonda quorum alto 1787159078685",
      "descricao": "Sessão criada para demonstrar o ecossistema de TV 3.0",
      "tipo": "deliberativa",
      "status": "agendada",
      "legislatura": 57,
      "dataHoraInicio": null,
      "dataHoraFim": null,
      "local": 
… (resposta completa no Swagger do serviço)
POST/cms/v1/legislative-data/sessionsCria sessions
✅ Pronto · exemplo real capturado no teste · 575 ms

Requisição

{
  "legislatura": 57,
  "titulo": "Sessão deliberativa extraordinária",
  "dataHoraInicio": "2026-06-29T12:00:00.000Z",
  "quorumMinimo": 257,
  "local": "Plenário Ulysses Guimarães",
  "casa": "camara",
  "tipo": "deliberativa",
  "descricao": "Discussão da pauta do dia."
}

Resposta 201

{
  "id": "96f5f76c-0ae4-475d-9bd0-8843a32e6ef0",
  "casa": "camara",
  "externalId": null,
  "titulo": "Sessão deliberativa extraordinária",
  "descricao": "Discussão da pauta do dia.",
  "tipo": "deliberativa",
  "status": "agendada",
  "legislatura": 57,
  "dataHoraInicio": "2026-06-29T12:00:00.000Z",
  "dataHoraFim": null,
  "local": "Plenário Ulysses Guimarães",
  "quorumMinimo": 257,
  "statusReason": null,
  "metadata": null,
  "createdBy": "00000000021",
  "updatedBy": "00000000021",
  "createdAt": "2026-09-01T00:52:21.735Z",
  "updatedAt": "2026-09-01T00:52:21.735Z"
}
GET/cms/v1/legislative-data/sessions/currentLista current
✅ Pronto · exemplo real capturado no teste · 137 ms

Resposta 200

{
  "id": "0d03e311-753d-414a-a135-2566d406db7f",
  "casa": "camara",
  "externalId": null,
  "titulo": "qa-agent Sessão de demonstração TV 3.0 1787194071781",
  "descricao": "Sessão criada para demonstrar o ecossistema de TV 3.0",
  "tipo": "deliberativa",
  "status": "em_andamento",
  "legislatura": 57,
  "dataHoraInicio": "2026-08-20T02:47:54.747Z",
  "dataHoraFim": null,
  "local": "Plenário Ulysses Guimarães",
  "quorumMinimo": 3,
  "statusReason": null,
  "metadata": null,
  "createdAt": "2026-08-20T02:47:51.849Z",
  "updatedAt": "2026-08-20T02:47:54.748Z"
}
GET/cms/v1/legislative-data/sessions/import/previewLista preview
✅ Pronto · exemplo real capturado no teste · 1167 ms

Resposta 200

{
  "casa": "camara",
  "data": "2025-07-01",
  "sessoes": [
    {
      "externalId": "75916",
      "titulo": "Adaptação das Estruturas Físicas das Escolas Frente às Mudanças Climáticas\r\n 1)   (a Confirmar) Representante do  Ministério da Educação (MEC);\r\n\r\n2) (a Confirmar)  Representante do  Ministério do Meio Ambiente e Mudança do Clima; \r\n\r\n3)  (a Confirmar)  Representante do Conselho Nacional de Secretários de Educação; \r\n\r\n4)  (a Confirmar) Representante da União Nacional dos Dirigentes Municipais de Educação (Undime); \r\n\r\n5) CAYO ALCÂNTARA  (Confirmado) - Professor e Diretor-Executivo de ‘A Vida No Cerrado’; \r\n\r\n6) HAROLDO ROCHA (Confirmado) - Representante do Instituto Península e do Movimento Profissão Docente ;\r\n\r\n7) (a Confirmar) Representante do Instituto Alana; \r\n\r\n(REQ 2/2025 CE, da deputada Socorro Neri)",
      "tipo": "ordinaria",
      "dataHoraInicio": "2025-07-01T10:00",
      "local": null,
      "jaImportada": false,
      "sessionId
… (resposta completa no Swagger do serviço)
GET/cms/v1/legislative-data/sessions/{id}Obtém sessions
✅ Pronto · exemplo real capturado no teste · 131 ms

Resposta 200

{
  "id": "96f5f76c-0ae4-475d-9bd0-8843a32e6ef0",
  "casa": "camara",
  "externalId": null,
  "titulo": "Sessão deliberativa extraordinária",
  "descricao": "Discussão da pauta do dia.",
  "tipo": "deliberativa",
  "status": "agendada",
  "legislatura": 57,
  "dataHoraInicio": "2026-06-29T12:00:00.000Z",
  "dataHoraFim": null,
  "local": "Plenário Ulysses Guimarães",
  "quorumMinimo": 257,
  "statusReason": null,
  "metadata": null,
  "createdAt": "2026-09-01T00:52:21.735Z",
  "updatedAt": "2026-09-01T00:52:21.735Z"
}
PATCH/cms/v1/legislative-data/sessions/{id}Atualiza sessions
✅ Pronto · exemplo real capturado no teste · 147 ms

Requisição

{
  "legislatura": 57,
  "titulo": "Sessão deliberativa extraordinária",
  "dataHoraInicio": "2026-06-29T12:00:00.000Z",
  "quorumMinimo": 257,
  "local": "Plenário Ulysses Guimarães",
  "tipo": "deliberativa",
  "descricao": "Discussão da pauta do dia."
}

Resposta 200

{
  "id": "96f5f76c-0ae4-475d-9bd0-8843a32e6ef0",
  "casa": "camara",
  "externalId": null,
  "titulo": "Sessão deliberativa extraordinária",
  "descricao": "Discussão da pauta do dia.",
  "tipo": "deliberativa",
  "status": "agendada",
  "legislatura": 57,
  "dataHoraInicio": "2026-06-29T12:00:00.000Z",
  "dataHoraFim": null,
  "local": "Plenário Ulysses Guimarães",
  "quorumMinimo": 257,
  "statusReason": null,
  "metadata": null,
  "createdBy": "00000000021",
  "updatedBy": "00000000021",
  "createdAt": "2026-09-01T00:52:21.735Z",
  "updatedAt": "2026-09-01T00:52:35.128Z"
}
POST/cms/v1/legislative-data/sessions/{sessionId}/consolidation/retryCria retry
✅ Pronto · exemplo real capturado no teste · 161 ms

Resposta 202

{
  "id": "c425122e-c29f-4d6f-a204-41adfa18abf2",
  "sessionId": "96f5f76c-0ae4-475d-9bd0-8843a32e6ef0",
  "status": "pending",
  "source": null,
  "completenessScore": 0,
  "divergencesCount": 0,
  "votesCount": 0,
  "votesWithOfficialData": 0,
  "speakersCount": 0,
  "agendaItemsCount": 0,
  "lastAttemptAt": null,
  "nextRetryAt": null,
  "retryCount": 0,
  "consolidatedData": null,
  "divergences": [],
  "errors": null,
  "createdAt": "2026-09-01T00:52:36.356Z",
  "updatedAt": "2026-09-01T00:52:36.356Z"
}
POST/cms/v1/legislative-data/sessions/{sessionId}/documents/syncCria sync
✅ Pronto · exemplo real capturado no teste · 1818 ms

Requisição

{
  "agendaItemIds": [
    "camara-2461234",
    "camara-2461235"
  ]
}

Resposta 200

{
  "sessionId": "96f5f76c-0ae4-475d-9bd0-8843a32e6ef0",
  "recebidos": 10,
  "persistidos": 10,
  "descartados": 0,
  "emCache": 10,
  "motivosDescarte": []
}
GET/cms/v1/legislative-data/sessions/{sessionId}/markersLista markers
✅ Pronto · exemplo real capturado no teste · 130 ms

Resposta 200

[]
GET/cms/v1/legislative-data/sessions/{sessionId}/official-recordsLista official records
✅ Pronto · exemplo real capturado no teste · 133 ms

Resposta 200

{
  "items": []
}
GET/cms/v1/legislative-data/sessions/{sessionId}/panelsLista panels
✅ Pronto · exemplo real capturado no teste · 132 ms

Resposta 200

[
  {
    "id": "4c0e6f6b-0fd8-47a7-84fd-d8266df2a5e7",
    "sessionId": "96f5f76c-0ae4-475d-9bd0-8843a32e6ef0",
    "tipo": "pauta_atual",
    "titulo": "Em discussao",
    "conteudo": "PEC 45/2024 - Reforma Tributaria - Discussao em primeiro turno",
    "ativo": true,
    "version": 1,
    "createdAt": "2026-09-01T00:52:22.144Z",
    "updatedAt": "2026-09-01T00:52:22.144Z"
  }
]
POST/cms/v1/legislative-data/sessions/{sessionId}/panelsCria panels
✅ Pronto · exemplo real capturado no teste · 203 ms

Requisição

{
  "titulo": "Em discussao",
  "tipo": "pauta_atual",
  "conteudo": "PEC 45/2024 - Reforma Tributaria - Discussao em primeiro turno"
}

Resposta 201

{
  "id": "4c0e6f6b-0fd8-47a7-84fd-d8266df2a5e7",
  "sessionId": "96f5f76c-0ae4-475d-9bd0-8843a32e6ef0",
  "tipo": "pauta_atual",
  "titulo": "Em discussao",
  "conteudo": "PEC 45/2024 - Reforma Tributaria - Discussao em primeiro turno",
  "ativo": true,
  "version": 1,
  "createdBy": "00000000021",
  "updatedBy": "00000000021",
  "createdAt": "2026-09-01T00:52:22.144Z",
  "updatedAt": "2026-09-01T00:52:22.144Z"
}
GET/cms/v1/legislative-data/sessions/{sessionId}/panels/{panelId}Obtém panels
✅ Pronto · exemplo real capturado no teste · 125 ms

Resposta 200

{
  "id": "4c0e6f6b-0fd8-47a7-84fd-d8266df2a5e7",
  "sessionId": "96f5f76c-0ae4-475d-9bd0-8843a32e6ef0",
  "tipo": "pauta_atual",
  "titulo": "Em discussao",
  "conteudo": "PEC 45/2024 - Reforma Tributaria - Discussao em primeiro turno",
  "ativo": true,
  "version": 1,
  "createdAt": "2026-09-01T00:52:22.144Z",
  "updatedAt": "2026-09-01T00:52:22.144Z"
}
GET/cms/v1/legislative-data/sessions/{sessionId}/panels/{panelId}/historyLista history
✅ Pronto · exemplo real capturado no teste · 132 ms

Resposta 200

[
  {
    "panelId": "4c0e6f6b-0fd8-47a7-84fd-d8266df2a5e7",
    "version": 1,
    "titulo": "Em discussao",
    "conteudo": "PEC 45/2024 - Reforma Tributaria - Discussao em primeiro turno",
    "updatedBy": "00000000021",
    "createdAt": "2026-09-01T00:52:22.144Z"
  }
]
GET/cms/v1/legislative-data/sessions/{sessionId}/resultsLista results
✅ Pronto · exemplo real capturado no teste · 128 ms

Resposta 202

{
  "status": "pending",
  "message": "Consolidacao em andamento. Tente novamente em alguns minutos.",
  "estimatedAvailability": null
}
GET/cms/v1/legislative-data/sessions/{sessionId}/results/agendaLista agenda
✅ Pronto · exemplo real capturado no teste · 128 ms

Resposta 202

{
  "status": "pending",
  "message": "Consolidacao em andamento. Tente novamente em alguns minutos.",
  "estimatedAvailability": null
}
GET/cms/v1/legislative-data/sessions/{sessionId}/results/speakersLista speakers
✅ Pronto · exemplo real capturado no teste · 131 ms

Resposta 202

{
  "status": "pending",
  "message": "Consolidacao em andamento. Tente novamente em alguns minutos.",
  "estimatedAvailability": null
}
GET/cms/v1/legislative-data/sessions/{sessionId}/results/timelineLista timeline
✅ Pronto · exemplo real capturado no teste · 125 ms

Resposta 202

{
  "status": "pending",
  "message": "Consolidacao em andamento. Tente novamente em alguns minutos.",
  "estimatedAvailability": null
}
GET/cms/v1/legislative-data/sessions/{sessionId}/results/votesLista votes
✅ Pronto · exemplo real capturado no teste · 129 ms

Resposta 202

{
  "status": "pending",
  "message": "Consolidacao em andamento. Tente novamente em alguns minutos.",
  "estimatedAvailability": null
}
GET/cms/v1/legislative-data/sessions/{sessionId}/results/votes/{voteId}Obtém votes
✅ Pronto · exemplo real capturado no teste · 121 ms

Resposta 202

{
  "status": "pending",
  "message": "Consolidacao em andamento. Tente novamente em alguns minutos.",
  "estimatedAvailability": null
}
GET/cms/v1/legislative-data/sessions/{sessionId}/results/votes/{voteId}/party-positionsLista party positions
✅ Pronto · exemplo real capturado no teste · 122 ms

Resposta 202

{
  "status": "pending",
  "message": "Consolidacao em andamento. Tente novamente em alguns minutos.",
  "estimatedAvailability": null
}
GET/cms/v1/legislative-data/sessions/{sessionId}/speakersLista speakers
✅ Pronto · exemplo real capturado no teste · 126 ms

Resposta 200

[]
GET/cms/v1/legislative-data/sessions/{sessionId}/speakers/currentLista current
✅ Pronto · exemplo real capturado no teste · 127 ms
GET/cms/v1/legislative-data/sessions/{sessionId}/votesLista votes
✅ Pronto · exemplo real capturado no teste · 133 ms

Resposta 200

[]
Em validação (25) — ainda não recomendado fixar contrato
RotaEstadoObservação
GET /api/v1/legislative-data/documents/{id}🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
GET /api/v1/legislative-data/documents/{id}/download🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
GET /api/v1/legislative-data/glossary/{id}🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
GET /api/v1/legislative-data/sessions/{sessionId}/consolidation🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
GET /api/v1/legislative-data/sessions/{sessionId}/official-records/{type}🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
GET /api/v1/legislative-data/sessions/{sessionId}/official-records/{type}/download🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
GET /api/v1/legislative-data/sessions/{sessionId}/related🟣 Em validaçãoSchema inválido: '/api/v1/legislative-data/sessions/4ea0e9ec-56a6-40c0-b508-9b3867a79772' is not of type 'object', 'null'
GET /api/v1/legislative-data/sessions/{sessionId}/votes/{voteId}🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
GET /api/v1/legislative-data/votes/{id}/related🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
GET /cms/v1/legislative-data/glossary/{id}🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
POST /cms/v1/legislative-data/sessions/import🟣 Em validação
POST /cms/v1/legislative-data/sessions/{id}/end🟣 Em validação
GET /cms/v1/legislative-data/sessions/{sessionId}/consolidation🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
POST /cms/v1/legislative-data/sessions/{sessionId}/markers🟣 Em validação
PUT /cms/v1/legislative-data/sessions/{sessionId}/markers/{markerId}🟣 Em validação
POST /cms/v1/legislative-data/sessions/{sessionId}/official-records/retry🟣 Em validação
GET /cms/v1/legislative-data/sessions/{sessionId}/official-records/{type}🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
GET /cms/v1/legislative-data/sessions/{sessionId}/official-records/{type}/download🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
PUT /cms/v1/legislative-data/sessions/{sessionId}/panels/{panelId}🟣 Em validação
DELETE /cms/v1/legislative-data/sessions/{sessionId}/panels/{panelId}🟣 Em validação
POST /cms/v1/legislative-data/sessions/{sessionId}/speakers🟣 Em validação
POST /cms/v1/legislative-data/sessions/{sessionId}/speakers/current/end🟣 Em validação
POST /cms/v1/legislative-data/sessions/{sessionId}/votes/live/end🟣 Em validação
POST /cms/v1/legislative-data/sessions/{sessionId}/votes/live/individual🟣 Em validação
GET /cms/v1/legislative-data/sessions/{sessionId}/votes/{voteId}🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)

🎬 Conteúdo, Mídia & Interatividade92/129 prontos

92 endpoint(s) prontos para integração, com exemplo real de requisição e resposta.

GET/api/v1/cms/Lista cms
✅ Pronto · exemplo real capturado no teste · 119 ms

Resposta 200

{
  "message": "API online"
}
GET/api/v1/cms/media-assets/Lista media assets
✅ Pronto · exemplo real capturado no teste · 161 ms

Resposta 200

{
  "data": [
    {
      "id": "6d294cf1-6b47-48bf-91d5-10f4adb490f2",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "title": "online-grocery-delivery-service-ad-design-template-393e57752f1a1311b19a97379c71c65a_screen.jpg",
      "description": null,
      "original_filename_url": "online-grocery-delivery-service-ad-design-template-393e57752f1a1311b19a97379c71c65a_screen.jpg",
      "storage_path": "media-assets/1787926117827-online-grocery-delivery-service-ad-design-template-393e57752f1a1311b19a97379c71c65a_screen.jpg",
      "mime_type": "image/jpeg",
      "checksum_md5": "44c00e0012985696b1c1e6dc5f1df5f6",
      "source_url": null,
      "thumbnail_storage_path": null,
      "content_type": null,
      "duration": null,
      "status": "READY",
      "parent_asset_id": null,
      "metadata": {
        "dash_packaging_state": "not_requested",
        "media_enrichment_state": "not_requested",
        "transcode_dash_requested": false
      },
      "thumbnail_url": null,
      "sc
… (resposta completa no Swagger do serviço)
GET/api/v1/cms/media-assets/{assetId}Obtém media assets
✅ Pronto · exemplo real capturado no teste · 126 ms

Resposta 200

{
  "id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "title": "qa-agent-picapau-1788224009",
  "description": "Vídeo de teste automatizado do agente de QA",
  "original_filename_url": "sample-video.mp4",
  "storage_path": "media-assets/1788224010456-sample-video.mp4",
  "mime_type": "video/mp4",
  "checksum_md5": "d6e58531b8ee6b824f27869e7b5c7bd2",
  "source_url": null,
  "thumbnail_storage_path": "media-assets/thumbnails/1788224011729-e28ea85a-f179-4587-84cb-7b0d120fe8ec.jpg",
  "content_type": null,
  "duration": {
    "seconds": 10,
    "milliseconds": 27.855
  },
  "status": "READY",
  "parent_asset_id": null,
  "metadata": {
    "dash_manifest_path": "videos/e28ea85a-f179-4587-84cb-7b0d120fe8ec/manifest.mpd",
    "dash_packaging_state": "ready",
    "media_enrichment_state": "ready",
    "transcode_dash_requested": true,
    "media_enrichment_completed_at": "2026-09-01T00:53:31.773Z"
  },
  "thumbnail_url": "https://media.staging.tv3.dev/vod-con
… (resposta completa no Swagger do serviço)
GET/api/v1/cms/media-assets/{assetId}/share-policyLista share policy
✅ Pronto · exemplo real capturado no teste · 129 ms

Resposta 200

{
  "id": "9820dae8-7f05-4c2f-ae67-cf2a3bb8954c",
  "asset_id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "sharing_enabled": true,
  "allowed_destination_ids": [],
  "blocked_destination_ids": [],
  "requires_approval": false,
  "allow_unbranded_fallback": false,
  "default_branding_template_id": null,
  "metadata": {},
  "created_at": "2026-09-01T00:53:30.638Z",
  "updated_at": "2026-09-01T00:53:30.638Z"
}
GET/api/v1/cms/share/media/{assetId}Obtém media
✅ Pronto · exemplo real capturado no teste · 123 ms

Resposta 200

<!DOCTYPE html>
<html lang="pt-BR">
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>qa-agent-picapau-1788224009</title>
  <link rel="canonical" href="https://staging.tv3.dev/api/v1/cms/share/media/e28ea85a-f179-4587-84cb-7b0d120fe8ec" />
  <meta property="og:type" content="video.other" />
  <meta property="og:title" content="qa-agent-picapau-1788224009" />
  <meta property="og:description" content="Descrição atualizada pelo agente de QA" />
  <meta property="og:image" content="https://media.staging.tv3.dev/vod-content/media-assets/thumbnails/1788224011729-e28ea85a-f179-4587-84cb-7b0d120fe8ec.jpg" />
  <meta property="og:url" content="https://vod-stream.staging.tv3.dev/videos/e28ea85a-f179-4587-84cb-7b0d120fe8ec/manifest.mpd" />
  
</head>
<body>
  <h1>qa-agent-picapau-1788224009</h1>
  <p>Descrição atualizada pelo agente de QA</p>
<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){v
… (resposta completa no Swagger do serviço)
GET/api/v1/cms/sobr/overlays/activeLista active
✅ Pronto · exemplo real capturado no teste · 126 ms

Resposta 200

[
  {
    "id": "77db1f14-2ce6-421e-80c2-2b9d23bc20c5",
    "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
    "content_id": null,
    "program_id": null,
    "status": "PUBLISHED",
    "definition_payload": {
      "text": "https://tvcasaalta.com.br",
      "type": "qrcode",
      "color": null,
      "order": 2,
      "scale": 0.5,
      "opacity": 100,
      "visible": true,
      "audience": [
        "LOGGED_IN",
        "GUEST"
      ],
      "position": "bottom-left",
      "line_scales": null,
      "background_color": null
    },
    "created_at": "2026-08-28T14:07:49.758Z",
    "updated_at": "2026-08-28T14:08:45.677Z",
    "region": null,
    "scheduled_publish_at": null,
    "scheduled_unpublish_at": null,
    "scheduled_by": null,
    "published_at": null,
    "published_by": null,
    "unscheduled_at": null
  },
  {
    "id": "6948a740-e6af-44b9-bb56-f81f4f27904a",
    "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
    "content_id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  
… (resposta completa no Swagger do serviço)
GET/api/v1/cms/sobr/overlays/{overlayId}Obtém overlays
✅ Pronto · exemplo real capturado no teste · 130 ms

Resposta 200

{
  "id": "6948a740-e6af-44b9-bb56-f81f4f27904a",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "content_id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  "program_id": null,
  "status": "PUBLISHED",
  "definition_payload": {
    "text": "Ao vivo agora",
    "type": "banner",
    "color": "red",
    "position": "top"
  },
  "created_at": "2026-09-01T00:53:56.994Z",
  "updated_at": "2026-09-01T00:53:57.892Z",
  "region": null,
  "scheduled_publish_at": null,
  "scheduled_unpublish_at": null,
  "scheduled_by": null,
  "published_at": null,
  "published_by": null,
  "unscheduled_at": null
}
POST/cms/v1/biometrics/erasureCria erasure
✅ Pronto · exemplo real capturado no teste · 124 ms

Requisição

{
  "reason": "qa-agent-reason",
  "cluster_id": "3448a8a6-6393-5c64-881f-f9fb3c2aa557"
}

Resposta 200

{
  "blocks_written": 0
}
POST/cms/v1/cms/catalogation/bulkCria bulk
✅ Pronto · exemplo real capturado no teste · 123 ms

Requisição

{
  "items": [
    {
      "contentId": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
      "term_ids": [
        "5dedbe31-6070-468d-a545-bbd2a2d84a25"
      ],
      "tagged_by": "22222222-2222-42a2-a222-222222222222",
      "added_by": "22222222-2222-42a2-a222-222222222222"
    }
  ],
  "added_by": "22222222-2222-42a2-a222-222222222222",
  "tagged_by": "22222222-2222-42a2-a222-222222222222"
}

Resposta 202

{
  "job_id": "7addac7c-61b3-4540-b2fa-18fdcfd190b8",
  "status": "pending",
  "items_count": 1
}
GET/cms/v1/cms/catalogation/contentsLista contents
✅ Pronto · exemplo real capturado no teste · 127 ms

Resposta 200

{
  "data": [
    {
      "contentId": "4c15ac0d-6c72-445d-8aef-e35656a1f72f"
    },
    {
      "contentId": "cc011f67-ee67-4eda-9fe6-6b06d12d49b7"
    },
    {
      "contentId": "ce91834e-ba14-4e54-b84c-4d09a04c578e"
    },
    {
      "contentId": "e28ea85a-f179-4587-84cb-7b0d120fe8ec"
    }
  ],
  "meta": {
    "page": 1,
    "limit": 20,
    "total": 4
  }
}
GET/cms/v1/cms/catalogation/contents/{contentId}Obtém contents
✅ Pronto · exemplo real capturado no teste · 129 ms

Resposta 200

{
  "contentId": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "type": null,
  "title": "qa-agent-picapau-1788224009",
  "description": "Descrição atualizada pelo agente de QA",
  "status": "READY",
  "created_at": "2026-09-01T00:53:30.632Z",
  "updated_at": "2026-09-01T00:53:43.841Z",
  "metadata": {
    "taxonomies": [],
    "groups": [
      {
        "group_id": "c0914779-e2f8-443d-9091-3d36fa57cef3",
        "type": "SERIES",
        "title": "qa-agent Série 1788224009",
        "status": "DRAFT",
        "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
        "thumbnail_url": null,
        "description": "Grupo de teste",
        "item": {
          "position": 1,
          "episode_number": 1,
          "season_number": 1,
          "added_at": "2026-09-01T00:53:54.693Z",
          "added_by": "22222222-2222-42a2-a222-222222222222"
        }
      }
    ]
  },
  "options": {}
}
PUT/cms/v1/cms/catalogation/contents/{contentId}Atualiza contents
✅ Pronto · exemplo real capturado no teste · 142 ms

Requisição

{
  "term_ids": [
    "5dedbe31-6070-468d-a545-bbd2a2d84a25"
  ],
  "tagged_by": "22222222-2222-42a2-a222-222222222222",
  "added_by": "22222222-2222-42a2-a222-222222222222",
  "groups": [
    {
      "group_id": "c0914779-e2f8-443d-9091-3d36fa57cef3",
      "position": 1,
      "episode_number": 1,
      "season_number": 1,
      "added_by": "22222222-2222-42a2-a222-222222222222"
    }
  ]
}

Resposta 200

{
  "contentId": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  "applied": true,
  "term_count": 1,
  "group_count": 1
}
POST/cms/v1/cms/catalogation/contents/{contentId}/confirmCria confirm
✅ Pronto · exemplo real capturado no teste · 134 ms

Requisição

{
  "term_ids": [
    "5dedbe31-6070-468d-a545-bbd2a2d84a25"
  ],
  "tagged_by": "22222222-2222-42a2-a222-222222222222",
  "added_by": "22222222-2222-42a2-a222-222222222222"
}

Resposta 200

{
  "contentId": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  "applied": true,
  "term_count": 1,
  "group_count": 0
}
GET/cms/v1/cms/catalogation/contents/{contentId}/historyLista history
✅ Pronto · exemplo real capturado no teste · 128 ms

Resposta 200

{
  "contentId": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  "events": []
}
POST/cms/v1/cms/catalogation/contents/{contentId}/validateCria validate
✅ Pronto · exemplo real capturado no teste · 128 ms

Requisição

{
  "term_ids": [
    "5dedbe31-6070-468d-a545-bbd2a2d84a25"
  ],
  "tagged_by": "22222222-2222-42a2-a222-222222222222",
  "added_by": "22222222-2222-42a2-a222-222222222222"
}

Resposta 200

{
  "ok": true,
  "contentId": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  "conflicts": [],
  "suggestions": []
}
GET/cms/v1/cms/catalogation/taxonomiesLista taxonomies
✅ Pronto · exemplo real capturado no teste · 125 ms

Resposta 200

{
  "data": [
    {
      "id": "354c0459-c97c-43d6-962d-c0e21cd7a30b",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "name": "Faixa Etária",
      "description": null,
      "is_shared": false,
      "created_at": "2026-08-26T18:27:19.393Z",
      "terms": []
    },
    {
      "id": "7880a64a-7b8f-4732-bd89-2c3340dfedcc",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "name": "Gêneros",
      "description": "Taxonomia de gêneros de conteúdo",
      "is_shared": false,
      "created_at": "2026-08-27T01:25:56.733Z",
      "terms": []
    },
    {
      "id": "39baa7a1-5711-48c5-abb5-4c87cdc920e1",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "name": "Gêneros",
      "description": "Taxonomia de gêneros de conteúdo",
      "is_shared": false,
      "created_at": "2026-08-27T01:33:25.854Z",
      "terms": []
    },
    {
      "id": "3629ceb6-342d-4f17-9fe9-81d6c0bb9617",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa
… (resposta completa no Swagger do serviço)
POST/cms/v1/cms/catalogation/taxonomiesCria taxonomies
✅ Pronto · exemplo real capturado no teste · 128 ms

Requisição

{
  "broadcaster_id": "{tokenBroadcaster}",
  "name": "qa-agent Taxonomia 1788224009",
  "description": "Taxonomia de teste",
  "is_shared": false,
  "terms": [
    {
      "slug": "qa-agent-termo-1788224009",
      "label": "Termo de Teste"
    }
  ]
}

Resposta 201

{
  "id": "c2bbceb5-7a00-4cdd-9d69-401067fb74b6",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "name": "qa-agent Taxonomia 1788224009",
  "description": "Taxonomia de teste",
  "is_shared": false,
  "created_at": "2026-09-01T00:53:54.054Z",
  "terms": [
    {
      "id": "5dedbe31-6070-468d-a545-bbd2a2d84a25",
      "taxonomy_id": "c2bbceb5-7a00-4cdd-9d69-401067fb74b6",
      "parent_term_id": null,
      "slug": "qa-agent-termo-1788224009",
      "label": "Termo de Teste",
      "description": null,
      "position": null
    }
  ]
}
GET/cms/v1/cms/channel-audit-log/Lista channel audit log
✅ Pronto · exemplo real capturado no teste · 124 ms

Resposta 200

{
  "data": [
    {
      "audit_id": "99d77775-f21a-467a-8ad8-a1a8a1874abf",
      "channel_id": "dacff77e-f698-493b-a474-aa6c1ff8eaa9",
      "actor_id": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
      "operation": "update",
      "diff_before": {
        "name": "qa-agent Canal 1788224009",
        "slug": "qa-agent-canal-1788224009",
        "status": "active",
        "version": 2,
        "schedule": {
          "channel_id": "dacff77e-f698-493b-a474-aa6c1ff8eaa9",
          "recurrence": "none",
          "active_from": "2027-12-01T10:00:00.000Z",
          "schedule_id": "22f05137-670a-4d0a-a240-bcc76ab83df4",
          "active_until": "2027-12-31T10:00:00.000Z",
          "auto_activate": false,
          "auto_deactivate": false,
          "schedule_status": "pending",
          "last_triggered_at": null
        },
        "channel_id": "dacff77e-f698-493b-a474-aa6c1ff8eaa9",
        "created_at": "2026-09-01T00:54:00.187Z",
        "created_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
        "delete
… (resposta completa no Swagger do serviço)
GET/cms/v1/cms/channel-audit-log/exportLista export
✅ Pronto · exemplo real capturado no teste · 127 ms

Resposta 200

audit_id,channel_id,actor_id,operation,recorded_at,ip_address,diff_before,diff_after
99d77775-f21a-467a-8ad8-a1a8a1874abf,dacff77e-f698-493b-a474-aa6c1ff8eaa9,e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc,update,"""2026-09-01T00:54:02.204Z""",172.70.255.24,"{""name"":""qa-agent Canal 1788224009"",""slug"":""qa-agent-canal-1788224009"",""status"":""active"",""version"":2,""schedule"":{""channel_id"":""dacff77e-f698-493b-a474-aa6c1ff8eaa9"",""recurrence"":""none"",""active_from"":""2027-12-01T10:00:00.000Z"",""schedule_id"":""22f05137-670a-4d0a-a240-bcc76ab83df4"",""active_until"":""2027-12-31T10:00:00.000Z"",""auto_activate"":false,""auto_deactivate"":false,""schedule_status"":""pending"",""last_triggered_at"":null},""channel_id"":""dacff77e-f698-493b-a474-aa6c1ff8eaa9"",""created_at"":""2026-09-01T00:54:00.187Z"",""created_by"":""e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc"",""deleted_at"":null,""updated_at"":""2026-09-01T00:54:02.073Z"",""access_type"":""public"",""description"":""Canal de teste"",""activated_at"":""2026-09
… (resposta completa no Swagger do serviço)
GET/cms/v1/cms/clt/Lista clt
✅ Pronto · exemplo real capturado no teste · 125 ms

Resposta 200

{
  "data": [
    {
      "channel_id": "5d6d6fbe-3941-4100-92d9-48a7469fc585",
      "name": "TV Assembleia PB",
      "status": "draft",
      "curation_mode": "manual",
      "channel_number": 1,
      "display_order": 1,
      "playlist_size": 0,
      "thumbnail_url": null,
      "primary_color": null,
      "secondary_color": null,
      "updated_at": "2026-08-18T15:02:08.734Z"
    },
    {
      "channel_id": "0adf16a7-fc77-428f-915f-5b98ef8cd6ad",
      "name": "TV ALPB - Estadual",
      "status": "draft",
      "curation_mode": "manual",
      "channel_number": 2,
      "display_order": 2,
      "playlist_size": 0,
      "thumbnail_url": "https://giulianomaia-hub.github.io/Videos-maisbr/video/alpb/stream.m3u8",
      "primary_color": null,
      "secondary_color": null,
      "updated_at": "2026-08-18T15:13:07.885Z"
    },
    {
      "channel_id": "d1c4c7f3-eff2-49e5-be05-9c2236e09d88",
      "name": "ALPB",
      "status": "draft",
      "curation_mode": "manual",
      "channel_number": 3,
      
… (resposta completa no Swagger do serviço)
POST/cms/v1/cms/clt/Cria clt
✅ Pronto · exemplo real capturado no teste · 136 ms

Requisição

{
  "actor_id": "22222222-2222-42a2-a222-222222222222",
  "broadcaster_id": "{tokenBroadcaster}",
  "name": "qa-agent Canal 1788224009",
  "description": "Canal de teste",
  "curation_mode": "manual"
}

Resposta 201

{
  "channel_id": "dacff77e-f698-493b-a474-aa6c1ff8eaa9",
  "status": "draft",
  "curation_mode": "manual",
  "channel_number": 7,
  "display_order": 7,
  "playlist_size": 0,
  "thumbnail_url": null,
  "primary_color": null,
  "secondary_color": null,
  "created_at": "2026-09-01T00:54:00.187Z"
}
DELETE/cms/v1/cms/clt/{channelId}Remove clt
✅ Pronto · exemplo real capturado no teste · 129 ms

Requisição

{
  "actor_id": "22222222-2222-42a2-a222-222222222222"
}
GET/cms/v1/cms/clt/{channelId}Obtém clt
✅ Pronto · exemplo real capturado no teste · 124 ms

Resposta 200

{
  "channel_id": "dacff77e-f698-493b-a474-aa6c1ff8eaa9",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "name": "qa-agent Canal 1788224009",
  "description": "Canal de teste",
  "thumbnail_url": null,
  "curation_mode": "manual",
  "status": "draft",
  "channel_number": 7,
  "display_order": 7,
  "access_control": {
    "type": "public"
  },
  "playlist_size": 0,
  "primary_color": null,
  "secondary_color": null,
  "created_at": "2026-09-01T00:54:00.187Z",
  "updated_at": "2026-09-01T00:54:00.187Z",
  "composition_rules": {
    "priority_criteria": "relevance",
    "max_broadcaster_pct": 40,
    "diversity_enforce": true,
    "max_items": null,
    "min_items": 1,
    "auto_search_query": null,
    "auto_refresh_interval": null,
    "extra_params": {}
  },
  "schedule": null
}
PATCH/cms/v1/cms/clt/{channelId}Atualiza clt
✅ Pronto · exemplo real capturado no teste · 126 ms

Requisição

{
  "actor_id": "22222222-2222-42a2-a222-222222222222",
  "description": "Atualizado"
}

Resposta 200

{
  "channel_id": "dacff77e-f698-493b-a474-aa6c1ff8eaa9",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "name": "qa-agent Canal 1788224009",
  "description": "Atualizado",
  "thumbnail_url": null,
  "curation_mode": "manual",
  "status": "active",
  "channel_number": 7,
  "display_order": 7,
  "access_control": {
    "type": "public"
  },
  "playlist_size": 1,
  "primary_color": null,
  "secondary_color": null,
  "created_at": "2026-09-01T00:54:00.187Z",
  "updated_at": "2026-09-01T00:54:02.204Z",
  "composition_rules": {
    "priority_criteria": "relevance",
    "max_broadcaster_pct": 50,
    "diversity_enforce": true,
    "max_items": null,
    "min_items": 1,
    "auto_search_query": null,
    "auto_refresh_interval": null,
    "extra_params": {}
  },
  "schedule": {
    "active_from": "2027-12-01T10:00:00.000Z",
    "active_until": "2027-12-31T10:00:00.000Z",
    "recurrence": "none",
    "next_run_at": null,
    "last_executed_at": null
  }
}
GET/cms/v1/cms/clt/{channelId}/audit-logLista audit log
✅ Pronto · exemplo real capturado no teste · 128 ms

Resposta 200

{
  "data": [
    {
      "audit_id": "5c043337-4394-494f-897d-7fa2b228d536",
      "channel_id": "dacff77e-f698-493b-a474-aa6c1ff8eaa9",
      "operation": "create",
      "actor_id": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
      "actor_role": "ADMIN",
      "diff": {
        "before": null,
        "after": {
          "name": "qa-agent Canal 1788224009",
          "slug": "qa-agent-canal-1788224009",
          "status": "draft",
          "version": 1,
          "schedule": null,
          "channel_id": "dacff77e-f698-493b-a474-aa6c1ff8eaa9",
          "created_at": "2026-09-01T00:54:00.187Z",
          "created_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
          "deleted_at": null,
          "updated_at": "2026-09-01T00:54:00.187Z",
          "access_type": "public",
          "description": "Canal de teste",
          "activated_at": null,
          "curation_mode": "manual",
          "display_order": 7,
          "playlist_size": 0,
          "primary_color": null,
          "thumbnail_url": null,
 
… (resposta completa no Swagger do serviço)
PATCH/cms/v1/cms/clt/{channelId}/composition-rulesAtualiza composition rules
✅ Pronto · exemplo real capturado no teste · 134 ms

Requisição

{
  "actor_id": "22222222-2222-42a2-a222-222222222222",
  "priority_criteria": "relevance",
  "max_broadcaster_pct": 50
}

Resposta 200

{
  "channel_id": "dacff77e-f698-493b-a474-aa6c1ff8eaa9",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "name": "qa-agent Canal 1788224009",
  "description": "Canal de teste",
  "thumbnail_url": null,
  "curation_mode": "manual",
  "status": "draft",
  "channel_number": 7,
  "display_order": 7,
  "access_control": {
    "type": "public"
  },
  "playlist_size": 1,
  "primary_color": null,
  "secondary_color": null,
  "created_at": "2026-09-01T00:54:00.187Z",
  "updated_at": "2026-09-01T00:54:01.252Z",
  "composition_rules": {
    "priority_criteria": "relevance",
    "max_broadcaster_pct": 50,
    "diversity_enforce": true,
    "max_items": null,
    "min_items": 1,
    "auto_search_query": null,
    "auto_refresh_interval": null,
    "extra_params": {}
  },
  "schedule": {
    "active_from": "2027-12-01T10:00:00.000Z",
    "active_until": "2027-12-31T10:00:00.000Z",
    "recurrence": "none",
    "next_run_at": null,
    "last_executed_at": null
  }
}
GET/cms/v1/cms/clt/{channelId}/contentsLista contents
✅ Pronto · exemplo real capturado no teste · 128 ms

Resposta 200

{
  "data": [
    {
      "item_id": "7482480c-c8a4-46ba-bc3c-075a31639a31",
      "channel_id": "dacff77e-f698-493b-a474-aa6c1ff8eaa9",
      "content_id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
      "position": 1,
      "manual_weight": 50,
      "content_type": "video",
      "added_at": "2026-09-01T00:54:00.707Z",
      "added_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
      "is_active": true,
      "start_time": null,
      "duration": null
    }
  ],
  "meta": {
    "page": 1,
    "limit": 20,
    "total": 1
  }
}
POST/cms/v1/cms/clt/{channelId}/contentsCria contents
✅ Pronto · exemplo real capturado no teste · 154 ms

Requisição

{
  "actor_id": "22222222-2222-42a2-a222-222222222222",
  "items": [
    {
      "content_id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
      "position": 1
    }
  ]
}

Resposta 200

{
  "added": 1,
  "skipped": 0,
  "playlist_size": 1
}
PATCH/cms/v1/cms/clt/{channelId}/contents/reorderAtualiza reorder
✅ Pronto · exemplo real capturado no teste · 135 ms

Requisição

{
  "actor_id": "22222222-2222-42a2-a222-222222222222",
  "items": [
    {
      "item_id": "7482480c-c8a4-46ba-bc3c-075a31639a31",
      "position": 1
    }
  ]
}

Resposta 200

{
  "playlist_size": 1
}
PUT/cms/v1/cms/clt/{channelId}/contents/reorderAtualiza reorder
✅ Pronto · exemplo real capturado no teste · 134 ms

Requisição

{
  "actor_id": "22222222-2222-42a2-a222-222222222222",
  "items": [
    {
      "item_id": "7482480c-c8a4-46ba-bc3c-075a31639a31",
      "position": 1
    }
  ]
}

Resposta 200

{
  "playlist_size": 1
}
PATCH/cms/v1/cms/clt/{channelId}/contents/{itemId}Atualiza contents
✅ Pronto · exemplo real capturado no teste · 189 ms

Requisição

{
  "actor_id": "22222222-2222-42a2-a222-222222222222",
  "manual_weight": 70
}

Resposta 200

{
  "item_id": "7482480c-c8a4-46ba-bc3c-075a31639a31",
  "channel_id": "dacff77e-f698-493b-a474-aa6c1ff8eaa9",
  "content_id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  "position": 1,
  "manual_weight": 70,
  "content_type": "video",
  "added_at": "2026-09-01T00:54:00.707Z",
  "added_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
  "is_active": true,
  "start_time": null,
  "duration": null
}
GET/cms/v1/cms/clt/{channelId}/scheduleLista schedule
✅ Pronto · exemplo real capturado no teste · 123 ms

Resposta 200

{
  "schedule_id": "22f05137-670a-4d0a-a240-bcc76ab83df4",
  "channel_id": "dacff77e-f698-493b-a474-aa6c1ff8eaa9",
  "active_from": "2027-12-01T10:00:00.000Z",
  "active_until": "2027-12-31T10:00:00.000Z",
  "recurrence": "none",
  "auto_activate": false,
  "auto_deactivate": false,
  "last_triggered_at": null,
  "schedule_status": "pending"
}
PUT/cms/v1/cms/clt/{channelId}/scheduleAtualiza schedule
✅ Pronto · exemplo real capturado no teste · 127 ms

Requisição

{
  "actor_id": "22222222-2222-42a2-a222-222222222222",
  "active_from": "2027-12-01T10:00:00.000Z",
  "active_until": "2027-12-31T10:00:00.000Z",
  "recurrence": "none"
}

Resposta 200

{
  "schedule_id": "22f05137-670a-4d0a-a240-bcc76ab83df4",
  "channel_id": "dacff77e-f698-493b-a474-aa6c1ff8eaa9",
  "active_from": "2027-12-01T10:00:00.000Z",
  "active_until": "2027-12-31T10:00:00.000Z",
  "recurrence": "none",
  "auto_activate": false,
  "auto_deactivate": false,
  "last_triggered_at": null,
  "schedule_status": "pending"
}
GET/cms/v1/cms/content-groups/Lista content groups
✅ Pronto · exemplo real capturado no teste · 127 ms

Resposta 200

{
  "data": [
    {
      "id": "c0914779-e2f8-443d-9091-3d36fa57cef3",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "type": "SERIES",
      "title": "qa-agent Série 1788224009",
      "description": "Grupo de teste",
      "thumbnail_url": null,
      "status": "DRAFT",
      "metadata": null,
      "total_items": 0,
      "created_at": "2026-09-01T00:53:54.308Z",
      "updated_at": "2026-09-01T00:53:54.308Z"
    },
    {
      "id": "c2986659-446d-44c3-ad71-56c5f68f8502",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "type": "SERIES",
      "title": "Série Teste",
      "description": "Seleção de Série de Teste",
      "thumbnail_url": null,
      "status": "PUBLISHED",
      "metadata": null,
      "total_items": 3,
      "created_at": "2026-08-31T12:04:08.302Z",
      "updated_at": "2026-08-31T12:10:21.532Z"
    },
    {
      "id": "a500ea0d-6a04-4112-aa8f-62d8e1825fc0",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "type": "S
… (resposta completa no Swagger do serviço)
POST/cms/v1/cms/content-groups/Cria content groups
✅ Pronto · exemplo real capturado no teste · 126 ms

Requisição

{
  "broadcaster_id": "{tokenBroadcaster}",
  "type": "SERIES",
  "title": "qa-agent Série 1788224009",
  "description": "Grupo de teste",
  "status": "DRAFT"
}

Resposta 201

{
  "id": "c0914779-e2f8-443d-9091-3d36fa57cef3",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "type": "SERIES",
  "title": "qa-agent Série 1788224009",
  "description": "Grupo de teste",
  "thumbnail_url": null,
  "status": "DRAFT",
  "metadata": null,
  "total_items": 0,
  "created_at": "2026-09-01T00:53:54.308Z",
  "updated_at": "2026-09-01T00:53:54.308Z"
}
GET/cms/v1/cms/content-groups/{groupId}Obtém content groups
✅ Pronto · exemplo real capturado no teste · 131 ms

Resposta 200

{
  "id": "c0914779-e2f8-443d-9091-3d36fa57cef3",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "type": "SERIES",
  "title": "qa-agent Série 1788224009",
  "description": "Grupo de teste",
  "thumbnail_url": null,
  "status": "DRAFT",
  "metadata": null,
  "total_items": 0,
  "created_at": "2026-09-01T00:53:54.308Z",
  "updated_at": "2026-09-01T00:53:54.308Z"
}
GET/cms/v1/cms/content-groups/{groupId}/itemsLista items
✅ Pronto · exemplo real capturado no teste · 131 ms

Resposta 200

{
  "data": [
    {
      "id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
      "position": 1,
      "episode_number": 1,
      "season_number": 1,
      "added_at": "2026-09-01T00:53:54.693Z",
      "added_by": "22222222-2222-42a2-a222-222222222222"
    }
  ],
  "meta": {
    "page": 1,
    "limit": 20,
    "total": 1
  }
}
POST/cms/v1/cms/content-groups/{groupId}/itemsCria items
✅ Pronto · exemplo real capturado no teste · 130 ms

Requisição

{
  "asset_id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  "added_by": "22222222-2222-42a2-a222-222222222222",
  "position": 1,
  "episode_number": 1,
  "season_number": 1
}

Resposta 201

{
  "id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  "position": 1,
  "episode_number": 1,
  "season_number": 1,
  "added_at": "2026-09-01T00:53:54.693Z",
  "added_by": "22222222-2222-42a2-a222-222222222222"
}
GET/cms/v1/cms/contents/Lista contents
✅ Pronto · exemplo real capturado no teste · 124 ms

Resposta 200

{
  "data": [],
  "meta": {
    "page": 1,
    "limit": 20,
    "total": 0
  }
}
GET/cms/v1/cms/interactive-applications/Lista interactive applications
✅ Pronto · exemplo real capturado no teste · 124 ms

Resposta 200

{
  "data": [
    {
      "id": "a14dbf35-6e1d-4d8e-b1a0-2f9acc8822c0",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "app_key": "qa-agent-quiz-1788224009",
      "type": "SURVEY",
      "title": "qa-agent Quiz",
      "description": "App de teste",
      "status": "APPROVED",
      "supported_content_types": [],
      "metadata": {},
      "created_at": "2026-09-01T00:53:55.991Z",
      "updated_at": "2026-09-01T00:53:55.991Z"
    },
    {
      "id": "2d799f8a-90eb-48a8-b2e0-a33abe2c72a3",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "app_key": "qa-agent-quiz-1788027455",
      "type": "SURVEY",
      "title": "qa-agent Quiz",
      "description": "Descrição atualizada pelo agente",
      "status": "APPROVED",
      "supported_content_types": [],
      "metadata": {},
      "created_at": "2026-08-29T18:18:33.884Z",
      "updated_at": "2026-08-29T18:18:35.464Z"
    },
    {
      "id": "18a6d165-a24e-4706-8522-c22140a9d6fd",
      "broadcaster_id": "0dabe33
… (resposta completa no Swagger do serviço)
POST/cms/v1/cms/interactive-applications/Cria interactive applications
✅ Pronto · exemplo real capturado no teste · 127 ms

Requisição

{
  "broadcaster_id": "{tokenBroadcaster}",
  "app_key": "qa-agent-quiz-1788224009",
  "type": "SURVEY",
  "title": "qa-agent Quiz",
  "description": "App de teste",
  "status": "APPROVED",
  "supported_content_types": []
}

Resposta 201

{
  "id": "a14dbf35-6e1d-4d8e-b1a0-2f9acc8822c0",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "app_key": "qa-agent-quiz-1788224009",
  "type": "SURVEY",
  "title": "qa-agent Quiz",
  "description": "App de teste",
  "status": "APPROVED",
  "supported_content_types": [],
  "metadata": {},
  "created_at": "2026-09-01T00:53:55.991Z",
  "updated_at": "2026-09-01T00:53:55.991Z"
}
GET/cms/v1/cms/interactive-applications/{applicationId}Obtém interactive applications
✅ Pronto · exemplo real capturado no teste · 122 ms

Resposta 200

{
  "id": "a14dbf35-6e1d-4d8e-b1a0-2f9acc8822c0",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "app_key": "qa-agent-quiz-1788224009",
  "type": "SURVEY",
  "title": "qa-agent Quiz",
  "description": "App de teste",
  "status": "APPROVED",
  "supported_content_types": [],
  "metadata": {},
  "created_at": "2026-09-01T00:53:55.991Z",
  "updated_at": "2026-09-01T00:53:55.991Z"
}
PATCH/cms/v1/cms/interactive-applications/{applicationId}Atualiza interactive applications
✅ Pronto · exemplo real capturado no teste · 126 ms

Requisição

{
  "description": "Descrição atualizada pelo agente"
}

Resposta 200

{
  "id": "a14dbf35-6e1d-4d8e-b1a0-2f9acc8822c0",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "app_key": "qa-agent-quiz-1788224009",
  "type": "SURVEY",
  "title": "qa-agent Quiz",
  "description": "Descrição atualizada pelo agente",
  "status": "APPROVED",
  "supported_content_types": [],
  "metadata": {},
  "created_at": "2026-09-01T00:53:55.991Z",
  "updated_at": "2026-09-01T00:53:56.361Z"
}
GET/cms/v1/cms/interactive-applications/{applicationId}/versionsLista versions
✅ Pronto · exemplo real capturado no teste · 126 ms

Resposta 200

{
  "data": [
    {
      "id": "b7f0ff63-87df-4e3e-9d14-8c09ee38633d",
      "application_id": "a14dbf35-6e1d-4d8e-b1a0-2f9acc8822c0",
      "version": "1.0.0",
      "status": "APPROVED",
      "supported_platforms": [
        "WEB"
      ],
      "platform_artifacts": {},
      "metadata": {},
      "created_at": "2026-09-01T00:53:56.487Z",
      "updated_at": "2026-09-01T00:53:56.487Z"
    }
  ],
  "meta": {
    "total": 1
  }
}
POST/cms/v1/cms/interactive-applications/{applicationId}/versionsCria versions
✅ Pronto · exemplo real capturado no teste · 123 ms

Requisição

{
  "version": "1.0.0",
  "status": "APPROVED",
  "supported_platforms": [
    "WEB"
  ]
}

Resposta 201

{
  "id": "b7f0ff63-87df-4e3e-9d14-8c09ee38633d",
  "application_id": "a14dbf35-6e1d-4d8e-b1a0-2f9acc8822c0",
  "version": "1.0.0",
  "status": "APPROVED",
  "supported_platforms": [
    "WEB"
  ],
  "platform_artifacts": {},
  "metadata": {},
  "created_at": "2026-09-01T00:53:56.487Z",
  "updated_at": "2026-09-01T00:53:56.487Z"
}
GET/cms/v1/cms/interactive-applications/{applicationId}/versions/{versionId}Obtém versions
✅ Pronto · exemplo real capturado no teste · 122 ms

Resposta 200

{
  "id": "b7f0ff63-87df-4e3e-9d14-8c09ee38633d",
  "application_id": "a14dbf35-6e1d-4d8e-b1a0-2f9acc8822c0",
  "version": "1.0.0",
  "status": "APPROVED",
  "supported_platforms": [
    "WEB"
  ],
  "platform_artifacts": {},
  "metadata": {},
  "created_at": "2026-09-01T00:53:56.487Z",
  "updated_at": "2026-09-01T00:53:56.487Z"
}
PATCH/cms/v1/cms/interactive-applications/{applicationId}/versions/{versionId}Atualiza versions
✅ Pronto · exemplo real capturado no teste · 128 ms

Requisição

{
  "status": "APPROVED"
}

Resposta 200

{
  "id": "b7f0ff63-87df-4e3e-9d14-8c09ee38633d",
  "application_id": "a14dbf35-6e1d-4d8e-b1a0-2f9acc8822c0",
  "version": "1.0.0",
  "status": "APPROVED",
  "supported_platforms": [
    "WEB"
  ],
  "platform_artifacts": {},
  "metadata": {},
  "created_at": "2026-09-01T00:53:56.487Z",
  "updated_at": "2026-09-01T00:53:56.864Z"
}
GET/cms/v1/cms/media-assets/Lista media assets
✅ Pronto · exemplo real capturado no teste · 172 ms

Resposta 200

{
  "data": [
    {
      "id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "title": "qa-agent-picapau-1788224009",
      "description": "Vídeo de teste automatizado do agente de QA",
      "original_filename_url": "sample-video.mp4",
      "storage_path": "media-assets/1788224010456-sample-video.mp4",
      "mime_type": "video/mp4",
      "checksum_md5": "d6e58531b8ee6b824f27869e7b5c7bd2",
      "source_url": null,
      "thumbnail_storage_path": "media-assets/thumbnails/1788224011729-e28ea85a-f179-4587-84cb-7b0d120fe8ec.jpg",
      "content_type": null,
      "duration": {
        "seconds": 10,
        "milliseconds": 27.855
      },
      "status": "READY",
      "parent_asset_id": null,
      "metadata": {
        "dash_manifest_path": "videos/e28ea85a-f179-4587-84cb-7b0d120fe8ec/manifest.mpd",
        "dash_packaging_state": "ready",
        "media_enrichment_state": "ready",
        "transcode_dash_requested": true,
        "media_enric
… (resposta completa no Swagger do serviço)
POST/cms/v1/cms/media-assets/Cria media assets
✅ Pronto · exemplo real capturado no teste · 1153 ms

Resposta 201

{
  "id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "title": "qa-agent-picapau-1788224009",
  "description": "Vídeo de teste automatizado do agente de QA",
  "original_filename_url": "sample-video.mp4",
  "storage_path": "media-assets/1788224010456-sample-video.mp4",
  "mime_type": null,
  "checksum_md5": null,
  "source_url": null,
  "thumbnail_storage_path": null,
  "content_type": null,
  "duration": null,
  "status": "INGESTED",
  "parent_asset_id": null,
  "metadata": {
    "dash_packaging_state": "awaiting_enrichment",
    "media_enrichment_state": "pending",
    "transcode_dash_requested": true
  },
  "thumbnail_url": null,
  "scheduled_publish_at": null,
  "scheduled_unpublish_at": null,
  "published_at": null,
  "published_by": null,
  "scheduled_by": null,
  "unscheduled_at": null,
  "archived_at": null,
  "creator": null,
  "contributor": null,
  "language": "pt-BR",
  "coverage": null,
  "rights": null,
  "content_date": null,
  "created
… (resposta completa no Swagger do serviço)
GET/cms/v1/cms/media-assets/embeddingsLista embeddings
✅ Pronto · exemplo real capturado no teste · 130 ms

Resposta 200

[
  {
    "id": "6d294cf1-6b47-48bf-91d5-10f4adb490f2",
    "embeddings": null
  },
  {
    "id": "f6edeab8-7b00-4171-be7d-e902dc15b378",
    "embeddings": null
  },
  {
    "id": "77f9819a-f18b-4dbc-8e48-989f1320fb81",
    "embeddings": null
  },
  {
    "id": "ab9a88b0-7e2d-40a8-8b3b-5493f7c281ef",
    "embeddings": null
  },
  {
    "id": "3a0c3528-ad8f-4a59-a2a2-6fc294477eff",
    "embeddings": null
  },
  {
    "id": "36aa783e-fe7c-439e-b583-6ad5c9a06ea2",
    "embeddings": null
  },
  {
    "id": "cfc7e48e-abba-46ba-889f-5edfc93936f1",
    "embeddings": null
  },
  {
    "id": "30057494-6adc-404f-8bed-8e39da9578b2",
    "embeddings": null
  },
  {
    "id": "432819b9-ebfa-4e14-9524-4dd831863b02",
    "embeddings": null
  },
  {
    "id": "bcb8fbc9-b2ea-41d8-bc3f-b07b521c5b2e",
    "embeddings": null
  },
  {
    "id": "e8a407de-a9d1-40fe-93d8-6698508cde43",
    "embeddings": null
  },
  {
    "id": "a1feb09a-b5a6-4c8f-97ac-70e2792a4d0a",
    "embeddings": null
  },
  {
    "id": "db87c063-c1c1-43e8-974e
… (resposta completa no Swagger do serviço)
DELETE/cms/v1/cms/media-assets/{assetId}Remove media assets
✅ Pronto · exemplo real capturado no teste · 138 ms

Resposta 200

{
  "id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  "deleted": true,
  "deleted_at": "2026-09-01T00:54:03.865Z"
}
GET/cms/v1/cms/media-assets/{assetId}Obtém media assets
✅ Pronto · exemplo real capturado no teste · 126 ms

Resposta 200

{
  "id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "title": "qa-agent-picapau-1788224009",
  "description": "Vídeo de teste automatizado do agente de QA",
  "original_filename_url": "sample-video.mp4",
  "storage_path": "media-assets/1788224010456-sample-video.mp4",
  "mime_type": "video/mp4",
  "checksum_md5": "d6e58531b8ee6b824f27869e7b5c7bd2",
  "source_url": null,
  "thumbnail_storage_path": "media-assets/thumbnails/1788224011729-e28ea85a-f179-4587-84cb-7b0d120fe8ec.jpg",
  "content_type": null,
  "duration": {
    "seconds": 10,
    "milliseconds": 27.855
  },
  "status": "READY",
  "parent_asset_id": null,
  "metadata": {
    "dash_manifest_path": "videos/e28ea85a-f179-4587-84cb-7b0d120fe8ec/manifest.mpd",
    "dash_packaging_state": "ready",
    "media_enrichment_state": "ready",
    "transcode_dash_requested": true,
    "media_enrichment_completed_at": "2026-09-01T00:53:31.773Z"
  },
  "thumbnail_url": "https://media.staging.tv3.dev/vod-con
… (resposta completa no Swagger do serviço)
PATCH/cms/v1/cms/media-assets/{assetId}Atualiza media assets
✅ Pronto · exemplo real capturado no teste · 129 ms

Requisição

{
  "description": "Descrição atualizada pelo agente de QA"
}

Resposta 200

{
  "id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "title": "qa-agent-picapau-1788224009",
  "description": "Descrição atualizada pelo agente de QA",
  "original_filename_url": "sample-video.mp4",
  "storage_path": "media-assets/1788224010456-sample-video.mp4",
  "mime_type": "video/mp4",
  "checksum_md5": "d6e58531b8ee6b824f27869e7b5c7bd2",
  "source_url": null,
  "thumbnail_storage_path": "media-assets/thumbnails/1788224011729-e28ea85a-f179-4587-84cb-7b0d120fe8ec.jpg",
  "content_type": null,
  "duration": {
    "seconds": 10,
    "milliseconds": 27.855
  },
  "status": "READY",
  "parent_asset_id": null,
  "metadata": {
    "dash_manifest_path": "videos/e28ea85a-f179-4587-84cb-7b0d120fe8ec/manifest.mpd",
    "dash_packaging_state": "ready",
    "media_enrichment_state": "ready",
    "transcode_dash_requested": true,
    "media_enrichment_completed_at": "2026-09-01T00:53:31.773Z"
  },
  "thumbnail_url": "https://media.staging.tv3.dev/vod-content
… (resposta completa no Swagger do serviço)
POST/cms/v1/cms/media-assets/{assetId}/archiveCria archive
✅ Pronto · exemplo real capturado no teste · 132 ms

Requisição

{
  "archived_by": "22222222-2222-42a2-a222-222222222222"
}

Resposta 200

{
  "id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  "owner_emissora_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "title": "qa-agent-picapau-1788224009",
  "description": "Descrição atualizada pelo agente de QA",
  "original_filename_url": "sample-video.mp4",
  "storage_path": "media-assets/1788224010456-sample-video.mp4",
  "mime_type": "video/mp4",
  "content_type": null,
  "duration": {
    "seconds": 10,
    "milliseconds": 27.855
  },
  "status": "ARCHIVED",
  "parent_asset_id": null,
  "metadata": {
    "dash_manifest_path": "videos/e28ea85a-f179-4587-84cb-7b0d120fe8ec/manifest.mpd",
    "dash_packaging_state": "ready",
    "media_enrichment_state": "ready",
    "transcode_dash_requested": true,
    "media_enrichment_completed_at": "2026-09-01T00:53:31.773Z"
  },
  "thumbnail_url": "https://media.staging.tv3.dev/vod-content/media-assets/thumbnails/1788224011729-e28ea85a-f179-4587-84cb-7b0d120fe8ec.jpg",
  "thumbnail_storage_path": "media-assets/thumbnails/1788224011729-e28ea85a-f179-4587-84cb-7b0d120
… (resposta completa no Swagger do serviço)
GET/cms/v1/cms/media-assets/{assetId}/dublin-coreLista dublin core
✅ Pronto · exemplo real capturado no teste · 118 ms

Resposta 200

{
  "title": [
    "online-grocery-delivery-service-ad-design-template-393e57752f1a1311b19a97379c71c65a_screen.jpg"
  ],
  "creator": [],
  "subject": [],
  "description": [],
  "publisher": [
    "0dabe336-2552-49b0-b563-a8de4fde6cfa"
  ],
  "contributor": [],
  "date": [
    "2026-08-28"
  ],
  "type": [],
  "format": [
    "image/jpeg"
  ],
  "identifier": [
    "6d294cf1-6b47-48bf-91d5-10f4adb490f2",
    "https://media.staging.tv3.dev/vod-content/media-assets/1787926117827-online-grocery-delivery-service-ad-design-template-393e57752f1a1311b19a97379c71c65a_screen.jpg"
  ],
  "source": [],
  "language": [
    "pt-BR"
  ],
  "relation": [],
  "coverage": [],
  "rights": []
}
PATCH/cms/v1/cms/media-assets/{assetId}/embeddingsAtualiza embeddings
✅ Pronto · exemplo real capturado no teste · 135 ms

Requisição

{
  "embeddings": [
    0.0,
    0.002604,
    0.005208,
    0.007812,
    0.010417,
    0.013021,
    0.015625,
    0.018229,
    0.020833,
    0.023438,
    0.026042,
    0.028646,
    0.03125,
    0.033854,
    0.036458,
    0.039062,
    0.041667,
    0.044271,
    0.046875,
    0.049479,
    0.052083,
    0.054688,
    0.057292,
    0.059896,
    0.0625,
    0.065104,
    0.067708,
    0.070312,
    0.072917,
    0.075521,
    0.078125,
    0.080729,
    0.083333,
    0.085938,
    0.088542,
    0.091146,
    0.09375,
    0.096354,
    0.098958,
    0.101562,
    0.104167,
    0.106771,
    0.109375,
    0.111979,
    0.114583,
    0.117188,
    0.119792,
    0.122396,
    0.125,
    0.127604,
    0.130208,
    0.132812,
    0.135417,
    0.138021,
    0.140625,
    0.143229,
    0.145833,
    0.148438,
    0.151042,
    0.153646,
    0.15625,
    0.158854,
    0.161458,
    0.164062,
    0.166667,
    0.169271,
    0.171875,
    0.174479,
    0.177083,
    0.179688,
    0.182292,
    0.184896,
    0.1875,
    0.190104,
    0.192708,
    0.195312,
    0.197917,
    0.200521,
    0.203125,
    0.205729,
    0.208333,
    0.210938,
    0.213542,
    0.216146,
    0.21875,
    0.221354,
    0.223958,
    0.226562,
    0.229167,
    0.231771,
    0.234375,
    0.236979,
    0.239583,
    0.242188,
    0.244792,
    0.247396,
    0.25,
    0.252604,
    0.255208,
    0.257812,
    0.260417,
    0.263021,
    0.265625,
    0.268229,
    0.270833,
    0.273438,
    0.276042,
    0.278646,
    0.28125,
    0.283854,
    0.286458,
    0.289062,
    0.291667,
    0.294271,
    0.296875,
    0.299479,
    0.302083,
    0.304688,
    0.307292,
    0.309896,
    0.3125,
    0.315104,
    0.317708,
    0.320312,
    0.322917,
    0.325521,
    0.328125,
    0.330729,
    0.333333,
    0.335938,
    0.338542,
    0.341146,
    0.34375,
    0.346354,
    0.348958,
    0.351562,
    0.354167,
    0.356771,
    0.359375,
    0.361979,
    0.364583,
    0.367188,
    0.369792,
    0.372396,
    0.375,
    0.377604,
    0.380208,
    0.382812,
    0.385417,
    0.388021,
    0.390625,
    0.393229,
    0.395833,
    0.398438,
    0.401042,
    0.403646,
    0.40625,
    0.408854,
    0.411458,
    0.414062,
    0.416667,
    0.419271,
    0.421875,
    0.424479,
    0.427083,
    0.429688,
    0.432292,
    0.434896,
    0.4375,
    0.440104,
    0.442708,
    0.445312,
    0.447917,
    0.450521,
    0.453125,
    0.455729,
    0.458333,
    0.460938,
    0.463542,
    0.466146,
    0.46875,
    0.471354,
    0.473958,
    0.476562,
    0.479167,
    0.481771,
    0.484375,
    0.486979,
    0.489583,
    0.492188,
    0.494792,
    0.497396,
    0.5,
    0.502604,
    0.505208,
    0.507812,
    0.510417,
    0.513021,
    0.515625,
    0.518229,
    0.520833,
    0.523438,
    0.526042,
    0.528646,
    0.53125,
    0.533854,
    0.536458,
    0.539062,
    0.541667,
    0.544271,
    0.546875,
    0.549479,
    0.552083,
    0.554688,
    0.557292,
    0.559896,
    0.5625,
    0.565104,
    0.567708,
    0.570312,
    0.572917,
    0.575521,
    0.578125,
    0.580729,
    0.583333,
    0.585938,
    0.588542,
    0.591146,
    0.59375,
    0.596354,
    0.598958,
    0.601562,
    0.604167,
    0.606771,
    0.609375,
    0.611979,
    0.614583,
    0.617188,
    0.619792,
    0.622396,
    0.625,
    0.627604,
    0.630208,
    0.632812,
    0.635417,
    0.638021,
    0.640625,
    0.643229,
    0.645833,
    0.648438,
    0.651042,
    0.653646,
    0.65625,
    0.658854,
    0.661458,
    0.664062,
    0.666667,
    0.669271,
    0.671875,
    0.674479,
    0.677083,
    0.679688,
    0.682292,
    0.684896,
    0.6875,
    0.690104,
    0.692708,
    0.695312,
    0.697917,
    0.700521,
    0.703125,
    0.705729,
    0.708333,
    0.710938,
    0.713542,
    0.716146,
    0.71875,
    0.721354,
    0.723958,
    0.726562,
    0.729167,
    0.731771,
    0.734375,
    0.736979,
    0.739583,
    0.742188,
    0.744792,
    0.747396,
    0.75,
    0.752604,
    0.755208,
    0.757812,
    0.760417,
    0.763021,
    0.765625,
    0.768229,
    0.770833,
    0.773438,
    0.776042,
    0.778646,
    0.78125,
    0.783854,
    0.786458,
    0.789062,
    0.791667,
    0.794271,
    0.796875,
    0.799479,
    0.802083,
    0.804688,
    0.807292,
    0.809896,
    0.8125,
    0.815104,
    0.817708,
    0.820312,
    0.822917,
    0.825521,
    0.828125,
    0.830729,
    0.833333,
    0.835938,
    0.838542,
    0.841146,
    0.84375,
    0.846354,
    0.848958,
    0.851562,
    0.854167,
    0.856771,
    0.859375,
    0.861979,
    0.864583,
    0.867188,
    0.869792,
    0.872396,
    0.875,
    0.877604,
    0.880208,
    0.882812,
    0.885417,
    0.888021,
    0.890625,
    0.893229,
    0.895833,
    0.898438,
    0.901042,
    0.903646,
    0.90625,
    0.908854,
    0.911458,
    0.914062,
    0.916667,
    0.919271,
    0.921875,
    0.924479,
    0.927083,
    0.929688,
    0.932292,
    0.934896,
    0.9375,
    0.940104,
    0.942708,
    0.945312,
    0.947917,
    0.950521,
    0.953125,
    0.955729,
    0.958333,
    0.960938,
    0.963542,
    0.966146,
    0.96875,
    0.971354,
    0.973958,
    0.976562,
    0.979167,
    0.981771,
    0.984375,
    0.986979,
    0.989583,
    0.992188,
    0.994792,
    0.997396
  ]
}

Resposta 200

{
  "id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  "embeddings": [
    0,
    0.002604,
    0.005208,
    0.007812,
    0.010417,
    0.013021,
    0.015625,
    0.018229,
    0.020833,
    0.023438,
    0.026042,
    0.028646,
    0.03125,
    0.033854,
    0.036458,
    0.039062,
    0.041667,
    0.044271,
    0.046875,
    0.049479,
    0.052083,
    0.054688,
    0.057292,
    0.059896,
    0.0625,
    0.065104,
    0.067708,
    0.070312,
    0.072917,
    0.075521,
    0.078125,
    0.080729,
    0.083333,
    0.085938,
    0.088542,
    0.091146,
    0.09375,
    0.096354,
    0.098958,
    0.101562,
    0.104167,
    0.106771,
    0.109375,
    0.111979,
    0.114583,
    0.117188,
    0.119792,
    0.122396,
    0.125,
    0.127604,
    0.130208,
    0.132812,
    0.135417,
    0.138021,
    0.140625,
    0.143229,
    0.145833,
    0.148438,
    0.151042,
    0.153646,
    0.15625,
    0.158854,
    0.161458,
    0.164062,
    0.166667,
    0.169271,
    0.171875,
    0.174479,
    0.177083,
    0
… (resposta completa no Swagger do serviço)
GET/cms/v1/cms/media-assets/{assetId}/interactivity/applicationsLista applications
✅ Pronto · exemplo real capturado no teste · 124 ms

Resposta 200

[]
POST/cms/v1/cms/media-assets/{assetId}/interactivity/applicationsCria applications
✅ Pronto · exemplo real capturado no teste · 135 ms

Requisição

{
  "application_id": "a14dbf35-6e1d-4d8e-b1a0-2f9acc8822c0",
  "application_version_id": "b7f0ff63-87df-4e3e-9d14-8c09ee38633d",
  "starts_at": "2026-01-01T00:00:00.000Z",
  "ends_at": "2027-12-31T00:00:00.000Z",
  "overlay_ids": []
}

Resposta 201

{
  "id": "1c33f6d6-27a1-410d-a17d-54c17af25c9f",
  "asset_id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  "application_id": "a14dbf35-6e1d-4d8e-b1a0-2f9acc8822c0",
  "application_version_id": "b7f0ff63-87df-4e3e-9d14-8c09ee38633d",
  "overlay_ids": [],
  "starts_at": "2026-01-01T00:00:00.000Z",
  "ends_at": "2027-12-31T00:00:00.000Z",
  "status": "ASSOCIATED",
  "metadata": null,
  "created_at": "2026-09-01T00:53:58.415Z",
  "updated_at": "2026-09-01T00:53:58.415Z"
}
PATCH/cms/v1/cms/media-assets/{assetId}/interactivity/applications/{associationId}Atualiza applications
✅ Pronto · exemplo real capturado no teste · 134 ms

Requisição

{
  "metadata": {
    "updated_by": "qa-agent"
  }
}

Resposta 200

{
  "id": "1c33f6d6-27a1-410d-a17d-54c17af25c9f",
  "asset_id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  "application_id": "a14dbf35-6e1d-4d8e-b1a0-2f9acc8822c0",
  "application_version_id": "b7f0ff63-87df-4e3e-9d14-8c09ee38633d",
  "overlay_ids": [],
  "starts_at": "2026-01-01T00:00:00.000Z",
  "ends_at": "2027-12-31T00:00:00.000Z",
  "status": "ASSOCIATED",
  "metadata": {
    "updated_by": "qa-agent"
  },
  "created_at": "2026-09-01T00:53:58.415Z",
  "updated_at": "2026-09-01T00:53:58.548Z"
}
GET/cms/v1/cms/media-assets/{assetId}/interactivity/applications/{associationId}/distributions/Lista distributions
✅ Pronto · exemplo real capturado no teste · 127 ms

Resposta 200

[]
POST/cms/v1/cms/media-assets/{assetId}/interactivity/applications/{associationId}/distributions/Cria distributions
✅ Pronto · exemplo real capturado no teste · 150 ms

Requisição

{
  "platforms": [
    "WEB"
  ],
  "scheduled_at": "2027-12-01T10:00:00.000Z",
  "priority": "NORMAL"
}

Resposta 201

{
  "id": "a02ce94c-d252-486e-8828-ee23b276a7ff",
  "association_id": "1c33f6d6-27a1-410d-a17d-54c17af25c9f",
  "application_version_id": "b7f0ff63-87df-4e3e-9d14-8c09ee38633d",
  "platforms": [
    "WEB"
  ],
  "scheduled_at": "2027-12-01T10:00:00.000Z",
  "priority": "NORMAL",
  "strategy": "DEFAULT",
  "status": "SCHEDULED",
  "metadata": null,
  "created_at": "2026-09-01T00:53:59.235Z",
  "updated_at": "2026-09-01T00:53:59.235Z",
  "targets": [
    {
      "id": "17e972ff-4c74-483f-a522-9ecf4ead7c87",
      "distribution_id": "a02ce94c-d252-486e-8828-ee23b276a7ff",
      "association_id": "1c33f6d6-27a1-410d-a17d-54c17af25c9f",
      "application_version_id": "b7f0ff63-87df-4e3e-9d14-8c09ee38633d",
      "platform": "WEB",
      "status": "PENDING",
      "delivered_at": null,
      "failure_reason": null,
      "metadata": {
        "priority": "NORMAL",
        "strategy": "DEFAULT",
        "scheduled_at": "2027-12-01T10:00:00.000Z"
      },
      "created_at": "2026-09-01T00:53:59.235Z",
      "update
… (resposta completa no Swagger do serviço)
GET/cms/v1/cms/media-assets/{assetId}/interactivity/applications/{associationId}/distributions/{distributionId}Obtém distributions
✅ Pronto · exemplo real capturado no teste · 128 ms

Resposta 200

{
  "id": "a02ce94c-d252-486e-8828-ee23b276a7ff",
  "association_id": "1c33f6d6-27a1-410d-a17d-54c17af25c9f",
  "application_version_id": "b7f0ff63-87df-4e3e-9d14-8c09ee38633d",
  "platforms": [
    "WEB"
  ],
  "scheduled_at": "2027-12-01T10:00:00.000Z",
  "priority": "NORMAL",
  "strategy": "DEFAULT",
  "status": "SCHEDULED",
  "metadata": null,
  "created_at": "2026-09-01T00:53:59.235Z",
  "updated_at": "2026-09-01T00:53:59.235Z",
  "targets": [
    {
      "id": "17e972ff-4c74-483f-a522-9ecf4ead7c87",
      "distribution_id": "a02ce94c-d252-486e-8828-ee23b276a7ff",
      "association_id": "1c33f6d6-27a1-410d-a17d-54c17af25c9f",
      "application_version_id": "b7f0ff63-87df-4e3e-9d14-8c09ee38633d",
      "platform": "WEB",
      "status": "PENDING",
      "delivered_at": null,
      "failure_reason": null,
      "metadata": {
        "priority": "NORMAL",
        "strategy": "DEFAULT",
        "scheduled_at": "2027-12-01T10:00:00.000Z"
      },
      "created_at": "2026-09-01T00:53:59.235Z",
      "update
… (resposta completa no Swagger do serviço)
POST/cms/v1/cms/media-assets/{assetId}/interactivity/applications/{associationId}/events/capture/startCria start
✅ Pronto · exemplo real capturado no teste · 142 ms

Requisição

{
  "event_types": [
    "INTERACTION"
  ],
  "persist_trail": true,
  "real_time": true
}

Resposta 200

{
  "id": "16cd37bf-269b-4ea2-a62f-17bca70047a1",
  "association_id": "1c33f6d6-27a1-410d-a17d-54c17af25c9f",
  "event_types": [
    "INTERACTION"
  ],
  "persist_trail": true,
  "real_time": true,
  "status": "ACTIVE",
  "started_at": "2026-09-01T00:53:59.656Z",
  "stopped_at": null,
  "metadata": null,
  "created_at": "2026-09-01T00:53:59.658Z",
  "updated_at": "2026-09-01T00:53:59.658Z"
}
POST/cms/v1/cms/media-assets/{assetId}/interactivity/applications/{associationId}/events/capture/stopCria stop
✅ Pronto · exemplo real capturado no teste · 141 ms

Resposta 200

{
  "id": "16cd37bf-269b-4ea2-a62f-17bca70047a1",
  "association_id": "1c33f6d6-27a1-410d-a17d-54c17af25c9f",
  "event_types": [
    "INTERACTION"
  ],
  "persist_trail": true,
  "real_time": true,
  "status": "STOPPED",
  "started_at": "2026-09-01T00:53:59.656Z",
  "stopped_at": "2026-09-01T00:54:00.060Z",
  "metadata": null,
  "created_at": "2026-09-01T00:53:59.658Z",
  "updated_at": "2026-09-01T00:54:00.063Z"
}
GET/cms/v1/cms/media-assets/{assetId}/interactivity/applications/{associationId}/events/trailLista trail
✅ Pronto · exemplo real capturado no teste · 130 ms

Resposta 200

{
  "data": [
    {
      "id": "4ff90dfc-b919-4155-8447-2b3046d37270",
      "association_id": "1c33f6d6-27a1-410d-a17d-54c17af25c9f",
      "capture_id": "16cd37bf-269b-4ea2-a62f-17bca70047a1",
      "platform": "WEB",
      "event_type": "INTERACTION",
      "occurred_at": "2026-06-01T00:00:00.000Z",
      "sequence_no": null,
      "payload": {
        "action": "click"
      },
      "created_at": "2026-09-01T00:53:59.790Z"
    }
  ],
  "meta": {
    "limit": 100,
    "offset": 0,
    "total": 1,
    "next_cursor": "2026-06-01T00:00:00.000Z"
  }
}
POST/cms/v1/cms/media-assets/{assetId}/interactivity/applications/{associationId}/events/trailCria trail
✅ Pronto · exemplo real capturado no teste · 129 ms

Requisição

{
  "event_type": "INTERACTION",
  "occurred_at": "2026-06-01T00:00:00.000Z",
  "platform": "WEB",
  "payload": {
    "action": "click"
  }
}

Resposta 201

{
  "id": "4ff90dfc-b919-4155-8447-2b3046d37270",
  "association_id": "1c33f6d6-27a1-410d-a17d-54c17af25c9f",
  "capture_id": "16cd37bf-269b-4ea2-a62f-17bca70047a1",
  "platform": "WEB",
  "event_type": "INTERACTION",
  "occurred_at": "2026-06-01T00:00:00.000Z",
  "sequence_no": null,
  "payload": {
    "action": "click"
  },
  "created_at": "2026-09-01T00:53:59.790Z"
}
POST/cms/v1/cms/media-assets/{assetId}/interactivity/applications/{associationId}/monitoring/startCria start
✅ Pronto · exemplo real capturado no teste · 142 ms

Requisição

{
  "capture_metrics": true,
  "capture_health": true,
  "capture_interactions": true
}

Resposta 200

{
  "id": "5bec53f7-8a3b-430a-a9d2-8d0e3e3df3dc",
  "association_id": "1c33f6d6-27a1-410d-a17d-54c17af25c9f",
  "capture_metrics": true,
  "capture_health": true,
  "capture_interactions": true,
  "status": "ACTIVE",
  "started_at": "2026-09-01T00:53:59.517Z",
  "stopped_at": null,
  "metadata": null,
  "created_at": "2026-09-01T00:53:59.518Z",
  "updated_at": "2026-09-01T00:53:59.518Z"
}
PUT/cms/v1/cms/media-assets/{assetId}/interactivity/applications/{associationId}/second-screen/Atualiza second screen
✅ Pronto · exemplo real capturado no teste · 150 ms

Requisição

{
  "enabled": true,
  "assets": [
    {
      "url": "https://example.com/companion.json"
    }
  ]
}

Resposta 200

{
  "id": "917fa9dc-93b1-4f97-9672-718cd6227930",
  "association_id": "1c33f6d6-27a1-410d-a17d-54c17af25c9f",
  "enabled": true,
  "assets": [
    {
      "url": "https://example.com/companion.json"
    }
  ],
  "experience": null,
  "delivery": null,
  "status": "CONFIGURED",
  "metadata": null,
  "created_at": "2026-09-01T00:53:58.828Z",
  "updated_at": "2026-09-01T00:53:58.828Z"
}
PUT/cms/v1/cms/media-assets/{assetId}/interactivity/applications/{associationId}/synchronization/Atualiza synchronization
✅ Pronto · exemplo real capturado no teste · 131 ms

Requisição

{
  "mode": "TIMELINE",
  "reference": "CONTENT",
  "tolerance_ms": 500,
  "sync_points": [
    {
      "t": 0,
      "action": "show"
    },
    {
      "t": 30,
      "action": "hide"
    }
  ]
}

Resposta 200

{
  "id": "7cb39b9e-4a40-479d-a464-45c6103ec454",
  "association_id": "1c33f6d6-27a1-410d-a17d-54c17af25c9f",
  "mode": "TIMELINE",
  "reference": "CONTENT",
  "tolerance_ms": 500,
  "sync_points": [
    {
      "t": 0,
      "action": "show"
    },
    {
      "t": 30,
      "action": "hide"
    }
  ],
  "status": "CONFIGURED",
  "metadata": null,
  "created_at": "2026-09-01T00:53:58.680Z",
  "updated_at": "2026-09-01T00:53:58.680Z"
}
POST/cms/v1/cms/media-assets/{assetId}/interactivity/applications/{associationId}/validation/Cria validation
✅ Pronto · exemplo real capturado no teste · 141 ms

Resposta 200

{
  "id": "bcb10f0a-0bb2-4c55-afdf-5aef5b613af7",
  "association_id": "1c33f6d6-27a1-410d-a17d-54c17af25c9f",
  "is_valid": true,
  "issues": [],
  "checked_at": "2026-09-01T00:53:58.968Z",
  "metadata": null,
  "created_at": "2026-09-01T00:53:58.969Z"
}
GET/cms/v1/cms/media-assets/{assetId}/interactivity/compatible-applicationsLista compatible applications
✅ Pronto · exemplo real capturado no teste · 122 ms

Resposta 200

{
  "data": [
    {
      "id": "2d799f8a-90eb-48a8-b2e0-a33abe2c72a3",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "app_key": "qa-agent-quiz-1788027455",
      "type": "SURVEY",
      "title": "qa-agent Quiz",
      "description": "Descrição atualizada pelo agente",
      "status": "APPROVED",
      "supported_content_types": [],
      "metadata": {},
      "created_at": "2026-08-29T18:18:33.884Z",
      "updated_at": "2026-08-29T18:18:35.464Z"
    },
    {
      "id": "18a6d165-a24e-4706-8522-c22140a9d6fd",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "app_key": "qa-agent-quiz-1788017652",
      "type": "SURVEY",
      "title": "qa-agent Quiz",
      "description": "Descrição atualizada pelo agente",
      "status": "APPROVED",
      "supported_content_types": [],
      "metadata": {},
      "created_at": "2026-08-29T15:34:58.614Z",
      "updated_at": "2026-08-29T15:34:59.401Z"
    },
    {
      "id": "821b4fe6-2adf-451b-a291-0920265f3d22",
      "bro
… (resposta completa no Swagger do serviço)
GET/cms/v1/cms/media-assets/{assetId}/interactivity/compatible-overlaysLista compatible overlays
✅ Pronto · exemplo real capturado no teste · 120 ms

Resposta 200

{
  "data": [],
  "meta": {
    "page": 1,
    "limit": 20,
    "total": 0
  }
}
POST/cms/v1/cms/media-assets/{assetId}/publishCria publish
✅ Pronto · exemplo real capturado no teste · 136 ms

Requisição

{
  "published_by": "22222222-2222-42a2-a222-222222222222"
}

Resposta 200

{
  "id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  "owner_emissora_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "title": "qa-agent-picapau-1788224009",
  "description": "Descrição atualizada pelo agente de QA",
  "original_filename_url": "sample-video.mp4",
  "storage_path": "media-assets/1788224010456-sample-video.mp4",
  "mime_type": "video/mp4",
  "content_type": null,
  "duration": {
    "seconds": 10,
    "milliseconds": 27.855
  },
  "status": "PUBLISHED",
  "parent_asset_id": null,
  "metadata": {
    "dash_manifest_path": "videos/e28ea85a-f179-4587-84cb-7b0d120fe8ec/manifest.mpd",
    "dash_packaging_state": "ready",
    "media_enrichment_state": "ready",
    "transcode_dash_requested": true,
    "media_enrichment_completed_at": "2026-09-01T00:53:31.773Z"
  },
  "thumbnail_url": "https://media.staging.tv3.dev/vod-content/media-assets/thumbnails/1788224011729-e28ea85a-f179-4587-84cb-7b0d120fe8ec.jpg",
  "thumbnail_storage_path": "media-assets/thumbnails/1788224011729-e28ea85a-f179-4587-84cb-7b0d12
… (resposta completa no Swagger do serviço)
GET/cms/v1/cms/media-assets/{assetId}/share-optionsLista share options
✅ Pronto · exemplo real capturado no teste · 125 ms

Resposta 200

{
  "asset": {
    "id": "6d294cf1-6b47-48bf-91d5-10f4adb490f2",
    "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
    "title": "online-grocery-delivery-service-ad-design-template-393e57752f1a1311b19a97379c71c65a_screen.jpg",
    "description": null,
    "original_filename_url": "online-grocery-delivery-service-ad-design-template-393e57752f1a1311b19a97379c71c65a_screen.jpg",
    "storage_path": "media-assets/1787926117827-online-grocery-delivery-service-ad-design-template-393e57752f1a1311b19a97379c71c65a_screen.jpg",
    "mime_type": "image/jpeg",
    "checksum_md5": "44c00e0012985696b1c1e6dc5f1df5f6",
    "source_url": null,
    "thumbnail_storage_path": null,
    "content_type": null,
    "duration": null,
    "status": "READY",
    "parent_asset_id": null,
    "metadata": {
      "dash_packaging_state": "not_requested",
      "media_enrichment_state": "not_requested",
      "transcode_dash_requested": false
    },
    "thumbnail_url": null,
    "scheduled_publish_at": null,
    "scheduled_unpub
… (resposta completa no Swagger do serviço)
GET/cms/v1/cms/media-assets/{assetId}/share-policyLista share policy
✅ Pronto · exemplo real capturado no teste · 122 ms

Resposta 200

{
  "id": "1e2d9165-2db7-4e81-8f3a-e25f61f85c17",
  "asset_id": "6d294cf1-6b47-48bf-91d5-10f4adb490f2",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "sharing_enabled": true,
  "allowed_destination_ids": [],
  "blocked_destination_ids": [],
  "requires_approval": false,
  "allow_unbranded_fallback": false,
  "default_branding_template_id": null,
  "metadata": {},
  "created_at": "2026-08-28T14:08:37.852Z",
  "updated_at": "2026-08-28T14:08:37.852Z"
}
PUT/cms/v1/cms/media-assets/{assetId}/share-policyAtualiza share policy
✅ Pronto · exemplo real capturado no teste · 139 ms

Requisição

{
  "sharing_enabled": true,
  "requires_approval": true,
  "allow_unbranded_fallback": true
}

Resposta 200

{
  "id": "9820dae8-7f05-4c2f-ae67-cf2a3bb8954c",
  "asset_id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "sharing_enabled": true,
  "allowed_destination_ids": [],
  "blocked_destination_ids": [],
  "requires_approval": true,
  "allow_unbranded_fallback": true,
  "default_branding_template_id": null,
  "metadata": {},
  "created_at": "2026-09-01T00:53:30.638Z",
  "updated_at": "2026-09-01T00:53:53.530Z"
}
GET/cms/v1/cms/media-assets/{assetId}/share-requestsLista share requests
✅ Pronto · exemplo real capturado no teste · 129 ms

Resposta 200

{
  "data": [],
  "meta": {
    "page": 1,
    "limit": 20,
    "total": 0
  }
}
DELETE/cms/v1/cms/media-assets/{dashAssetId}Remove media assets
✅ Pronto · exemplo real capturado no teste · 148 ms

Resposta 200

{
  "id": "efc22294-a4c1-41bf-8710-6dd7be0ec958",
  "deleted": true,
  "deleted_at": "2026-09-01T00:53:52.777Z"
}
GET/cms/v1/cms/media-assets/{dashAssetId}Obtém media assets
✅ Pronto · exemplo real capturado no teste · 126 ms

Resposta 200

{
  "id": "efc22294-a4c1-41bf-8710-6dd7be0ec958",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "title": "qa-agent-dash-1788224009",
  "description": "MP4 dedicado para transcode DASH",
  "original_filename_url": "sample-dash.mp4",
  "storage_path": "media-assets/1788224024106-sample-dash.mp4",
  "mime_type": "video/mp4",
  "checksum_md5": "cd546e20bb5703a349626cc47f99fee4",
  "source_url": null,
  "thumbnail_storage_path": "media-assets/thumbnails/1788224026921-efc22294-a4c1-41bf-8710-6dd7be0ec958.jpg",
  "content_type": null,
  "duration": {
    "seconds": 3
  },
  "status": "READY",
  "parent_asset_id": null,
  "metadata": {
    "dash_manifest_path": "videos/efc22294-a4c1-41bf-8710-6dd7be0ec958/manifest.mpd",
    "dash_packaging_state": "ready",
    "media_enrichment_state": "ready",
    "transcode_dash_requested": true,
    "media_enrichment_completed_at": "2026-09-01T00:53:46.978Z"
  },
  "thumbnail_url": "https://media.staging.tv3.dev/vod-content/media-assets/thumbnails/1788224026921-efc
… (resposta completa no Swagger do serviço)
POST/cms/v1/cms/media-assets/{dashAssetId}/transcode-dashCria transcode dash
✅ Pronto · exemplo real capturado no teste · 130 ms

Resposta 202

{
  "id": "efc22294-a4c1-41bf-8710-6dd7be0ec958",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "title": "qa-agent-dash-1788224009",
  "description": "MP4 dedicado para transcode DASH",
  "original_filename_url": "sample-dash.mp4",
  "storage_path": "media-assets/1788224024106-sample-dash.mp4",
  "mime_type": "video/mp4",
  "checksum_md5": "cd546e20bb5703a349626cc47f99fee4",
  "source_url": null,
  "thumbnail_storage_path": "media-assets/thumbnails/1788224026921-efc22294-a4c1-41bf-8710-6dd7be0ec958.jpg",
  "content_type": null,
  "duration": {
    "seconds": 3
  },
  "status": "INGESTED",
  "parent_asset_id": null,
  "metadata": {
    "dash_manifest_path": "videos/efc22294-a4c1-41bf-8710-6dd7be0ec958/manifest.mpd",
    "dash_packaging_state": "pending",
    "media_enrichment_state": "ready",
    "transcode_dash_requested": true,
    "media_enrichment_completed_at": "2026-09-01T00:53:46.978Z"
  },
  "thumbnail_url": "https://media.staging.tv3.dev/vod-content/media-assets/thumbnails/178822402692
… (resposta completa no Swagger do serviço)
GET/cms/v1/cms/saved-queries/Lista saved queries
✅ Pronto · exemplo real capturado no teste · 125 ms

Resposta 200

{
  "data": [
    {
      "query_id": "2979746c-79ad-4374-85ed-5ab624c56281",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "query_string": "novela OR minisserie",
      "filters": {},
      "created_at": "2026-09-01T00:54:02.329Z",
      "created_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc"
    },
    {
      "query_id": "c83262f0-ef0c-47fc-9c85-3c88ca8a9998",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "query_string": "novela OR minisserie",
      "filters": {},
      "created_at": "2026-09-01T00:52:41.036Z",
      "created_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc"
    },
    {
      "query_id": "c43a2879-e5d5-4116-92a9-77015f0b0743",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "query_string": "novela OR minisserie",
      "filters": {},
      "created_at": "2026-08-29T18:19:02.288Z",
      "created_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc"
    },
    {
      "query_id": "8d81623d-4bb5-42fc-92f1-060947c0fb1b",
      "broadcaster_
… (resposta completa no Swagger do serviço)
POST/cms/v1/cms/saved-queries/Cria saved queries
✅ Pronto · exemplo real capturado no teste · 123 ms

Requisição

{
  "actor_id": "22222222-2222-42a2-a222-222222222222",
  "broadcaster_id": "{tokenBroadcaster}",
  "query_string": "novela OR minisserie"
}

Resposta 201

{
  "query_id": "2979746c-79ad-4374-85ed-5ab624c56281",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "query_string": "novela OR minisserie",
  "filters": {},
  "created_at": "2026-09-01T00:54:02.329Z",
  "created_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc"
}
GET/cms/v1/cms/saved-queries/{queryId}/previewLista preview
✅ Pronto · exemplo real capturado no teste · 124 ms

Resposta 200

{
  "query_id": "2979746c-79ad-4374-85ed-5ab624c56281",
  "preview_count": 0,
  "results": []
}
GET/cms/v1/cms/sobr/overlaysLista overlays
✅ Pronto · exemplo real capturado no teste · 133 ms

Resposta 200

{
  "data": [
    {
      "id": "6948a740-e6af-44b9-bb56-f81f4f27904a",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "content_id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
      "program_id": null,
      "status": "DRAFT",
      "definition_payload": {
        "text": "qa-agent",
        "type": "banner",
        "color": "blue",
        "position": "bottom"
      },
      "created_at": "2026-09-01T00:53:56.994Z",
      "updated_at": "2026-09-01T00:53:56.994Z",
      "region": null,
      "scheduled_publish_at": null,
      "scheduled_unpublish_at": null,
      "scheduled_by": null,
      "published_at": null,
      "published_by": null,
      "unscheduled_at": null
    },
    {
      "id": "7c765a8e-1c20-4680-b885-90c9eafab39c",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "content_id": null,
      "program_id": null,
      "status": "PUBLISHED",
      "definition_payload": {
        "text": "Voce viu a porcentagem",
        "type": "poll",
        "color": nu
… (resposta completa no Swagger do serviço)
POST/cms/v1/cms/sobr/overlaysCria overlays
✅ Pronto · exemplo real capturado no teste · 132 ms

Requisição

{
  "broadcaster_id": "{tokenBroadcaster}",
  "content_id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  "definition_payload": {
    "type": "banner",
    "color": "blue",
    "position": "bottom",
    "text": "qa-agent"
  }
}

Resposta 201

{
  "id": "6948a740-e6af-44b9-bb56-f81f4f27904a",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "content_id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  "program_id": null,
  "status": "DRAFT",
  "definition_payload": {
    "text": "qa-agent",
    "type": "banner",
    "color": "blue",
    "position": "bottom"
  },
  "created_at": "2026-09-01T00:53:56.994Z",
  "updated_at": "2026-09-01T00:53:56.994Z",
  "region": null,
  "scheduled_publish_at": null,
  "scheduled_unpublish_at": null,
  "scheduled_by": null,
  "published_at": null,
  "published_by": null,
  "unscheduled_at": null
}
DELETE/cms/v1/cms/sobr/overlays/{overlayId}Remove overlays
✅ Pronto · exemplo real capturado no teste · 121 ms
PATCH/cms/v1/cms/sobr/overlays/{overlayId}Atualiza overlays
✅ Pronto · exemplo real capturado no teste · 127 ms

Requisição

{
  "content_id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec"
}

Resposta 200

{
  "id": "6948a740-e6af-44b9-bb56-f81f4f27904a",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "content_id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  "program_id": null,
  "status": "DRAFT",
  "definition_payload": {
    "text": "Ao vivo agora",
    "type": "banner",
    "color": "red",
    "position": "top"
  },
  "created_at": "2026-09-01T00:53:56.994Z",
  "updated_at": "2026-09-01T00:53:57.505Z",
  "region": null,
  "scheduled_publish_at": null,
  "scheduled_unpublish_at": null,
  "scheduled_by": null,
  "published_at": null,
  "published_by": null,
  "unscheduled_at": null
}
PUT/cms/v1/cms/sobr/overlays/{overlayId}Atualiza overlays
✅ Pronto · exemplo real capturado no teste · 130 ms

Requisição

{
  "type": "banner",
  "color": "red",
  "position": "top",
  "text": "Ao vivo agora"
}

Resposta 200

{
  "id": "6948a740-e6af-44b9-bb56-f81f4f27904a",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "content_id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  "program_id": null,
  "status": "DRAFT",
  "definition_payload": {
    "text": "Ao vivo agora",
    "type": "banner",
    "color": "red",
    "position": "top"
  },
  "created_at": "2026-09-01T00:53:56.994Z",
  "updated_at": "2026-09-01T00:53:57.375Z",
  "region": null,
  "scheduled_publish_at": null,
  "scheduled_unpublish_at": null,
  "scheduled_by": null,
  "published_at": null,
  "published_by": null,
  "unscheduled_at": null
}
POST/cms/v1/cms/sobr/overlays/{overlayId}/publishCria publish
✅ Pronto · exemplo real capturado no teste · 134 ms

Resposta 200

{
  "id": "6948a740-e6af-44b9-bb56-f81f4f27904a",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "content_id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  "program_id": null,
  "status": "PUBLISHED",
  "definition_payload": {
    "text": "Ao vivo agora",
    "type": "banner",
    "color": "red",
    "position": "top"
  },
  "created_at": "2026-09-01T00:53:56.994Z",
  "updated_at": "2026-09-01T00:53:57.634Z",
  "region": null,
  "scheduled_publish_at": null,
  "scheduled_unpublish_at": null,
  "scheduled_by": null,
  "published_at": null,
  "published_by": null,
  "unscheduled_at": null
}
POST/cms/v1/cms/sobr/overlays/{overlayId}/unpublishCria unpublish
✅ Pronto · exemplo real capturado no teste · 143 ms

Resposta 200

{
  "id": "6948a740-e6af-44b9-bb56-f81f4f27904a",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "content_id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  "program_id": null,
  "status": "DRAFT",
  "definition_payload": {
    "text": "Ao vivo agora",
    "type": "banner",
    "color": "red",
    "position": "top"
  },
  "created_at": "2026-09-01T00:53:56.994Z",
  "updated_at": "2026-09-01T00:54:03.621Z",
  "region": null,
  "scheduled_publish_at": null,
  "scheduled_unpublish_at": null,
  "scheduled_by": null,
  "published_at": null,
  "published_by": null,
  "unscheduled_at": null
}
GET/cms/v1/cms/sobr/overlays/{overlayId}/versionsLista versions
✅ Pronto · exemplo real capturado no teste · 124 ms

Resposta 200

[
  {
    "id": "b92791e0-1820-4d57-98aa-c1ad01fb71ff",
    "overlay_id": "6948a740-e6af-44b9-bb56-f81f4f27904a",
    "version_number": 1,
    "definition_payload": {
      "text": "Ao vivo agora",
      "type": "banner",
      "color": "red",
      "position": "top"
    },
    "published_at": "2026-09-01T00:53:57.634Z"
  }
]
POST/cms/v1/cms/sobr/overlays/{overlayId}/versions/{versionId}/rollbackCria rollback
✅ Pronto · exemplo real capturado no teste · 129 ms

Resposta 200

{
  "id": "6948a740-e6af-44b9-bb56-f81f4f27904a",
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "content_id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
  "program_id": null,
  "status": "PUBLISHED",
  "definition_payload": {
    "text": "Ao vivo agora",
    "type": "banner",
    "color": "red",
    "position": "top"
  },
  "created_at": "2026-09-01T00:53:56.994Z",
  "updated_at": "2026-09-01T00:53:57.892Z",
  "region": null,
  "scheduled_publish_at": null,
  "scheduled_unpublish_at": null,
  "scheduled_by": null,
  "published_at": null,
  "published_by": null,
  "unscheduled_at": null
}
Em validação (37) — ainda não recomendado fixar contrato
RotaEstadoObservação
GET /api/v1/cms/media-assets/clips/{clipRequestId}🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
GET /api/v1/cms/media-assets/clips/{clipRequestId}/download🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
GET /api/v1/cms/media-assets/embeddings🟣 Em validaçãoHTTP 400 não previsto no spec — esperado: 200, 401
GET /api/v1/cms/media-assets/share-catalog🟣 Em validação
PATCH /api/v1/cms/media-assets/{assetId}🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
POST /api/v1/cms/media-assets/{assetId}/archive🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
POST /api/v1/cms/media-assets/{assetId}/clips🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
PATCH /api/v1/cms/media-assets/{assetId}/embeddings🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
POST /api/v1/cms/media-assets/{assetId}/publish🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
GET /api/v1/cms/media-assets/{assetId}/share-options🟣 Em validaçãoPasso do ciclo de vida: esperado HTTP (200, 404), obtido 400
PUT /api/v1/cms/media-assets/{assetId}/share-policy🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
POST /api/v1/cms/media-assets/{assetId}/share-requests🟣 Em validaçãoPasso do ciclo de vida: esperado HTTP (202, 409), obtido 400
GET /api/v1/cms/media-assets/{assetId}/share-requests/{requestId}🟣 Em validaçãoPasso dependente não executado — 'requestId' indisponível (um passo anterior do ciclo de vida falhou)
POST /api/v1/cms/media-assets/{assetId}/share-requests/{requestId}/approve🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
POST /api/v1/cms/media-assets/{assetId}/share-requests/{requestId}/reject🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
POST /api/v1/cms/media-assets/{assetId}/share-requests/{requestId}/share-unbranded🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
POST /api/v1/cms/media-assets/{assetId}/transcode-dash🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
POST /api/v1/cms/media-assets/{assetId}/unarchive🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
POST /cms/v1/assets/{assetId}/face-index🟣 Em validação
POST /cms/v1/cms/clt/{channelId}/contents/sync🟣 Em validação
POST /cms/v1/cms/clt/{channelId}/search-refresh🟣 Em validação
GET /cms/v1/cms/media-assets/clips/{clipRequestId}🟣 Em validaçãoPasso dependente não executado — 'clipRequestId' indisponível (um passo anterior do ciclo de vida falhou)
GET /cms/v1/cms/media-assets/clips/{clipRequestId}/download🟣 Em validaçãoPasso dependente não executado — 'clipRequestId' indisponível (um passo anterior do ciclo de vida falhou)
GET /cms/v1/cms/media-assets/share-catalog🟣 Em validaçãoPasso do ciclo de vida: esperado HTTP (200,), obtido 400
POST /cms/v1/cms/media-assets/{assetId}/clips🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
DELETE /cms/v1/cms/media-assets/{assetId}/schedule🟣 Em validação
POST /cms/v1/cms/media-assets/{assetId}/share-requests🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
GET /cms/v1/cms/media-assets/{assetId}/share-requests/{requestId}🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
POST /cms/v1/cms/media-assets/{assetId}/share-requests/{requestId}/approve🟣 Em validaçãoPasso dependente não executado — 'requestId' indisponível (um passo anterior do ciclo de vida falhou)
POST /cms/v1/cms/media-assets/{assetId}/share-requests/{requestId}/reject🟣 Em validaçãoPasso dependente não executado — 'requestId2' indisponível (um passo anterior do ciclo de vida falhou)
POST /cms/v1/cms/media-assets/{assetId}/share-requests/{requestId}/share-unbranded🟣 Em validaçãoPasso dependente não executado — 'requestId' indisponível (um passo anterior do ciclo de vida falhou)
POST /cms/v1/cms/media-assets/{assetId}/transcode-dash🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
GET /cms/v1/cms/sobr/overlays/{overlayId}🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
POST /cms/v1/search/visual🟣 Em validação
POST /api/v1/cms/media-assets/🔴 IndisponívelRota não registrada no gateway — 404 do proxy (corpo não-JSON tipo 'page not found'); a requisição não chegou ao serviço
GET /api/v1/cms/media-assets/{assetId}/audit🔴 IndisponívelRota não registrada no gateway — 404 do proxy (corpo não-JSON tipo 'page not found'); a requisição não chegou ao serviço
GET /api/v1/cms/media-assets/{assetId}/share-requests🔴 IndisponívelRota não registrada no gateway — 404 do proxy (corpo não-JSON tipo 'page not found'); a requisição não chegou ao serviço

♿ Acessibilidade (Legendas)0/2 prontos

0 endpoint(s) prontos para integração, com exemplo real de requisição e resposta.

Nenhum endpoint pronto para integração neste momento.

Em validação (2) — ainda não recomendado fixar contrato
RotaEstadoObservação
POST /cms/v1/accessibility/jobs🟣 Em validaçãoHTTP 400 não previsto no spec — esperado: 201
GET /cms/v1/accessibility/jobs/{jobId}🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)

🎯 Recomendações7/7 prontos

7 endpoint(s) prontos para integração, com exemplo real de requisição e resposta.

GET/api/v1/recommendationsLista recommendations
✅ Pronto · exemplo real capturado no teste · 162 ms

Resposta 200

{
  "recommendations": [
    {
      "content_id": "49ada3df-d85b-4dd4-9ffe-65e7f48aeb0b",
      "title": "Descomplicando: ética ep2",
      "type": null,
      "score": 0.4444,
      "reason": "POPULARITY",
      "metadata": {
        "synopsis": "Descomplicando: ética ep2",
        "genres": "",
        "thumbnail": "https://mjekahencpsaumykneag.supabase.co/storage/v1/object/public/Assets-tv/Thumbs/tvjustica_20260605_descomplicando-etica_002.png",
        "publication_date": "2026-07-10",
        "broadcaster_id": "841a41d1-679b-1234-1234-841a41d1679b",
        "category": ""
      }
    },
    {
      "content_id": "7912771d-8c92-4b47-8dec-bc778a66ff83",
      "title": "Mega-Sena sorteia prêmio de R$ 3,5 milhões nesta terça-feira",
      "type": null,
      "score": 0.5,
      "reason": "POPULARITY",
      "metadata": {
        "synopsis": "",
        "genres": "",
        "publication_date": "2026-08-25",
        "broadcaster_id": "c1ee9732-1163-4126-b926-486c2249d942",
        "category": ""
      }
… (resposta completa no Swagger do serviço)
GET/api/v1/recommendations/broadcasters/{broadcasterId}/configLista config
✅ Pronto · exemplo real capturado no teste · 122 ms

Resposta 200

{
  "category_weights": {},
  "target_audience": {},
  "featured_content_ids": [],
  "banned_content_ids": []
}
PUT/api/v1/recommendations/broadcasters/{broadcasterId}/configAtualiza config
✅ Pronto · exemplo real capturado no teste · 123 ms

Resposta 200

{
  "category_weights": {},
  "target_audience": {},
  "featured_content_ids": [],
  "banned_content_ids": []
}
GET/api/v1/recommendations/companionLista companion
✅ Pronto · exemplo real capturado no teste · 125 ms

Resposta 200

{
  "items": [],
  "broadcaster_id": "4b259f89-6b1c-594f-a2db-1064e4cf1981",
  "content_id": null,
  "position_ms": 0,
  "generated_at": "2026-09-01T00:53:03.318Z"
}
POST/api/v1/recommendations/feedbackCria feedback
✅ Pronto · exemplo real capturado no teste · 288 ms

Requisição

{
  "action": "CLICKED",
  "content_id": "0a06cd99-d026-5ba7-99f2-c3a5926fee44"
}

Resposta 201

{
  "accepted": true,
  "received_at": "2026-09-01T00:53:02.766Z"
}
GET/api/v1/recommendations/popular/{emissora_id}Obtém popular
✅ Pronto · exemplo real capturado no teste · 136 ms

Resposta 200

{
  "items": [
    {
      "content_id": "ce0052d8-137a-4b28-8921-98a4b133acca",
      "title": "Updated title",
      "type": "DOCUMENTARY",
      "score": 0.5,
      "reason": "POPULARITY",
      "metadata": {
        "synopsis": "Updated description",
        "genres": "",
        "thumbnail": "https://example.org/thumb.jpg",
        "publication_date": "2026-08-21",
        "broadcaster_id": "550e8400-e29b-41d4-a716-446655440000",
        "type": "DOCUMENTARY",
        "category": "Termo de Teste"
      }
    },
    {
      "content_id": "2e2ae75c-90ca-4f45-9db0-c0bb21a7ad15",
      "title": "Updated title",
      "type": "DOCUMENTARY",
      "score": 0.5,
      "reason": "POPULARITY",
      "metadata": {
        "synopsis": "Updated description",
        "genres": "",
        "thumbnail": "https://example.org/thumb.jpg",
        "publication_date": "2026-08-20",
        "broadcaster_id": "550e8400-e29b-41d4-a716-446655440000",
        "type": "DOCUMENTARY",
        "category": ""
      }
    },
    {
   
… (resposta completa no Swagger do serviço)
GET/api/v1/recommendations/trendingLista trending
✅ Pronto · exemplo real capturado no teste · 149 ms

Resposta 200

{
  "items": [
    {
      "kind": "content",
      "content_id": "49ada3df-d85b-4dd4-9ffe-65e7f48aeb0b",
      "topic": null,
      "title": "Descomplicando: ética ep2",
      "score": 1.0,
      "metadata": {
        "synopsis": "Descomplicando: ética ep2",
        "genres": "",
        "thumbnail": "https://mjekahencpsaumykneag.supabase.co/storage/v1/object/public/Assets-tv/Thumbs/tvjustica_20260605_descomplicando-etica_002.png",
        "publication_date": "2026-07-10",
        "broadcaster_id": "841a41d1-679b-1234-1234-841a41d1679b",
        "category": ""
      }
    },
    {
      "kind": "content",
      "content_id": "7912771d-8c92-4b47-8dec-bc778a66ff83",
      "topic": null,
      "title": "Mega-Sena sorteia prêmio de R$ 3,5 milhões nesta terça-feira",
      "score": 0.5,
      "metadata": {
        "synopsis": "",
        "genres": "",
        "publication_date": "2026-08-25",
        "broadcaster_id": "c1ee9732-1163-4126-b926-486c2249d942",
        "category": ""
      }
    },
    {
      "
… (resposta completa no Swagger do serviço)

📈 Analytics & Métricas12/17 prontos

12 endpoint(s) prontos para integração, com exemplo real de requisição e resposta.

GET/api/v1/analytics/audit/logsLista logs
✅ Pronto · exemplo real capturado no teste · 135 ms

Resposta 200

{
  "data": [
    {
      "log_id": "c1413e39-0728-486a-bc02-4f8690c4ce9f",
      "service": "analytics-service",
      "actor_id": "7be63895-3845-555e-837e-0b72b6a5cedd",
      "action_type": "CONSENT_REGISTERED",
      "resource_type": "consent_record",
      "resource_id": "07025a41-e04e-4c9d-89ef-2ec176ca3480",
      "previous_state": null,
      "new_state": {
        "purpose": "AUDIENCE_METRICS",
        "status": "GRANTED",
        "data_categories": [
          "usage_patterns"
        ],
        "retention_days": 1
      },
      "ip_anonymized": null,
      "occurred_at": "2026-09-01T00:53:08.127000"
    },
    {
      "log_id": "78b28e48-2f3a-4755-978e-20b2d9381c07",
      "service": "analytics-service",
      "actor_id": "235ce8e0-c2b4-494c-b0e8-cff360991dfb",
      "action_type": "CONSENT_REGISTERED",
      "resource_type": "consent_record",
      "resource_id": "890539a6-daec-4364-b8ac-96de2bde4b65",
      "previous_state": null,
      "new_state": {
        "purpose": "AUDIENCE_METRICS",
     
… (resposta completa no Swagger do serviço)
GET/api/v1/analytics/campaignsLista campaigns
✅ Pronto · exemplo real capturado no teste · 122 ms

Resposta 200

{
  "data": [
    {
      "campaign_id": "eaf75549-18cd-4167-b59f-b89eefe2533a",
      "name": "teste-victor-0208",
      "description": "",
      "campaign_type": "AUDIENCE",
      "status": "DRAFT",
      "target_metrics": {},
      "segmentation": {},
      "date_from": "2026-08-01T00:00:00Z",
      "date_to": "2026-08-31T00:00:00Z",
      "emissora_id": null,
      "created_at": "2026-08-02T20:25:52.502000Z",
      "updated_at": null
    },
    {
      "campaign_id": "8f31e953-2daf-4052-8f2f-f410eca34465",
      "name": "baliza-0803-editada",
      "description": "",
      "campaign_type": "AUDIENCE",
      "status": "DRAFT",
      "target_metrics": {},
      "segmentation": {},
      "date_from": "2026-08-01T00:00:00Z",
      "date_to": "2026-08-31T00:00:00Z",
      "emissora_id": null,
      "created_at": "2026-08-03T21:50:12.244000Z",
      "updated_at": "2026-08-03T21:50:12.876000Z"
    },
    {
      "campaign_id": "3b547856-1b3f-45af-9579-e9e2373552d1",
      "name": "probe-etapa0",
      "descripti
… (resposta completa no Swagger do serviço)
GET/api/v1/analytics/campaigns/{campaign_id}Obtém campaigns
✅ Pronto · exemplo real capturado no teste · 117 ms

Resposta 200

{
  "campaign_id": "eaf75549-18cd-4167-b59f-b89eefe2533a",
  "name": "teste-victor-0208",
  "description": "",
  "campaign_type": "AUDIENCE",
  "status": "DRAFT",
  "target_metrics": {},
  "segmentation": {},
  "date_from": "2026-08-01T00:00:00Z",
  "date_to": "2026-08-31T00:00:00Z",
  "emissora_id": null,
  "created_at": "2026-08-02T20:25:52.502000Z",
  "updated_at": null
}
GET/api/v1/analytics/campaigns/{campaign_id}/metricsLista metrics
✅ Pronto · exemplo real capturado no teste · 159 ms

Resposta 200

{
  "campaign_id": "eaf75549-18cd-4167-b59f-b89eefe2533a",
  "granularity": "day",
  "date_from": "2026-08-01T00:00:00Z",
  "date_to": "2026-08-31T00:00:00Z",
  "series": [
    {
      "name": "campaign_events",
      "points": [
        {
          "timestamp": "2026-08-01T00:00:00Z",
          "value": 0.0
        },
        {
          "timestamp": "2026-08-02T00:00:00Z",
          "value": 0.0
        },
        {
          "timestamp": "2026-08-03T00:00:00Z",
          "value": 0.0
        },
        {
          "timestamp": "2026-08-04T00:00:00Z",
          "value": 0.0
        },
        {
          "timestamp": "2026-08-05T00:00:00Z",
          "value": 0.0
        },
        {
          "timestamp": "2026-08-06T00:00:00Z",
          "value": 0.0
        },
        {
          "timestamp": "2026-08-07T00:00:00Z",
          "value": 0.0
        },
        {
          "timestamp": "2026-08-08T00:00:00Z",
          "value": 0.0
        },
        {
          "timestamp": "2026-08-09T00:00:00Z",
         
… (resposta completa no Swagger do serviço)
GET/api/v1/analytics/campaigns/{campaign_id}/social-impactLista social impact
✅ Pronto · exemplo real capturado no teste · 132 ms

Resposta 200

{
  "campaign_id": "eaf75549-18cd-4167-b59f-b89eefe2533a",
  "estimated_reach": 0,
  "events_total": 0,
  "participation_total": 0,
  "engagement_rate": 0.0,
  "generated_at": "2026-09-01T00:53:10.343163Z"
}
POST/api/v1/analytics/consentCria consent
✅ Pronto · exemplo real capturado no teste · 305 ms

Requisição

{
  "retention_days": 1,
  "status": "GRANTED",
  "user_id": "7be63895-3845-555e-837e-0b72b6a5cedd",
  "data_categories": [
    "usage_patterns"
  ],
  "purpose": "AUDIENCE_METRICS"
}

Resposta 201

{
  "message": "Consentimento registrado com sucesso",
  "user_id": "7be63895-3845-555e-837e-0b72b6a5cedd",
  "consent_id": "07025a41-e04e-4c9d-89ef-2ec176ca3480"
}
DELETE/api/v1/analytics/consent/{user_id}Remove consent
✅ Pronto · exemplo real capturado no teste · 125 ms
GET/api/v1/analytics/consent/{user_id}Obtém consent
✅ Pronto · exemplo real capturado no teste · 123 ms

Resposta 200

{
  "user_id": "7be63895-3845-555e-837e-0b72b6a5cedd",
  "consents": [
    {
      "purpose": "AUDIENCE_METRICS",
      "status": "GRANTED",
      "granted_at": "2026-08-19T06:16:58.982000",
      "retention_days": 1
    }
  ]
}
GET/api/v1/analytics/dashboardsLista dashboards
✅ Pronto · exemplo real capturado no teste · 156 ms

Resposta 200

{
  "data": [
    {
      "id": "audience_overview",
      "name": "Audience Overview",
      "description": "Total event volume and breakdown by event type.",
      "scope": "system",
      "is_builtin": true
    },
    {
      "id": "engagement_by_service",
      "name": "Engagement by Service",
      "description": "Event volume per originating microservice.",
      "scope": "system",
      "is_builtin": true
    },
    {
      "id": "participation_trends",
      "name": "Participation Trends",
      "description": "Citizen participation events (polls, chat, questions) over time.",
      "scope": "system",
      "is_builtin": true
    },
    {
      "id": "65e234a8-e6c5-48ac-8eca-8eb0ed2c4645",
      "name": "Painel editado",
      "description": "",
      "scope": "broadcaster",
      "is_builtin": false
    },
    {
      "id": "fa1e4692-39ed-4292-9cb9-9fa5faee37b8",
      "name": "Audiencia por emissora",
      "description": "Volume de eventos da emissora na janela selecionada",
      "scope": "broadca
… (resposta completa no Swagger do serviço)
GET/api/v1/analytics/dashboards/{dashboard_id}Obtém dashboards
✅ Pronto · exemplo real capturado no teste · 119 ms

Resposta 200

{
  "id": "audience_overview",
  "name": "Audience Overview",
  "description": "Total event volume and breakdown by event type.",
  "scope": "system",
  "is_builtin": true,
  "owner_id": null,
  "widgets": [],
  "created_at": null,
  "updated_at": null
}
GET/api/v1/analytics/dashboards/{dashboard_id}/dataLista data
✅ Pronto · exemplo real capturado no teste · 337 ms

Resposta 200

{
  "dashboard_id": "audience_overview",
  "period": "24h",
  "granularity": "1h",
  "generated_at": "2026-09-01T00:53:09.708154Z",
  "date_from": null,
  "date_to": null,
  "series": [
    {
      "name": "events_total",
      "points": [
        {
          "timestamp": "2026-08-31T00:53:09.708154Z",
          "value": 0.0
        },
        {
          "timestamp": "2026-08-31T01:53:09.708154Z",
          "value": 0.0
        },
        {
          "timestamp": "2026-08-31T02:53:09.708154Z",
          "value": 0.0
        },
        {
          "timestamp": "2026-08-31T03:53:09.708154Z",
          "value": 0.0
        },
        {
          "timestamp": "2026-08-31T04:53:09.708154Z",
          "value": 0.0
        },
        {
          "timestamp": "2026-08-31T05:53:09.708154Z",
          "value": 0.0
        },
        {
          "timestamp": "2026-08-31T06:53:09.708154Z",
          "value": 0.0
        },
        {
          "timestamp": "2026-08-31T07:53:09.708154Z",
          "value": 0.0
        },
… (resposta completa no Swagger do serviço)
POST/api/v1/analytics/eventsCria events
✅ Pronto · exemplo real capturado no teste · 130 ms

Requisição

{
  "events": [
    {
      "event_type": "content.viewed",
      "source_service": "qa-agent-source_service",
      "payload": {}
    }
  ]
}

Resposta 202

{
  "accepted": 1,
  "rejected": 0,
  "received_at": "2026-09-01T00:53:08.259886Z",
  "results": [
    {
      "index": 0,
      "status": "ACCEPTED",
      "event_id": "a4311697-19ce-4ed4-b95f-aeab1bfcd016",
      "ingested_at": "2026-09-01T00:53:08.258662Z",
      "error": null,
      "description": null
    }
  ]
}
Em validação (5) — ainda não recomendado fixar contrato
RotaEstadoObservação
POST /api/v1/analytics/campaigns🟣 Em validação
PUT /api/v1/analytics/campaigns/{campaign_id}🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
POST /api/v1/analytics/dashboards🟣 Em validação
PUT /api/v1/analytics/dashboards/{dashboard_id}🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
POST /api/v1/analytics/queries🟣 Em validação

👤 Usuários & Permissões16/20 prontos

16 endpoint(s) prontos para integração, com exemplo real de requisição e resposta.

GET/api/v1/consents/catalogLista catalog
✅ Pronto · exemplo real capturado no teste · 139 ms

Resposta 200

{
  "items": [
    {
      "consent_type": "CORE_PLATFORM_TERMS",
      "description": "Permite o tratamento de dados essenciais da sua conta gov.br para a criação do seu perfil na TV 3.0 e gerenciamento seguro da sua sessão.",
      "is_required": true,
      "legal_text": "Ao aceitar este termo, o usuário concorda com o processamento dos seus dados cadastrais básicos fornecidos pelo provedor de identidade (gov.br), necessários exclusivamente para autenticação, controle de acesso multiplataforma e segurança da Plataforma Unificada da TV 3.0. Estes dados não serão comercializados e são retidos apenas enquanto a conta permanecer ativa, conforme a Lei Geral de Proteção de Dados (Lei nº 13.709/2018).",
      "title": "Termos de Uso e Privacidade da Plataforma",
      "version": "v1.0"
    },
    {
      "consent_type": "marketing",
      "description": "Comunicações promocionais",
      "is_required": false,
      "legal_text": "Texto legal pendente de redação.",
      "title": "Marketing",
  
… (resposta completa no Swagger do serviço)
GET/api/v1/usersLista users
✅ Pronto · exemplo real capturado no teste · 153 ms

Resposta 200

[
  {
    "cpf": "39763958032",
    "criado_em": "Thu, 27 Aug 2026 19:09:06 GMT",
    "email": "rafael.camargo+produtor.camara@eitv.com.br",
    "id": "dd9a1c50-7fdc-49f9-af63-510090c767dc",
    "interest_region": null,
    "nome_completo": "Cidadão",
    "ultimo_acesso": "Thu, 27 Aug 2026 19:24:27 GMT"
  },
  {
    "cpf": "21864858001",
    "criado_em": "Thu, 27 Aug 2026 14:11:38 GMT",
    "email": "rafael.camargo+gestor.camara@eitv.com.br",
    "id": "cb5df940-13d5-4fb4-8051-29115083e54f",
    "interest_region": null,
    "nome_completo": "Cidadão",
    "ultimo_acesso": "Mon, 31 Aug 2026 18:40:20 GMT"
  },
  {
    "cpf": "00000000031",
    "criado_em": "Thu, 27 Aug 2026 13:00:00 GMT",
    "email": "fagner@maisbr.gov.br",
    "id": "f45bf80f-6d0e-450a-b93f-b2265b14b88d",
    "interest_region": null,
    "nome_completo": "Raimundo  Fagner",
    "ultimo_acesso": "Mon, 31 Aug 2026 01:18:32 GMT"
  },
  {
    "cpf": "73757352041",
    "criado_em": "Thu, 27 Aug 2026 12:47:30 GMT",
    "email": "rafael.camargo+ge
… (resposta completa no Swagger do serviço)
GET/api/v1/users/meLista me
✅ Pronto · exemplo real capturado no teste · 143 ms

Resposta 200

{
  "cpf": "00000000021",
  "email": null,
  "full_name": "Paulo Leminski",
  "interest_region": null,
  "preferences": {
    "dark_mode": true
  },
  "preferred_language": "pt-BR"
}
PUT/api/v1/users/meAtualiza me
✅ Pronto · exemplo real capturado no teste · 145 ms

Requisição

{
  "nome": "Maria da Silva",
  "regiao_interesse": "Sudeste",
  "user_key": "12345678901",
  "email": "maria@exemplo.com"
}

Resposta 200

{
  "cpf": "12345678901",
  "criado_em": "Sat, 08 Aug 2026 10:30:13 GMT",
  "email": "maria@exemplo.com",
  "id": "391dc6e7-d40c-4aa0-a147-dd3d46e1899f",
  "interest_region": "Sudeste",
  "nome_completo": "Maria da Silva",
  "ultimo_acesso": null
}
GET/api/v1/users/me/consentsLista consents
✅ Pronto · exemplo real capturado no teste · 164 ms

Resposta 200

{
  "consents": [
    {
      "consent_type": "qa-agent-consent_type",
      "is_granted": true,
      "registered_at": "2026-08-27T16:25:44.649168+00:00",
      "version": "v1"
    }
  ],
  "cpf": "00000000021"
}
POST/api/v1/users/me/consentsCria consents
✅ Pronto · exemplo real capturado no teste · 180 ms

Resposta 200

{
  "consents": [
    {
      "consent_type": "qa-agent-consent_type",
      "is_granted": true,
      "registered_at": "2026-08-27T16:25:44.649168+00:00",
      "version": "v1"
    }
  ],
  "cpf": "00000000021"
}
PATCH/api/v1/users/me/consents/{consent_type}Atualiza consents
✅ Pronto · exemplo real capturado no teste · 183 ms

Requisição

{
  "is_granted": true,
  "version": "v1"
}

Resposta 200

{
  "consents": [
    {
      "consent_type": "qa-agent-consent_type",
      "is_granted": true,
      "registered_at": "2026-09-01T00:53:13.718377+00:00",
      "version": "v1"
    }
  ],
  "cpf": "00000000021"
}
GET/api/v1/users/me/data-auditLista data audit
✅ Pronto · exemplo real capturado no teste · 173 ms

Resposta 200

{
  "cpf": "00000000021",
  "events": [
    {
      "details": {
        "processed_at": null,
        "request_type": "EXPORT",
        "status": "QUEUED"
      },
      "event_type": "data_export_requested",
      "occurred_at": "2026-09-01T00:53:11.970732+00:00"
    },
    {
      "details": {
        "processed_at": null,
        "request_type": "DELETION",
        "status": "QUEUED"
      },
      "event_type": "data_deletion_requested",
      "occurred_at": "2026-09-01T00:53:11.805703+00:00"
    },
    {
      "details": {
        "processed_at": null,
        "request_type": "EXPORT",
        "status": "QUEUED"
      },
      "event_type": "data_export_requested",
      "occurred_at": "2026-08-29T18:21:45.348923+00:00"
    },
    {
      "details": {
        "processed_at": null,
        "request_type": "EXPORT",
        "status": "QUEUED"
      },
      "event_type": "data_export_requested",
      "occurred_at": "2026-08-29T15:31:09.974451+00:00"
    },
    {
      "details": {
        "processed_at":
… (resposta completa no Swagger do serviço)
POST/api/v1/users/me/data-deletionCria data deletion
✅ Pronto · exemplo real capturado no teste · 173 ms

Resposta 202

{
  "cpf": "00000000021",
  "message": "Exclusão de dados solicitada com sucesso",
  "status": "queued"
}
POST/api/v1/users/me/data-exportCria data export
✅ Pronto · exemplo real capturado no teste · 166 ms

Resposta 202

{
  "cpf": "00000000021",
  "message": "Exportação de dados solicitada com sucesso",
  "status": "queued"
}
GET/api/v1/users/me/invitationsLista invitations
✅ Pronto · exemplo real capturado no teste · 172 ms

Resposta 200

[]
PATCH/api/v1/users/me/preferencesAtualiza preferences
✅ Pronto · exemplo real capturado no teste · 161 ms

Requisição

{
  "preferences": {
    "dark_mode": true
  },
  "preferred_language": "pt-BR"
}

Resposta 200

{
  "cpf": "00000000021",
  "preferences": {
    "dark_mode": true
  },
  "preferred_language": "pt-BR"
}
GET/api/v1/users/{user_id}Obtém users
✅ Pronto · exemplo real capturado no teste · 139 ms

Resposta 200

{
  "cpf": "12345678901",
  "criado_em": "Sat, 08 Aug 2026 10:30:13 GMT",
  "email": "maria@example.com",
  "id": "391dc6e7-d40c-4aa0-a147-dd3d46e1899f",
  "interest_region": "Sudeste",
  "nome_completo": "Maria da Silva",
  "ultimo_acesso": null
}
PATCH/api/v1/users/{user_id}Atualiza users
✅ Pronto · exemplo real capturado no teste · 143 ms

Requisição

{
  "nome_completo": "Maria da Silva",
  "regiao_interesse": "Sudeste",
  "email": "maria@example.com"
}

Resposta 200

{
  "cpf": "12345678901",
  "criado_em": "Sat, 08 Aug 2026 10:30:13 GMT",
  "email": "maria@example.com",
  "id": "391dc6e7-d40c-4aa0-a147-dd3d46e1899f",
  "interest_region": "Sudeste",
  "nome_completo": "Maria da Silva",
  "ultimo_acesso": null
}
POST/api/v1/users/{user_id}/deactivateCria deactivate
✅ Pronto · exemplo real capturado no teste · 139 ms

Resposta 200

{
  "message": "Usuário desativado",
  "user_id": "391dc6e7-d40c-4aa0-a147-dd3d46e1899f"
}
GET/api/v1/users/{user_id}/rolesLista roles
✅ Pronto · exemplo real capturado no teste · 146 ms

Resposta 200

[
  {
    "app_name": "Plataforma (global)",
    "application_id": "plataforma",
    "roles": [
      {
        "description": "Papel padrão global de cidadão",
        "name": "cidadao_global",
        "role_id": "aa6ad972-4619-4ee8-9a9f-a190e2b7ef76"
      }
    ]
  }
]
Em validação (4) — ainda não recomendado fixar contrato
RotaEstadoObservação
POST /api/v1/users🟣 Em validação
POST /api/v1/users/me/invitations/{invitation_id}/accept🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
POST /api/v1/users/me/invitations/{invitation_id}/decline🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
POST /api/v1/users/{user_id}/roles🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)

🔐 Autenticação & Sessões (gov.br)8/15 prontos

8 endpoint(s) prontos para integração, com exemplo real de requisição e resposta.

GET/auth/v1/.well-known/jwks.jsonLista jwks.json
✅ Pronto · exemplo real capturado no teste · 121 ms

Resposta 200

{
  "keys": [
    {
      "alg": "RS256",
      "e": "AQAB",
      "kid": "local-rsa-1",
      "kty": "RSA",
      "n": "zE-KAvYJD1SdMhYCzZ03K8PbyOMn3Jg1_hWa8XdQE71Gr70mi2NmUFFgdcOvTX7IqNzQcPPOdT2y8DozYjzlESpcFlUs-e7z5C_EzuqXIXSQutoiOwhZrC_5bSR8C0xWY__ihRE2unbVl-cobtbWg5lCXZV0fDf4iLpf7aM60C7Q2w4HhV868X541L9FdHBPrTVf0zdRoR3Sbu-ZX1h-bfo5nJgExZqMHUWFajtFLgvK9eI1Ugkx0pGF5iqkiscYAWhyeVbCsxQepHk2CKahjSon2o5kqs3VKFGtoaYuMln-wPo18KZ1tKY4gw6ddgRHQcv8v-SOSnxvoddmqBoc-w",
      "use": "sig"
    }
  ]
}
GET/auth/v1/.well-known/openid-configurationLista openid configuration
✅ Pronto · exemplo real capturado no teste · 118 ms

Resposta 200

{
  "authorization_endpoint": "https://staging.tv3.dev/auth/v1/govbr/authorize",
  "id_token_signing_alg_values_supported": [
    "RS256",
    "HS256"
  ],
  "issuer": "api.tv3.br",
  "jwks_uri": "https://staging.tv3.dev/auth/v1/.well-known/jwks.json",
  "response_types_supported": [
    "code"
  ],
  "subject_types_supported": [
    "public"
  ],
  "token_endpoint": "https://staging.tv3.dev/auth/v1/token",
  "token_endpoint_auth_methods_supported": [
    "client_secret_post"
  ],
  "userinfo_endpoint": "https://staging.tv3.dev/auth/v1/me"
}
POST/auth/v1/logoutCria logout
✅ Pronto · exemplo real capturado no teste · 274 ms

Resposta 200

{
  "keycloak_logout": "skipped",
  "message": "Sessão encerrada"
}
GET/auth/v1/meLista me
✅ Pronto · exemplo real capturado no teste · 119 ms

Resposta 200

{
  "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
  "broadcaster_role": "ADMIN",
  "cpf": "00000000021",
  "email": "",
  "name": "Paulo Leminski",
  "platform_roles": [
    "CIDADAO_GLOBAL"
  ],
  "roles": [
    "ADMIN",
    "CIDADAO_GLOBAL"
  ]
}
POST/auth/v1/sessions/validateCria validate
✅ Pronto · exemplo real capturado no teste · 121 ms

Resposta 200

{
  "active": false,
  "reason": "revoked"
}
POST/auth/v1/start-pairingCria start pairing
✅ Pronto · exemplo real capturado no teste · 121 ms

Requisição

{
  "provider": "internal"
}

Resposta 201

{
  "expires_in": 600,
  "interval": 3,
  "pairing_code": "br.gov.tv3.06d8752a",
  "provider": "internal",
  "verification_url": "https://staging.tv3.dev/login?code=br.gov.tv3.06d8752a"
}
POST/auth/v1/token/anonymousCria anonymous
✅ Pronto · exemplo real capturado no teste · 227 ms

Requisição

{
  "app_id": "br.gov.tv3.app"
}

Resposta 200

{
  "access_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6ImxvY2FsLXJzYS0xIiwidHlwIjoiSldUIn0.eyJzdWIiOiIiLCJ1dWlkIjpudWxsLCJicm9hZGNhc3Rlcl9pZCI6bnVsbCwiYnJvYWRjYXN0ZXJfcm9sZSI6bnVsbCwibmFtZSI6ImFub255bW91cyIsImtleSI6InR2My1nbG9iYWwtYXV0aCIsImFwcF9pZCI6ImJyLmdvdi50djMuYXBwIiwicm9sZXMiOlsiUFVCTElDIl0sInBsYXRmb3JtX3JvbGVzIjpbXSwicHJvdmlkZXIiOiJpbnRlcm5hbCIsInJvbGVzX25ldyI6WyJQTEFUQUZPUk1BOlBVQkxJQyJdLCJpYXQiOjE3ODgyMjM5OTUsImV4cCI6MTc4ODIyNTc5NSwiaXNzIjoiYXBpLnR2My5iciJ9.x1nB-2uHhO9HtoWp6nVO1inC5VmsFrS87VU-Vhy93G09ef4kpCPlnDdEl1y7fdEKnWtz7xj9Bic5BOrGEBHE7dSX8ZYPjwnvu73rzk-YZ80tTaPT0ur9GiKFgJj9acHXCfh41Hlbu_yi9TnW6E1GZ26Z0f2ANvt_8mn8_pIhiS2IbG0FnGTC2HOli5-CodU-bEC4IMdbiL0B1GU5JLcsIOaV86oy5eYHBBb52Q8LBPNqiXmEmhc6w1AEDViWR0yUXVBQ4kQno5ZNrUWG7shIgi2Q9u8svEm_NsV0iSPSXAjmH4QJkF-jhKFhwwhJjn_hZ-HOq4eL-foI7J6-n75zFQ",
  "expires_in": 1800,
  "token_type": "Bearer"
}
POST/auth/v1/token/revokeCria revoke
✅ Pronto · exemplo real capturado no teste · 123 ms

Resposta 200

{
  "keycloak_revocation": "skipped",
  "message": "Sessões revogadas"
}
Em validação (7) — ainda não recomendado fixar contrato
RotaEstadoObservação
GET /auth/v1/crossdevice_callback🟣 Em validação
GET /auth/v1/govbr/authorize🟣 Em validação
GET /auth/v1/login🟣 Em validação
GET /auth/v1/mobile_callback🟣 Em validação
GET /auth/v1/status/{pairing_code}🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
POST /auth/v1/token🟣 Em validação
POST /auth/v1/token/refresh🟣 Em validação

🛠️ Administração (Aplicações & Papéis)7/9 prontos

7 endpoint(s) prontos para integração, com exemplo real de requisição e resposta.

GET/auth/v1/admin/applicationsLista applications
✅ Pronto · exemplo real capturado no teste · 142 ms

Resposta 200

[
  {
    "app_id": "qa-agent-debug2-c42a9bb7",
    "app_name": "Aplicação Atualizada",
    "created_at": "Wed, 26 Aug 2026 12:57:14 GMT",
    "description": "Nova descrição",
    "id": 49
  },
  {
    "app_id": "qa-agent-debug-c028dcfd",
    "app_name": "debug",
    "created_at": "Wed, 26 Aug 2026 12:56:42 GMT",
    "description": null,
    "id": 48
  },
  {
    "app_id": "br.gov.qa.agent686095",
    "app_name": "qa-agent-App 686095",
    "created_at": "Wed, 26 Aug 2026 04:07:41 GMT",
    "description": "qa-agent-aplicação de sonda",
    "id": 41
  },
  {
    "app_id": "br.gov.app",
    "app_name": "Aplicação Atualizada",
    "created_at": "Sat, 08 Aug 2026 10:59:11 GMT",
    "description": "Nova descrição",
    "id": 5
  },
  {
    "app_id": "br.gov.meusus.tv",
    "app_name": "Meu SUS — TV",
    "created_at": "Fri, 07 Aug 2026 23:53:03 GMT",
    "description": "Meu SUS TV application",
    "id": 2
  },
  {
    "app_id": "br.gov.tv3.app",
    "app_name": "Aplicação Atualizada",
    "created_at
… (resposta completa no Swagger do serviço)
GET/auth/v1/admin/applications/{app_id_param}Obtém applications
✅ Pronto · exemplo real capturado no teste · 138 ms

Resposta 200

{
  "app_id": "qa-agent-debug2-c42a9bb7",
  "app_name": "Aplicação Atualizada",
  "created_at": "Wed, 26 Aug 2026 12:57:14 GMT",
  "description": "Nova descrição",
  "id": 49
}
PUT/auth/v1/admin/applications/{app_id_param}Atualiza applications
✅ Pronto · exemplo real capturado no teste · 138 ms

Requisição

{
  "app_name": "Aplicação Atualizada",
  "description": "Nova descrição"
}

Resposta 200

{
  "app_id": "qa-agent-debug2-c42a9bb7",
  "app_name": "Aplicação Atualizada",
  "created_at": "Wed, 26 Aug 2026 12:57:14 GMT",
  "description": "Nova descrição",
  "id": 49
}
GET/auth/v1/admin/rolesLista roles
✅ Pronto · exemplo real capturado no teste · 141 ms

Resposta 200

[
  {
    "application_id": "br.gov.meusus.tv",
    "application_int_id": 2,
    "description": "Acesso de edição",
    "id": "8efdc39e-70d7-4d35-a11d-1f01ce833f9f",
    "is_default": true,
    "name": "editor"
  },
  {
    "application_id": "br.gov.tv3.app",
    "application_int_id": 1,
    "description": "Administrador (usuário de teste)",
    "id": "d7d22966-5205-4e6e-8dc8-902f1b427c13",
    "is_default": false,
    "name": "admin"
  },
  {
    "application_id": "br.gov.tv3.app",
    "application_int_id": 1,
    "description": "Analista de dados (usuário de teste)",
    "id": "5fc8f024-9a34-466b-8d51-ecd6732310d9",
    "is_default": false,
    "name": "analista.dados"
  },
  {
    "application_id": "br.gov.tv3.app",
    "application_int_id": 1,
    "description": "Auditor (usuário de teste)",
    "id": "08dadae1-1608-4a4e-a295-010c42925d29",
    "is_default": false,
    "name": "auditor"
  },
  {
    "application_id": "br.gov.tv3.app",
    "application_int_id": 1,
    "description": "Papel padrão de 
… (resposta completa no Swagger do serviço)
POST/auth/v1/admin/rolesCria roles
✅ Pronto · exemplo real capturado no teste · 152 ms

Requisição

{
  "application_id": "br.gov.tv3.app",
  "name": "leitor",
  "is_default": false,
  "description": "Acesso de leitura",
  "application_int_id": 1
}

Resposta 201

{
  "application_id": "br.gov.tv3.app",
  "application_int_id": 1,
  "description": "Acesso de leitura",
  "id": "d58e18d0-490f-4a8c-80e2-6c376466bb40",
  "is_default": false,
  "name": "leitor"
}
DELETE/auth/v1/admin/roles/{role_id}Remove roles
✅ Pronto · exemplo real capturado no teste · 156 ms

Resposta 200

{
  "message": "Papel deletado com sucesso"
}
GET/auth/v1/admin/roles/{role_id}Obtém roles
✅ Pronto · exemplo real capturado no teste · 135 ms

Resposta 200

{
  "application_id": "br.gov.tv3.app",
  "application_int_id": 1,
  "description": "Acesso de leitura",
  "id": "d58e18d0-490f-4a8c-80e2-6c376466bb40",
  "is_default": false,
  "name": "leitor"
}
Em validação (2) — ainda não recomendado fixar contrato
RotaEstadoObservação
POST /auth/v1/admin/applications🟣 Em validação
PUT /auth/v1/admin/roles/{role_id}🟣 Em validaçãoErro interno do servidor (HTTP 500)

📡 Emissoras & Membros8/13 prontos

8 endpoint(s) prontos para integração, com exemplo real de requisição e resposta.

GET/api/v1/broadcastersLista broadcasters
✅ Pronto · exemplo real capturado no teste · 152 ms

Resposta 200

[
  {
    "created_at": "2026-08-27T00:17:13.353637+00:00",
    "id": "589a1e62-e67d-4c62-869c-fcc0040e3396",
    "is_active": false,
    "name": "Emissora QA Agent Convites",
    "network_type": "FEDERAL",
    "region_code": null,
    "settings": {},
    "slug": "qa-agent-invite-d9477056",
    "updated_at": "2026-08-27T00:17:14.410932+00:00"
  },
  {
    "created_at": "2026-08-27T00:25:49.150113+00:00",
    "id": "f0294512-3de4-41d2-8319-f689df319bdb",
    "is_active": false,
    "name": "Emissora QA Agent Membros",
    "network_type": "FEDERAL",
    "region_code": null,
    "settings": {},
    "slug": "qa-agent-members-0f4ad5fd",
    "updated_at": "2026-08-27T00:25:51.616074+00:00"
  },
  {
    "created_at": "2026-08-26T13:14:21.310043+00:00",
    "id": "f02fdba8-0c12-4f91-9506-237faa74c05d",
    "is_active": false,
    "name": "Emissora QA Agent Membros",
    "network_type": "FEDERAL",
    "region_code": null,
    "settings": {},
    "slug": "qa-agent-members-b74bf261",
    "updated_at": "2026-08-26T13:14:
… (resposta completa no Swagger do serviço)
GET/api/v1/broadcasters/{broadcaster_id}Obtém broadcasters
✅ Pronto · exemplo real capturado no teste · 142 ms

Resposta 200

{
  "created_at": "2026-08-27T00:17:13.353637+00:00",
  "id": "589a1e62-e67d-4c62-869c-fcc0040e3396",
  "is_active": false,
  "name": "Emissora QA Agent Convites",
  "network_type": "FEDERAL",
  "region_code": null,
  "settings": {},
  "slug": "qa-agent-invite-d9477056",
  "updated_at": "2026-08-27T00:17:14.410932+00:00"
}
PATCH/api/v1/broadcasters/{broadcaster_id}Atualiza broadcasters
✅ Pronto · exemplo real capturado no teste · 142 ms

Requisição

{
  "region_code": "35",
  "name": "TV Câmara"
}

Resposta 200

{
  "created_at": "2026-08-27T00:17:13.353637+00:00",
  "id": "589a1e62-e67d-4c62-869c-fcc0040e3396",
  "is_active": false,
  "name": "TV Câmara",
  "network_type": "FEDERAL",
  "region_code": "35",
  "settings": {},
  "slug": "qa-agent-invite-d9477056",
  "updated_at": "2026-09-01T00:53:21.393700+00:00"
}
POST/api/v1/broadcasters/{broadcaster_id}/activateCria activate
✅ Pronto · exemplo real capturado no teste · 142 ms

Resposta 200

{
  "created_at": "2026-08-27T00:17:13.353637+00:00",
  "id": "589a1e62-e67d-4c62-869c-fcc0040e3396",
  "is_active": true,
  "name": "TV Câmara",
  "network_type": "FEDERAL",
  "region_code": "35",
  "sessoes_revogadas": 0,
  "settings": {},
  "slug": "qa-agent-invite-d9477056",
  "updated_at": "2026-09-01T00:53:21.915887+00:00"
}
GET/api/v1/broadcasters/{broadcaster_id}/invitationsLista invitations
✅ Pronto · exemplo real capturado no teste · 147 ms

Resposta 200

[
  {
    "accepted_at": null,
    "broadcaster_id": "589a1e62-e67d-4c62-869c-fcc0040e3396",
    "cpf": "00000000004",
    "created_at": "2026-08-27T00:17:13.789630+00:00",
    "email": null,
    "expirado": false,
    "expires_at": "2026-09-03T00:17:13.780528+00:00",
    "id": "5f31d434-b606-488d-897b-201837362689",
    "invited_by": "76956ef1-2eb6-4960-8184-d235f2aed6e8",
    "role_id": "d7d22966-5205-4e6e-8dc8-902f1b427c13",
    "role_name": "admin",
    "status": "PENDING"
  }
]
GET/api/v1/broadcasters/{broadcaster_id}/membersLista members
✅ Pronto · exemplo real capturado no teste · 144 ms

Resposta 200

[]
GET/api/v1/broadcasters/{broadcaster_id}/rolesLista roles
✅ Pronto · exemplo real capturado no teste · 145 ms

Resposta 200

[
  {
    "description": "Administrador (usuário de teste)",
    "id": "d7d22966-5205-4e6e-8dc8-902f1b427c13",
    "name": "admin"
  },
  {
    "description": "Analista de dados (usuário de teste)",
    "id": "5fc8f024-9a34-466b-8d51-ecd6732310d9",
    "name": "analista.dados"
  },
  {
    "description": "Auditor (usuário de teste)",
    "id": "08dadae1-1608-4a4e-a295-010c42925d29",
    "name": "auditor"
  },
  {
    "description": "Papel padrão de cidadão",
    "id": "5f35f9c6-7e19-402f-888e-431df635b866",
    "name": "cidadao"
  },
  {
    "description": "Cura a grade",
    "id": "7f911445-c95b-4f67-9014-a0d429e9868b",
    "name": "curador"
  },
  {
    "description": "Gestor de conteúdo (usuário de teste)",
    "id": "0535bc9e-beb9-4ec4-915f-7065807ef0d5",
    "name": "gestor.conteudo"
  },
  {
    "description": "Moderador (usuário de teste)",
    "id": "af1cf0e0-a176-4dfa-a06d-80dfb12a4acc",
    "name": "moderador"
  },
  {
    "description": "Produtor de conteúdo (usuário de teste)",
    "id":
… (resposta completa no Swagger do serviço)
POST/api/v1/broadcasters/{broadcaster_id}/suspendCria suspend
✅ Pronto · exemplo real capturado no teste · 149 ms

Resposta 200

{
  "created_at": "2026-08-27T00:17:13.353637+00:00",
  "id": "589a1e62-e67d-4c62-869c-fcc0040e3396",
  "is_active": false,
  "name": "TV Câmara",
  "network_type": "FEDERAL",
  "region_code": "35",
  "sessoes_revogadas": 0,
  "settings": {},
  "slug": "qa-agent-invite-d9477056",
  "updated_at": "2026-09-01T00:53:22.439225+00:00"
}
Em validação (5) — ainda não recomendado fixar contrato
RotaEstadoObservação
POST /api/v1/broadcasters🟣 Em validaçãopapel do mapa deu 401; resolvido via papel 'admin_global'
POST /api/v1/broadcasters/{broadcaster_id}/invitations🟣 Em validaçãopapel do mapa deu 401; resolvido via papel 'admin_global'
GET /api/v1/broadcasters/{broadcaster_id}/members/{user_id}🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)
PATCH /api/v1/broadcasters/{broadcaster_id}/members/{user_id}🟣 Em validaçãopapel do mapa deu 401; resolvido via papel 'admin_global'
POST /api/v1/broadcasters/{broadcaster_id}/members/{user_id}/suspend🟣 Em validaçãoPublicada; aguardando dado de teste (recurso não encontrado)

Como Consumir

Base URL

https://staging.tv3.dev (ambiente de homologação)

Autenticação

Todas as rotas exigem o header Authorization: Bearer <token>. O token é emitido pelo serviço de autenticação do ecossistema; rotas marcadas 🔒 exigem escopo/role específico além do token padrão.

Convenções

  • Corpos e respostas em JSON (Content-Type: application/json).
  • IDs de recurso são UUID, salvo Dados Abertos, que usa o ID inteiro da Câmara (ex.: deputado 204531).
  • Erros seguem { statusCode, error, message }.
  • Namespaces: /api/v1/<serviço> (apps de TV) e /cms/v1/<serviço> (painel do produtor).

Legenda

✅ Pronto para integrar
Exercitado ponta a ponta; há exemplo real de resposta. Pode integrar.
🟣 Em validação
Rota no ar e em validação — ainda sem resposta de sucesso confirmada. Não fixe contrato ainda.
🔒 Requer credencial
Funciona, mas exige credencial/escopo que o teste não possui.
🔴 Indisponível
Não publicada ou fora do ar no momento da verificação.

Fluxos de Integração

Sequências completas verificadas neste run — cada passo é uma chamada real e o ID retornado alimenta o próximo. Ideal para começar a integrar. Passos de limpeza foram omitidos.

📊 Ciclo de vida de uma Enquete

  1. 1POST/cms/v1/polls
    Cria enquete com pergunta e ≥2 opções (destrava o ciclo)
    ↳ retorna poll_id, encadeado nos próximos passos
    ver requisição / resposta

    Requisição

    {
      "title": "qa-agent-Participação Cidadã - TV 3.0",
      "description": "Consulta pública sobre acesso digital",
      "external_id": "qa-agent-cms-programa-123",
      "layout": "STEP_BY_STEP",
      "broadcaster_id": "550e8400-e29b-41d4-a716-446655440000",
      "tags": [
        "Cidadania",
        "TV 3.0"
      ],
      "start_at": "2026-01-01T00:00:00.000Z",
      "end_at": "2027-12-31T20:00:00.000Z",
      "questions": [
        {
          "question_id": "q1",
          "question_type": "MULTIPLE_CHOICE",
          "text": "Quais linguagens você utiliza?",
          "required": true,
          "multiple_choice_options": [
            {
              "id": "js",
              "label": "JavaScript",
              "order": 1
            },
            {
              "id": "python",
              "label": "Python",
              "order": 2
            }
          ]
        }
      ]
    }

    Resposta 201

    {
      "id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
      "status": "DRAFT",
      "message": "Enquete criada com sucesso"
    }
  2. 2GET/cms/v1/polls/{id}
    Obtém polls
    ver requisição / resposta

    Resposta 200

    {
      "id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
      "external_id": "qa-agent-cms-programa-123",
      "status": "DRAFT",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "start_at": "2026-01-01T00:00:00.000Z",
      "end_at": "2027-12-31T20:00:00.000Z",
      "closed_at": null,
      "scheduled_open_at": null,
      "scheduled_close_at": null,
      "timezone": null,
      "total_votes_cache": 0,
      "template": {
        "_id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
        "title": "qa-agent-Participação Cidadã - TV 3.0",
        "description": "Consulta pública sobre acesso digital",
        "layout": "STEP_BY_STEP",
        "tags": [
          "Cidadania",
          "TV 3.0"
        ],
        "target_audience": {
          "geo_location": [],
          "user_roles": [],
          "interests": []
        },
        "security": {
          "audit_policy": {
            "requires_full_log": false,
            "immutable_votes": true,
            "verification_method": "NONE"
          },
          "visibility_rules": {
            "partial_results_public": false,
            "auditor_ids": [],
            "re
    … (resposta completa no Swagger do serviço)
  3. 3PUT/cms/v1/polls/{id}
    Atualiza polls
    ver requisição / resposta

    Requisição

    {
      "title": "qa-agent-Participação Cidadã (atualizada)",
      "description": "Descrição revisada"
    }

    Resposta 200

    {
      "id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
      "status": "DRAFT",
      "message": "Enquete atualizada com sucesso"
    }
  4. 4POST/cms/v1/polls/{pollId}/questions
    Adiciona 2ª pergunta (q2)
    ver requisição / resposta

    Requisição

    {
      "question_id": "q2",
      "question_type": "MULTIPLE_CHOICE",
      "text": "Recomendaria a plataforma?",
      "required": true,
      "multiple_choice_options": [
        {
          "id": "yes",
          "label": "Sim",
          "order": 1
        },
        {
          "id": "no",
          "label": "Não",
          "order": 2
        }
      ]
    }

    Resposta 201

    {
      "poll_id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
      "question_id": "q2",
      "message": "Pergunta criada com sucesso"
    }
  5. 5PUT/cms/v1/polls/{pollId}/questions/{questionId}
    Atualiza questions
    ver requisição / resposta

    Requisição

    {
      "question_type": "MULTIPLE_CHOICE",
      "text": "Recomendaria a plataforma? (revisado)",
      "required": true,
      "multiple_choice_options": [
        {
          "id": "yes",
          "label": "Sim",
          "order": 1
        },
        {
          "id": "no",
          "label": "Não",
          "order": 2
        },
        {
          "id": "idk",
          "label": "Talvez",
          "order": 3
        }
      ]
    }

    Resposta 200

    {
      "poll_id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
      "question_id": "q2",
      "message": "Pergunta atualizada com sucesso"
    }
  6. 6POST/cms/v1/polls/{pollId}/conditional-rules
    Cria conditional rules
    ↳ retorna rule_id, encadeado nos próximos passos
    ver requisição / resposta

    Requisição

    {
      "source_question_id": "q1",
      "condition": {
        "option_id": "js",
        "operator": "EQUALS"
      },
      "target_question_id": "q2",
      "action": "SKIP_TO"
    }

    Resposta 201

    {
      "poll_id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
      "rule_id": "4c331115-96a3-490f-ad0a-9e71b4e71c4f",
      "message": "Regra condicional criada com sucesso"
    }
  7. 7PUT/cms/v1/polls/{pollId}/conditional-rules/{ruleId}
    Atualiza conditional rules
    ver requisição / resposta

    Requisição

    {
      "target_question_id": "q2",
      "action": "SHOW"
    }

    Resposta 200

    {
      "poll_id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
      "rule_id": "4c331115-96a3-490f-ad0a-9e71b4e71c4f",
      "message": "Regra condicional atualizada com sucesso"
    }
  8. 8POST/cms/v1/polls/{pollId}/conditional-rules/validate
    Cria validate
    ver requisição / resposta

    Resposta 200

    {
      "poll_id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
      "valid": true,
      "inconsistencies": []
    }
  9. 9PATCH/cms/v1/polls/{id}/publish
    DRAFT → PUBLISHED
    ver requisição / resposta

    Resposta 200

    {
      "id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
      "status": "PENDING_MODERATION"
    }
  10. 10PATCH/cms/v1/polls/{id}/schedule
    Agenda (só após PUBLISHED — recupera de 409 transitório)
    ver requisição / resposta

    Requisição

    {
      "scheduled_open_at": "2027-12-01T10:00:00",
      "scheduled_close_at": "2027-12-31T10:00:00",
      "timezone": "America/Sao_Paulo"
    }

    Resposta 200

    {
      "id": "1c9d72e6-5293-4adc-a60c-4abf9bbdd3b6",
      "status": "PUBLISHED",
      "scheduled_open_at": "2027-12-01T13:00:00.000Z",
      "scheduled_close_at": "2027-12-31T13:00:00.000Z",
      "timezone": "America/Sao_Paulo",
      "message": "Agendamento salvo com sucesso"
    }

❓ Espaço de Perguntas e Comentários

  1. 1POST/api/v1/questions/spaces/{spaceId}/assistant/suggestions
    Cria suggestions
    ver requisição / resposta

    Requisição

    {
      "content": "Sugestão de teste do agente de QA?"
    }

    Resposta 200

    {
      "suggestions": [
        {
          "id": "suggestion-1",
          "type": "IMPROVEMENT",
          "message": "Sua mensagem está bem formatada: Sugestão de teste do agente de QA?",
          "original_text": "Sugestão de teste do agente de QA?",
          "suggested_text": "Sugestão de teste do agente de QA?"
        }
      ]
    }
  2. 2POST/api/v1/questions/spaces/{spaceId}/participations/moderation-intake
    Cria moderation intake
    ver requisição / resposta

    Requisição

    {
      "text": "Texto para moderação (qa-agent)",
      "type": "QUESTION",
      "channel": "WEB"
    }

    Resposta 202

    {
      "accepted": true,
      "topic": "ai.moderation.input.perguntas"
    }
  3. 3POST/api/v1/questions/spaces/{spaceId}/participations
    Cria participação com áudio real (mp3 base64)
    ↳ retorna participationAudio, encadeado nos próximos passos
    ver requisição / resposta

    Requisição

    {
      "type": "QUESTION",
      "content": "Pergunta de teste do agente (com áudio)?",
      "channel": "WEB",
      "audio_data": "<conteúdo omitido: 221580 caracteres (base64/binário)>",
      "audio_format": "MP3"
    }

    Resposta 201

    {
      "id": "097c3e62-26c4-4479-9280-9801f80b538d",
      "space_id": "0c5be58f-fbc7-48a9-8658-9e2fdaad9e6e",
      "type": "QUESTION",
      "content": "Pergunta de teste do agente (com áudio)?",
      "status": "PENDING",
      "channel": "WEB",
      "has_audio": true,
      "user_name": null,
      "created_at": "2026-09-01T00:54:12.886Z",
      "links": {
        "self": "/participations/097c3e62-26c4-4479-9280-9801f80b538d",
        "audio": "/participations/097c3e62-26c4-4479-9280-9801f80b538d/audio"
      }
    }
  4. 4GET/api/v1/questions/participations/{id}
    Obtém participations
    ver requisição / resposta

    Resposta 200

    {
      "id": "4a3e576b-1b95-40d2-a5b6-8e2ef2f8bf1c",
      "space_id": "0c5be58f-fbc7-48a9-8658-9e2fdaad9e6e",
      "type": "QUESTION",
      "content": "Fixture permanente com áudio (sirene.mp3) para testes de staging",
      "audio_transcription": "Transcrição de teste (qa-agent).",
      "audio_format": "MP3",
      "audio_duration_seconds": null,
      "emoji": null,
      "parent_id": null,
      "user_id": null,
      "user_name": null,
      "channel": "WEB",
      "assistant_suggestions": [],
      "status": "PENDING",
      "created_at": "2026-07-22T17:16:11.332Z",
      "updated_at": "2026-08-29T18:16:30.114Z",
      "has_audio": true
    }
  5. 5PUT/api/v1/questions/participations/{id}/transcription
    Atualiza transcription
    ver requisição / resposta

    Requisição

    {
      "transcription": "Transcrição de teste (qa-agent)."
    }

    Resposta 200

    {
      "id": "4a3e576b-1b95-40d2-a5b6-8e2ef2f8bf1c",
      "space_id": "0c5be58f-fbc7-48a9-8658-9e2fdaad9e6e",
      "type": "QUESTION",
      "content": "Fixture permanente com áudio (sirene.mp3) para testes de staging",
      "audio_data": {
        "type": "Buffer",
        "data": [
          73,
          68,
          51,
          4,
          0,
          0,
          0,
          0,
          0,
          34,
          84,
          83,
          83,
          69,
          0,
          0,
          0,
          14,
          0,
          0,
          3,
          76,
          97,
          118,
          102,
          54,
          50,
          46,
          51,
          46,
          49,
          48,
          48,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          255,
          251,
          212,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          73,
       
    … (resposta completa no Swagger do serviço)
  6. 6POST/cms/v1/questions/spaces/
    Cria spaces
    ↳ retorna spaceA, encadeado nos próximos passos
    ver requisição / resposta

    Requisição

    {
      "title": "qa-agent Space 1788224051",
      "description": "Space de teste",
      "settings": {
        "allow_anonymous": true
      }
    }

    Resposta 201

    {
      "id": "66cc4c42-46f6-43ce-9dc8-9f42e37f5569",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "created_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
      "title": "qa-agent Space 1788224051",
      "slug": "qa-agent-space-1788224051",
      "status": "DRAFT",
      "links": {
        "self": "/spaces/66cc4c42-46f6-43ce-9dc8-9f42e37f5569"
      }
    }
  7. 7GET/cms/v1/questions/spaces/{id}
    Obtém spaces
    ver requisição / resposta

    Resposta 200

    {
      "id": "66cc4c42-46f6-43ce-9dc8-9f42e37f5569",
      "title": "qa-agent Space 1788224051",
      "description": "Space de teste",
      "slug": "qa-agent-space-1788224051",
      "type": "BOTH",
      "visibility": "PUBLIC",
      "status": "DRAFT",
      "content_id": null,
      "content_type": null,
      "schedule_start_at": null,
      "schedule_end_at": null,
      "linked_to_live": false,
      "live_program_id": null,
      "settings": {
        "allow_anonymous": true
      },
      "interaction_config": {},
      "visual_customization": {},
      "public_url": null,
      "published_at": null,
      "archived_at": null,
      "version": 0,
      "batch_id": null,
      "template_id": null,
      "created_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
      "updated_by": null,
      "created_at": "2026-09-01T00:54:25.934Z",
      "updated_at": "2026-09-01T00:54:25.934Z",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa"
    }
  8. 8PATCH/cms/v1/questions/spaces/{id}
    Atualiza spaces
    ver requisição / resposta

    Requisição

    {
      "visibility": "PRIVATE"
    }

    Resposta 200

    {
      "id": "66cc4c42-46f6-43ce-9dc8-9f42e37f5569",
      "title": "qa-agent Space 1788224051",
      "description": "Space de teste",
      "slug": "qa-agent-space-1788224051",
      "type": "BOTH",
      "visibility": "PRIVATE",
      "status": "DRAFT",
      "content_id": null,
      "content_type": null,
      "schedule_start_at": null,
      "schedule_end_at": null,
      "linked_to_live": false,
      "live_program_id": null,
      "settings": {
        "allow_anonymous": true
      },
      "interaction_config": {},
      "visual_customization": {},
      "public_url": null,
      "published_at": null,
      "archived_at": null,
      "version": 0,
      "batch_id": null,
      "template_id": null,
      "created_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
      "updated_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
      "created_at": "2026-09-01T00:54:25.934Z",
      "updated_at": "2026-09-01T00:54:26.273Z",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa"
    }
  9. 9PUT/cms/v1/questions/spaces/{id}
    Atualiza spaces
    ver requisição / resposta

    Requisição

    {
      "title": "qa-agent Space 1788224051 (substituído)",
      "settings": {
        "allow_anonymous": true
      }
    }

    Resposta 200

    {
      "id": "66cc4c42-46f6-43ce-9dc8-9f42e37f5569",
      "title": "qa-agent Space 1788224051 (substituído)",
      "description": null,
      "slug": "qa-agent-space-1788224051",
      "type": "BOTH",
      "visibility": "PUBLIC",
      "status": "DRAFT",
      "content_id": null,
      "content_type": null,
      "schedule_start_at": null,
      "schedule_end_at": null,
      "linked_to_live": false,
      "live_program_id": null,
      "settings": {
        "allow_anonymous": true
      },
      "interaction_config": {},
      "visual_customization": {},
      "public_url": null,
      "published_at": null,
      "archived_at": null,
      "version": 0,
      "batch_id": null,
      "template_id": null,
      "created_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
      "updated_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
      "created_at": "2026-09-01T00:54:25.934Z",
      "updated_at": "2026-09-01T00:54:26.446Z",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa"
    }
  10. 10PUT/cms/v1/questions/spaces/{spaceId}/interaction-config
    Atualiza interaction config
    ver requisição / resposta

    Requisição

    {
      "allowed_means": [
        "TEXT"
      ],
      "char_limit": 500
    }

    Resposta 200

    {
      "char_limit": 500,
      "allowed_means": [
        "TEXT"
      ]
    }

🎥 Conduzir um Debate Estruturado

  1. 1POST/cms/v1/debates/sessions/
    Cria sessão de debate
    ↳ retorna session1, encadeado nos próximos passos
    ver requisição / resposta

    Requisição

    {
      "title": "qa-agent Debate CRUD 1788224043",
      "layout_config": {
        "layout_type": "TABS",
        "applications": [
          "chat",
          "perguntas_comentarios"
        ]
      }
    }

    Resposta 201

    {
      "id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
      "title": "qa-agent Debate CRUD 1788224043",
      "slug": "qa-agent-debate-crud-1788224043",
      "status": "DRAFT",
      "links": {
        "self": "/cms/v1/debates/sessions/ee88ed6d-4029-4fef-8efc-45be5c49708f"
      }
    }
  2. 2GET/cms/v1/debates/sessions/{sessionId}
    Obtém sessions
    ver requisição / resposta

    Resposta 200

    {
      "id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
      "title": "qa-agent Debate CRUD 1788224043",
      "status": "DRAFT",
      "start_at": null,
      "end_at": null,
      "owner_id": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
      "created_at": "2026-09-01T00:54:04.198Z",
      "updated_at": "2026-09-01T00:54:04.198Z",
      "rules": {
        "slug": "qa-agent-debate-crud-1788224043",
        "description": null,
        "layout_config": {
          "layout_type": "TABS",
          "applications": [
            "chat",
            "perguntas_comentarios"
          ]
        },
        "access_control": {
          "type": "PUBLIC",
          "require_auth": false,
          "allowed_roles": [],
          "allow_anonymous": true
        },
        "material_schedule": {
          "materials": []
        }
      },
      "external_id": null,
      "type": "STRUCTURED",
      "turn_duration_seconds": null,
      "max_participants": null,
      "moderation_mode": "AUTO",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "slug": "qa-agent-debate-crud-1788224043",
      "description": null,
      "access_control": {
        "type": "PU
    … (resposta completa no Swagger do serviço)
  3. 3POST/cms/v1/debates/sessions/{sessionId}/participants
    Cria participants
    ↳ retorna participant1, encadeado nos próximos passos
    ver requisição / resposta

    Requisição

    {
      "user_id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11",
      "role": "SPEAKER",
      "govbr_auth_level": "GOLD"
    }

    Resposta 201

    {
      "id": "ea3df4b9-1c0b-44db-96c7-24f5dacd4aef",
      "debate_id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
      "user_id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11",
      "role": "SPEAKER",
      "govbr_auth_level": "GOLD",
      "turn_count": 0,
      "is_muted": false,
      "joined_at": null,
      "left_at": null,
      "created_at": "2026-09-01T00:54:05.656Z",
      "updated_at": "2026-09-01T00:54:05.656Z"
    }
  4. 4PATCH/cms/v1/debates/sessions/{sessionId}/participants/{id}
    Atualiza participants
    ver requisição / resposta

    Requisição

    {
      "is_muted": true,
      "turn_count": 1
    }

    Resposta 200

    {
      "id": "ea3df4b9-1c0b-44db-96c7-24f5dacd4aef",
      "debate_id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
      "user_id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11",
      "role": "SPEAKER",
      "govbr_auth_level": "GOLD",
      "turn_count": 1,
      "is_muted": true,
      "joined_at": null,
      "left_at": null,
      "created_at": "2026-09-01T00:54:05.656Z",
      "updated_at": "2026-09-01T00:54:06.071Z"
    }
  5. 5PUT/cms/v1/debates/sessions/{sessionId}/layout
    Atualiza layout
    ver requisição / resposta

    Requisição

    {
      "layout_type": "GRID",
      "applications": [
        "chat",
        "perguntas_comentarios",
        "enquete"
      ]
    }

    Resposta 200

    {
      "id": "33bf1753-1adc-44a3-bb66-fae48ef54c38",
      "debate_session_id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
      "layout_type": "GRID",
      "applications": [
        "chat",
        "perguntas_comentarios",
        "enquete"
      ],
      "config": {},
      "created_at": "2026-09-01T00:54:06.720Z",
      "updated_at": "2026-09-01T00:54:06.720Z"
    }
  6. 6POST/cms/v1/debates/sessions/{sessionId}/documents
    Upload de documento (PDF)
    ↳ retorna document1, encadeado nos próximos passos
    ver requisição / resposta

    Resposta 201

    {
      "id": "dd55b6ea-f07e-42f5-ae86-47b5bfa14f0d",
      "debate_session_id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
      "title": "qa-agent Tabuada",
      "type": "PDF",
      "file_name": "sample-doc.pdf",
      "mime_type": "application/pdf",
      "file_size": 245623,
      "scheduled_publish_at": null,
      "order": 0,
      "created_at": "2026-09-01T00:54:07.327Z",
      "updated_at": "2026-09-01T00:54:07.327Z"
    }
  7. 7GET/cms/v1/debates/sessions/{sessionId}/documents/{id}
    Obtém documents
    ver requisição / resposta

    Resposta 200

    %PDF-1.7
    %äüöß
    2 0 obj
    <</Length 3 0 R/Filter/FlateDecode>>
    stream
    x���Mk�@���+����Gv�]�&Q��!��s0*T�D������Hdn3��3�$�_ �cw�՛�U-J�$�Cg�f�3e1n��
    O0��ⰿ�m��U�,QfY^Pa���GUb�F͚�(��ۡ�W��h�x����h�<c5��]}j�����H{���F_qy�I�}��1�R����'�T�4�?M�L���<O�L^�d��_�4#�ْ�~��5��V�
    q�n
    endstream
    endobj
    
    3 0 obj
    228
    endobj
    
    7 0 obj
    <</Type/XObject/Subtype/Image/Width 756 /Height 1200 /BitsPerComponent 8 /ColorSpace/DeviceRGB/Filter/DCTDecode/Length 233070>>
    stream
    ����JFIFHH��C
    
    
    
    
    ��C		
    
    ����"��	����Љ.��J�K�YЩ��7�������5�d��I
    … (resposta completa no Swagger do serviço)
  8. 8PATCH/cms/v1/debates/sessions/{sessionId}/documents/{id}
    Atualiza documents
    ver requisição / resposta

    Requisição

    {
      "title": "qa-agent Tabuada (revisada)"
    }

    Resposta 200

    {
      "id": "dd55b6ea-f07e-42f5-ae86-47b5bfa14f0d",
      "debate_session_id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
      "title": "qa-agent Tabuada (revisada)",
      "type": "PDF",
      "file_name": "sample-doc.pdf",
      "mime_type": "application/pdf",
      "file_size": 245623,
      "scheduled_publish_at": null,
      "order": 0,
      "created_at": "2026-09-01T00:54:07.327Z",
      "updated_at": "2026-09-01T00:54:07.993Z"
    }
  9. 9PUT/cms/v1/debates/sessions/{sessionId}
    Atualiza sessions
    ver requisição / resposta

    Requisição

    {
      "title": "qa-agent Debate CRUD (substituído)",
      "layout_config": {
        "layout_type": "GRID",
        "applications": [
          "chat",
          "perguntas_comentarios",
          "enquete"
        ]
      }
    }

    Resposta 200

    {
      "id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
      "title": "qa-agent Debate CRUD (substituído)",
      "status": "DRAFT",
      "start_at": null,
      "end_at": null,
      "owner_id": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
      "created_at": "2026-09-01T00:54:04.198Z",
      "updated_at": "2026-09-01T00:54:08.137Z",
      "rules": {
        "slug": "qa-agent-debate-crud-1788224043",
        "description": null,
        "layout_config": {
          "layout_type": "GRID",
          "applications": [
            "chat",
            "perguntas_comentarios",
            "enquete"
          ]
        },
        "access_control": {
          "type": "PUBLIC",
          "require_auth": false,
          "allowed_roles": [],
          "allow_anonymous": true
        },
        "material_schedule": {
          "materials": []
        }
      },
      "external_id": null,
      "type": "STRUCTURED",
      "turn_duration_seconds": null,
      "max_participants": null,
      "moderation_mode": "AUTO",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "slug": "qa-agent-debate-crud-1788224043",
      "description": null,
      "access_cont
    … (resposta completa no Swagger do serviço)
  10. 10PATCH/cms/v1/debates/sessions/{sessionId}
    Atualiza sessions
    ver requisição / resposta

    Requisição

    {
      "description": "Sessão de teste automatizado"
    }

    Resposta 200

    {
      "id": "ee88ed6d-4029-4fef-8efc-45be5c49708f",
      "title": "qa-agent Debate CRUD (substituído)",
      "status": "DRAFT",
      "start_at": null,
      "end_at": null,
      "owner_id": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
      "created_at": "2026-09-01T00:54:04.198Z",
      "updated_at": "2026-09-01T00:54:08.291Z",
      "rules": {
        "slug": "qa-agent-debate-crud-1788224043",
        "description": "Sessão de teste automatizado",
        "layout_config": {
          "layout_type": "GRID",
          "applications": [
            "chat",
            "perguntas_comentarios",
            "enquete"
          ]
        },
        "access_control": {
          "type": "PUBLIC",
          "require_auth": false,
          "allowed_roles": [],
          "allow_anonymous": true
        },
        "material_schedule": {
          "materials": []
        }
      },
      "external_id": null,
      "type": "STRUCTURED",
      "turn_duration_seconds": null,
      "max_participants": null,
      "moderation_mode": "AUTO",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "slug": "qa-agent-debate-crud-1788224043",
      "descrip
    … (resposta completa no Swagger do serviço)

💬 Moderar uma Sala de Chat

  1. 1POST/cms/v1/chat/rooms
    Cria sala de chat
    ↳ retorna roomId, encadeado nos próximos passos
    ver requisição / resposta

    Requisição

    {
      "owner_id": "d03d9d69-1cb5-4907-bcf7-2c967c781496",
      "type": "PUBLIC",
      "description": "qa-agent sala 1788224068",
      "TTL": 30,
      "is_active": true,
      "operational_config": {
        "max_characters": 280,
        "allow_images": false,
        "slow_mode_seconds": 0
      },
      "theme_config": {},
      "metadata": {
        "origin": "qa-agent"
      },
      "monitored_hashtags": [
        "tv30",
        "tv3"
      ]
    }

    Resposta 201

    {
      "id": "2eab3732-0338-43e1-9c22-b21f59110273",
      "external_id": null,
      "owner_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "type": "PUBLIC",
      "description": "qa-agent sala 1788224068",
      "ttl": 30,
      "start_at": null,
      "end_at": null,
      "is_active": true,
      "metadata": {
        "origin": "qa-agent"
      },
      "allowed_roles": [
        "all"
      ],
      "operational_config": {
        "allow_images": false,
        "max_characters": 280,
        "slow_mode_seconds": 0
      },
      "theme_config": {},
      "created_by": null,
      "created_at": "2026-09-01T00:54:29.397Z",
      "updated_at": "2026-09-01T00:54:29.397Z",
      "deleted_at": null,
      "monitored_hashtags": [
        "tv30",
        "tv3"
      ],
      "scheduler_activated_at": null,
      "monitored_whatsapp": null
    }
  2. 2GET/cms/v1/chat/rooms/{id}
    Obtém rooms
    ver requisição / resposta

    Resposta 200

    {
      "id": "2eab3732-0338-43e1-9c22-b21f59110273",
      "external_id": null,
      "owner_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "type": "PUBLIC",
      "description": "qa-agent sala 1788224068",
      "ttl": 30,
      "start_at": null,
      "end_at": null,
      "is_active": true,
      "metadata": {
        "origin": "qa-agent"
      },
      "allowed_roles": [
        "all"
      ],
      "operational_config": {
        "allow_images": false,
        "max_characters": 280,
        "slow_mode_seconds": 0
      },
      "theme_config": {},
      "created_by": null,
      "created_at": "2026-09-01T00:54:29.397Z",
      "updated_at": "2026-09-01T00:54:29.397Z",
      "deleted_at": null,
      "monitored_hashtags": [
        "tv30",
        "tv3"
      ],
      "scheduler_activated_at": null,
      "monitored_whatsapp": null
    }
  3. 3PATCH/cms/v1/chat/rooms/{id}
    Atualiza rooms
    ver requisição / resposta

    Requisição

    {
      "description": "qa-agent sala (atualizada)",
      "TTL": 60
    }

    Resposta 200

    {
      "id": "2eab3732-0338-43e1-9c22-b21f59110273",
      "external_id": null,
      "owner_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "type": "PUBLIC",
      "description": "qa-agent sala (atualizada)",
      "ttl": 60,
      "start_at": null,
      "end_at": null,
      "is_active": true,
      "metadata": {
        "origin": "qa-agent"
      },
      "allowed_roles": [
        "all"
      ],
      "operational_config": {
        "allow_images": false,
        "max_characters": 280,
        "slow_mode_seconds": 0
      },
      "theme_config": {},
      "created_by": null,
      "created_at": "2026-09-01T00:54:29.397Z",
      "updated_at": "2026-09-01T00:54:29.665Z",
      "deleted_at": null,
      "monitored_hashtags": [
        "tv30",
        "tv3"
      ],
      "scheduler_activated_at": null,
      "monitored_whatsapp": null
    }
  4. 4PATCH/cms/v1/chat/rooms/{id}/status
    Atualiza status
    ver requisição / resposta

    Requisição

    {
      "is_active": false
    }

    Resposta 200

    {
      "id": "2eab3732-0338-43e1-9c22-b21f59110273",
      "external_id": null,
      "owner_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "type": "PUBLIC",
      "description": "qa-agent sala (atualizada)",
      "ttl": 60,
      "start_at": null,
      "end_at": null,
      "is_active": false,
      "metadata": {
        "origin": "qa-agent"
      },
      "allowed_roles": [
        "all"
      ],
      "operational_config": {
        "allow_images": false,
        "max_characters": 280,
        "slow_mode_seconds": 0
      },
      "theme_config": {},
      "created_by": null,
      "created_at": "2026-09-01T00:54:29.397Z",
      "updated_at": "2026-09-01T00:54:29.799Z",
      "deleted_at": null,
      "monitored_hashtags": [
        "tv30",
        "tv3"
      ],
      "scheduler_activated_at": null,
      "monitored_whatsapp": null
    }
  5. 5POST/cms/v1/chat/rooms/{roomId}/highlights
    Cria highlights
    ↳ retorna highlightId, encadeado nos próximos passos
    ver requisição / resposta

    Requisição

    {
      "type": "PIN",
      "message_external_id": "e888ccc1-1319-44c9-9eab-0895683fbe1a",
      "message_content_snapshot": "Mensagem destacada qa-agent",
      "priority": 1,
      "visual_config": {},
      "display_duration_seconds": 30
    }

    Resposta 201

    {
      "id": "eda3ec37-9ece-45d2-909f-c4e9e98a85a0",
      "chatroom_id": "2eab3732-0338-43e1-9c22-b21f59110273",
      "type": "PIN",
      "message_external_id": "e888ccc1-1319-44c9-9eab-0895683fbe1a",
      "message_content_snapshot": "Mensagem destacada qa-agent",
      "priority": 1,
      "visual_config": {},
      "display_duration_seconds": 30,
      "expires_at": "2026-09-08T00:54:30.065Z",
      "is_active": true,
      "created_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
      "created_at": "2026-09-01T00:54:30.070Z",
      "updated_at": "2026-09-01T00:54:30.070Z",
      "removed_at": null,
      "removed_by": null
    }
  6. 6PATCH/cms/v1/chat/rooms/{roomId}/highlights/{highlightId}
    Atualiza highlights
    ver requisição / resposta

    Requisição

    {
      "priority": 2,
      "display_duration_seconds": 60
    }

    Resposta 200

    {
      "id": "eda3ec37-9ece-45d2-909f-c4e9e98a85a0",
      "chatroom_id": "2eab3732-0338-43e1-9c22-b21f59110273",
      "type": "PIN",
      "message_external_id": "e888ccc1-1319-44c9-9eab-0895683fbe1a",
      "message_content_snapshot": "Mensagem destacada qa-agent",
      "priority": 2,
      "visual_config": {},
      "display_duration_seconds": 60,
      "expires_at": "2026-09-08T00:54:30.065Z",
      "is_active": true,
      "created_by": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
      "created_at": "2026-09-01T00:54:30.070Z",
      "updated_at": "2026-09-01T00:54:30.343Z",
      "removed_at": null,
      "removed_by": null
    }
  7. 7POST/api/v1/chat/rooms/{roomId}/messages
    Mensagem 1 (alimenta word-frequency)
    ver requisição / resposta

    Requisição

    {
      "content": "consulta publica consulta publica consulta",
      "type": "TEXT",
      "senderId": "d03d9d69-1cb5-4907-bcf7-2c967c781496",
      "senderMetadata": {
        "origin": "qa-agent"
      }
    }

    Resposta 200

    {
      "status": "success",
      "message": "Mensagem recebida e enviada para processamento"
    }

💬 Publicar Mensagens no Chat

  1. 1POST/cms/v1/chat/rooms
    Cria sala para publicar mensagens
    ↳ retorna apiRoomId, encadeado nos próximos passos
    ver requisição / resposta

    Requisição

    {
      "owner_id": "d03d9d69-1cb5-4907-bcf7-2c967c781496",
      "type": "PUBLIC",
      "description": "qa-agent sala 1788224071",
      "TTL": 30,
      "is_active": true,
      "operational_config": {
        "max_characters": 280,
        "allow_images": false,
        "slow_mode_seconds": 0
      },
      "theme_config": {},
      "metadata": {
        "origin": "qa-agent"
      },
      "monitored_hashtags": [
        "tv30",
        "tv3"
      ]
    }

    Resposta 201

    {
      "id": "21d2539d-3280-44ff-a3f3-0f4fa2f3e481",
      "external_id": null,
      "owner_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "type": "PUBLIC",
      "description": "qa-agent sala 1788224071",
      "ttl": 30,
      "start_at": null,
      "end_at": null,
      "is_active": true,
      "metadata": {
        "origin": "qa-agent"
      },
      "allowed_roles": [
        "all"
      ],
      "operational_config": {
        "allow_images": false,
        "max_characters": 280,
        "slow_mode_seconds": 0
      },
      "theme_config": {},
      "created_by": null,
      "created_at": "2026-09-01T00:54:31.852Z",
      "updated_at": "2026-09-01T00:54:31.852Z",
      "deleted_at": null,
      "monitored_hashtags": [
        "tv30",
        "tv3"
      ],
      "scheduler_activated_at": null,
      "monitored_whatsapp": null
    }
  2. 2POST/api/v1/chat/rooms/{roomId}/messages
    Publica mensagem (Kafka)
    ver requisição / resposta

    Requisição

    {
      "content": "Mensagem de teste do agente",
      "type": "TEXT",
      "senderId": "d03d9d69-1cb5-4907-bcf7-2c967c781496",
      "senderMetadata": {
        "origin": "qa-agent"
      }
    }

    Resposta 200

    {
      "status": "success",
      "message": "Mensagem recebida e enviada para processamento"
    }
  3. 3POST/api/v1/chat/rooms/{roomId}/messages/direct
    Publica mensagem direta
    ver requisição / resposta

    Requisição

    {
      "content": "Mensagem direta qa-agent",
      "type": "TEXT",
      "senderId": "d03d9d69-1cb5-4907-bcf7-2c967c781496",
      "senderMetadata": {
        "origin": "qa-agent"
      }
    }

    Resposta 201

    {
      "content": "Mensagem direta qa-agent",
      "type": "TEXT",
      "senderId": "e9ff365c-4163-42a3-a4fa-d1fc4dc55cfc",
      "senderMetadata": {
        "origin": "qa-agent"
      },
      "roomId": "21d2539d-3280-44ff-a3f3-0f4fa2f3e481",
      "senderName": "Paulo Leminski"
    }

🎬 Publicar Mídia com Interatividade

  1. 1POST/cms/v1/cms/media-assets/
    Cria media asset (upload de vídeo)
    ↳ retorna assetId, encadeado nos próximos passos
    ver requisição / resposta

    Resposta 201

    {
      "id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "title": "qa-agent-picapau-1788224009",
      "description": "Vídeo de teste automatizado do agente de QA",
      "original_filename_url": "sample-video.mp4",
      "storage_path": "media-assets/1788224010456-sample-video.mp4",
      "mime_type": null,
      "checksum_md5": null,
      "source_url": null,
      "thumbnail_storage_path": null,
      "content_type": null,
      "duration": null,
      "status": "INGESTED",
      "parent_asset_id": null,
      "metadata": {
        "dash_packaging_state": "awaiting_enrichment",
        "media_enrichment_state": "pending",
        "transcode_dash_requested": true
      },
      "thumbnail_url": null,
      "scheduled_publish_at": null,
      "scheduled_unpublish_at": null,
      "published_at": null,
      "published_by": null,
      "scheduled_by": null,
      "unscheduled_at": null,
      "archived_at": null,
      "creator": null,
      "contributor": null,
      "language": "pt-BR",
      "coverage": null,
      "rights": null,
      "content_date": null,
      "created
    … (resposta completa no Swagger do serviço)
  2. 2GET/cms/v1/cms/media-assets/{assetId}
    Aguarda o pipeline de enriquecimento (best-effort)
    ver requisição / resposta

    Resposta 200

    {
      "id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "title": "qa-agent-picapau-1788224009",
      "description": "Vídeo de teste automatizado do agente de QA",
      "original_filename_url": "sample-video.mp4",
      "storage_path": "media-assets/1788224010456-sample-video.mp4",
      "mime_type": "video/mp4",
      "checksum_md5": "d6e58531b8ee6b824f27869e7b5c7bd2",
      "source_url": null,
      "thumbnail_storage_path": "media-assets/thumbnails/1788224011729-e28ea85a-f179-4587-84cb-7b0d120fe8ec.jpg",
      "content_type": null,
      "duration": {
        "seconds": 10,
        "milliseconds": 27.855
      },
      "status": "READY",
      "parent_asset_id": null,
      "metadata": {
        "dash_manifest_path": "videos/e28ea85a-f179-4587-84cb-7b0d120fe8ec/manifest.mpd",
        "dash_packaging_state": "ready",
        "media_enrichment_state": "ready",
        "transcode_dash_requested": true,
        "media_enrichment_completed_at": "2026-09-01T00:53:31.773Z"
      },
      "thumbnail_url": "https://media.staging.tv3.dev/vod-con
    … (resposta completa no Swagger do serviço)
  3. 3GET/api/v1/cms/media-assets/{assetId}
    Obtém media assets
    ver requisição / resposta

    Resposta 200

    {
      "id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "title": "qa-agent-picapau-1788224009",
      "description": "Vídeo de teste automatizado do agente de QA",
      "original_filename_url": "sample-video.mp4",
      "storage_path": "media-assets/1788224010456-sample-video.mp4",
      "mime_type": "video/mp4",
      "checksum_md5": "d6e58531b8ee6b824f27869e7b5c7bd2",
      "source_url": null,
      "thumbnail_storage_path": "media-assets/thumbnails/1788224011729-e28ea85a-f179-4587-84cb-7b0d120fe8ec.jpg",
      "content_type": null,
      "duration": {
        "seconds": 10,
        "milliseconds": 27.855
      },
      "status": "READY",
      "parent_asset_id": null,
      "metadata": {
        "dash_manifest_path": "videos/e28ea85a-f179-4587-84cb-7b0d120fe8ec/manifest.mpd",
        "dash_packaging_state": "ready",
        "media_enrichment_state": "ready",
        "transcode_dash_requested": true,
        "media_enrichment_completed_at": "2026-09-01T00:53:31.773Z"
      },
      "thumbnail_url": "https://media.staging.tv3.dev/vod-con
    … (resposta completa no Swagger do serviço)
  4. 4PATCH/cms/v1/cms/media-assets/{assetId}/embeddings
    Atualiza embeddings
    ver requisição / resposta

    Requisição

    {
      "embeddings": [
        0.0,
        0.002604,
        0.005208,
        0.007812,
        0.010417,
        0.013021,
        0.015625,
        0.018229,
        0.020833,
        0.023438,
        0.026042,
        0.028646,
        0.03125,
        0.033854,
        0.036458,
        0.039062,
        0.041667,
        0.044271,
        0.046875,
        0.049479,
        0.052083,
        0.054688,
        0.057292,
        0.059896,
        0.0625,
        0.065104,
        0.067708,
        0.070312,
        0.072917,
        0.075521,
        0.078125,
        0.080729,
        0.083333,
        0.085938,
        0.088542,
        0.091146,
        0.09375,
        0.096354,
        0.098958,
        0.101562,
        0.104167,
        0.106771,
        0.109375,
        0.111979,
        0.114583,
        0.117188,
        0.119792,
        0.122396,
        0.125,
        0.127604,
        0.130208,
        0.132812,
        0.135417,
        0.138021,
        0.140625,
        0.143229,
        0.145833,
        0.148438,
        0.151042,
        0.153646,
        0.15625,
        0.158854,
        0.161458,
        0.164062,
        0.166667,
        0.169271,
        0.171875,
        0.174479,
        0.177083,
        0.179688,
        0.182292,
        0.184896,
        0.1875,
        0.190104,
        0.192708,
        0.195312,
        0.197917,
        0.200521,
        0.203125,
        0.205729,
        0.208333,
        0.210938,
        0.213542,
        0.216146,
        0.21875,
        0.221354,
        0.223958,
        0.226562,
        0.229167,
        0.231771,
        0.234375,
        0.236979,
        0.239583,
        0.242188,
        0.244792,
        0.247396,
        0.25,
        0.252604,
        0.255208,
        0.257812,
        0.260417,
        0.263021,
        0.265625,
        0.268229,
        0.270833,
        0.273438,
        0.276042,
        0.278646,
        0.28125,
        0.283854,
        0.286458,
        0.289062,
        0.291667,
        0.294271,
        0.296875,
        0.299479,
        0.302083,
        0.304688,
        0.307292,
        0.309896,
        0.3125,
        0.315104,
        0.317708,
        0.320312,
        0.322917,
        0.325521,
        0.328125,
        0.330729,
        0.333333,
        0.335938,
        0.338542,
        0.341146,
        0.34375,
        0.346354,
        0.348958,
        0.351562,
        0.354167,
        0.356771,
        0.359375,
        0.361979,
        0.364583,
        0.367188,
        0.369792,
        0.372396,
        0.375,
        0.377604,
        0.380208,
        0.382812,
        0.385417,
        0.388021,
        0.390625,
        0.393229,
        0.395833,
        0.398438,
        0.401042,
        0.403646,
        0.40625,
        0.408854,
        0.411458,
        0.414062,
        0.416667,
        0.419271,
        0.421875,
        0.424479,
        0.427083,
        0.429688,
        0.432292,
        0.434896,
        0.4375,
        0.440104,
        0.442708,
        0.445312,
        0.447917,
        0.450521,
        0.453125,
        0.455729,
        0.458333,
        0.460938,
        0.463542,
        0.466146,
        0.46875,
        0.471354,
        0.473958,
        0.476562,
        0.479167,
        0.481771,
        0.484375,
        0.486979,
        0.489583,
        0.492188,
        0.494792,
        0.497396,
        0.5,
        0.502604,
        0.505208,
        0.507812,
        0.510417,
        0.513021,
        0.515625,
        0.518229,
        0.520833,
        0.523438,
        0.526042,
        0.528646,
        0.53125,
        0.533854,
        0.536458,
        0.539062,
        0.541667,
        0.544271,
        0.546875,
        0.549479,
        0.552083,
        0.554688,
        0.557292,
        0.559896,
        0.5625,
        0.565104,
        0.567708,
        0.570312,
        0.572917,
        0.575521,
        0.578125,
        0.580729,
        0.583333,
        0.585938,
        0.588542,
        0.591146,
        0.59375,
        0.596354,
        0.598958,
        0.601562,
        0.604167,
        0.606771,
        0.609375,
        0.611979,
        0.614583,
        0.617188,
        0.619792,
        0.622396,
        0.625,
        0.627604,
        0.630208,
        0.632812,
        0.635417,
        0.638021,
        0.640625,
        0.643229,
        0.645833,
        0.648438,
        0.651042,
        0.653646,
        0.65625,
        0.658854,
        0.661458,
        0.664062,
        0.666667,
        0.669271,
        0.671875,
        0.674479,
        0.677083,
        0.679688,
        0.682292,
        0.684896,
        0.6875,
        0.690104,
        0.692708,
        0.695312,
        0.697917,
        0.700521,
        0.703125,
        0.705729,
        0.708333,
        0.710938,
        0.713542,
        0.716146,
        0.71875,
        0.721354,
        0.723958,
        0.726562,
        0.729167,
        0.731771,
        0.734375,
        0.736979,
        0.739583,
        0.742188,
        0.744792,
        0.747396,
        0.75,
        0.752604,
        0.755208,
        0.757812,
        0.760417,
        0.763021,
        0.765625,
        0.768229,
        0.770833,
        0.773438,
        0.776042,
        0.778646,
        0.78125,
        0.783854,
        0.786458,
        0.789062,
        0.791667,
        0.794271,
        0.796875,
        0.799479,
        0.802083,
        0.804688,
        0.807292,
        0.809896,
        0.8125,
        0.815104,
        0.817708,
        0.820312,
        0.822917,
        0.825521,
        0.828125,
        0.830729,
        0.833333,
        0.835938,
        0.838542,
        0.841146,
        0.84375,
        0.846354,
        0.848958,
        0.851562,
        0.854167,
        0.856771,
        0.859375,
        0.861979,
        0.864583,
        0.867188,
        0.869792,
        0.872396,
        0.875,
        0.877604,
        0.880208,
        0.882812,
        0.885417,
        0.888021,
        0.890625,
        0.893229,
        0.895833,
        0.898438,
        0.901042,
        0.903646,
        0.90625,
        0.908854,
        0.911458,
        0.914062,
        0.916667,
        0.919271,
        0.921875,
        0.924479,
        0.927083,
        0.929688,
        0.932292,
        0.934896,
        0.9375,
        0.940104,
        0.942708,
        0.945312,
        0.947917,
        0.950521,
        0.953125,
        0.955729,
        0.958333,
        0.960938,
        0.963542,
        0.966146,
        0.96875,
        0.971354,
        0.973958,
        0.976562,
        0.979167,
        0.981771,
        0.984375,
        0.986979,
        0.989583,
        0.992188,
        0.994792,
        0.997396
      ]
    }

    Resposta 200

    {
      "id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
      "embeddings": [
        0,
        0.002604,
        0.005208,
        0.007812,
        0.010417,
        0.013021,
        0.015625,
        0.018229,
        0.020833,
        0.023438,
        0.026042,
        0.028646,
        0.03125,
        0.033854,
        0.036458,
        0.039062,
        0.041667,
        0.044271,
        0.046875,
        0.049479,
        0.052083,
        0.054688,
        0.057292,
        0.059896,
        0.0625,
        0.065104,
        0.067708,
        0.070312,
        0.072917,
        0.075521,
        0.078125,
        0.080729,
        0.083333,
        0.085938,
        0.088542,
        0.091146,
        0.09375,
        0.096354,
        0.098958,
        0.101562,
        0.104167,
        0.106771,
        0.109375,
        0.111979,
        0.114583,
        0.117188,
        0.119792,
        0.122396,
        0.125,
        0.127604,
        0.130208,
        0.132812,
        0.135417,
        0.138021,
        0.140625,
        0.143229,
        0.145833,
        0.148438,
        0.151042,
        0.153646,
        0.15625,
        0.158854,
        0.161458,
        0.164062,
        0.166667,
        0.169271,
        0.171875,
        0.174479,
        0.177083,
        0
    … (resposta completa no Swagger do serviço)
  5. 5PATCH/cms/v1/cms/media-assets/{assetId}
    Atualiza media assets
    ver requisição / resposta

    Requisição

    {
      "description": "Descrição atualizada pelo agente de QA"
    }

    Resposta 200

    {
      "id": "e28ea85a-f179-4587-84cb-7b0d120fe8ec",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "title": "qa-agent-picapau-1788224009",
      "description": "Descrição atualizada pelo agente de QA",
      "original_filename_url": "sample-video.mp4",
      "storage_path": "media-assets/1788224010456-sample-video.mp4",
      "mime_type": "video/mp4",
      "checksum_md5": "d6e58531b8ee6b824f27869e7b5c7bd2",
      "source_url": null,
      "thumbnail_storage_path": "media-assets/thumbnails/1788224011729-e28ea85a-f179-4587-84cb-7b0d120fe8ec.jpg",
      "content_type": null,
      "duration": {
        "seconds": 10,
        "milliseconds": 27.855
      },
      "status": "READY",
      "parent_asset_id": null,
      "metadata": {
        "dash_manifest_path": "videos/e28ea85a-f179-4587-84cb-7b0d120fe8ec/manifest.mpd",
        "dash_packaging_state": "ready",
        "media_enrichment_state": "ready",
        "transcode_dash_requested": true,
        "media_enrichment_completed_at": "2026-09-01T00:53:31.773Z"
      },
      "thumbnail_url": "https://media.staging.tv3.dev/vod-content
    … (resposta completa no Swagger do serviço)
  6. 6GET/cms/v1/cms/media-assets/{dashAssetId}
    Aguarda o asset de transcode ficar READY
    ver requisição / resposta

    Resposta 200

    {
      "id": "efc22294-a4c1-41bf-8710-6dd7be0ec958",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "title": "qa-agent-dash-1788224009",
      "description": "MP4 dedicado para transcode DASH",
      "original_filename_url": "sample-dash.mp4",
      "storage_path": "media-assets/1788224024106-sample-dash.mp4",
      "mime_type": "video/mp4",
      "checksum_md5": "cd546e20bb5703a349626cc47f99fee4",
      "source_url": null,
      "thumbnail_storage_path": "media-assets/thumbnails/1788224026921-efc22294-a4c1-41bf-8710-6dd7be0ec958.jpg",
      "content_type": null,
      "duration": {
        "seconds": 3
      },
      "status": "READY",
      "parent_asset_id": null,
      "metadata": {
        "dash_manifest_path": "videos/efc22294-a4c1-41bf-8710-6dd7be0ec958/manifest.mpd",
        "dash_packaging_state": "ready",
        "media_enrichment_state": "ready",
        "transcode_dash_requested": true,
        "media_enrichment_completed_at": "2026-09-01T00:53:46.978Z"
      },
      "thumbnail_url": "https://media.staging.tv3.dev/vod-content/media-assets/thumbnails/1788224026921-efc
    … (resposta completa no Swagger do serviço)
  7. 7POST/cms/v1/cms/media-assets/{dashAssetId}/transcode-dash
    Empacota em DASH (após READY)
    ver requisição / resposta

    Resposta 202

    {
      "id": "efc22294-a4c1-41bf-8710-6dd7be0ec958",
      "broadcaster_id": "0dabe336-2552-49b0-b563-a8de4fde6cfa",
      "title": "qa-agent-dash-1788224009",
      "description": "MP4 dedicado para transcode DASH",
      "original_filename_url": "sample-dash.mp4",
      "storage_path": "media-assets/1788224024106-sample-dash.mp4",
      "mime_type": "video/mp4",
      "checksum_md5": "cd546e20bb5703a349626cc47f99fee4",
      "source_url": null,
      "thumbnail_storage_path": "media-assets/thumbnails/1788224026921-efc22294-a4c1-41bf-8710-6dd7be0ec958.jpg",
      "content_type": null,
      "duration": {
        "seconds": 3
      },
      "status": "INGESTED",
      "parent_asset_id": null,
      "metadata": {
        "dash_manifest_path": "videos/efc22294-a4c1-41bf-8710-6dd7be0ec958/manifest.mpd",
        "dash_packaging_state": "pending",
        "media_enrichment_state": "ready",
        "transcode_dash_requested": true,
        "media_enrichment_completed_at": "2026-09-01T00:53:46.978Z"
      },
      "thumbnail_url": "https://media.staging.tv3.dev/vod-content/media-assets/thumbnails/178822402692
    … (resposta completa no Swagger do serviço)
  8. 8POST/cms/v1/cms/media-assets/{assetId}/clips
    Cria clips
    ↳ retorna clipRequestId, encadeado nos próximos passos
    ver requisição / resposta

    Requisição

    {
      "start_time": "00:00:01.000",
      "end_time": "00:00:03.000"
    }

    Resposta 404

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="utf-8">
    <title>Error</title>
    </head>
    <body>
    <pre>Cannot POST /cms/v1/cms/media-assets/e28ea85a-f179-4587-84cb-7b0d120fe8ec/clips</pre>
    <script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a3404ced99523015',t:'MTc4ODIyNDAzMg=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechang
    … (resposta completa no Swagger do serviço)
  9. 9GET/cms/v1/cms/media-assets/clips/{clipRequestId}
    Obtém clips
  10. 10GET/api/v1/cms/share/media/{assetId}
    Obtém media
    ver requisição / resposta

    Resposta 200

    <!DOCTYPE html>
    <html lang="pt-BR">
    <head>
      <meta charset="utf-8" />
      <meta name="viewport" content="width=device-width, initial-scale=1" />
      <title>qa-agent-picapau-1788224009</title>
      <link rel="canonical" href="https://staging.tv3.dev/api/v1/cms/share/media/e28ea85a-f179-4587-84cb-7b0d120fe8ec" />
      <meta property="og:type" content="video.other" />
      <meta property="og:title" content="qa-agent-picapau-1788224009" />
      <meta property="og:description" content="Descrição atualizada pelo agente de QA" />
      <meta property="og:image" content="https://media.staging.tv3.dev/vod-content/media-assets/thumbnails/1788224011729-e28ea85a-f179-4587-84cb-7b0d120fe8ec.jpg" />
      <meta property="og:url" content="https://vod-stream.staging.tv3.dev/videos/e28ea85a-f179-4587-84cb-7b0d120fe8ec/manifest.mpd" />
      
    </head>
    <body>
      <h1>qa-agent-picapau-1788224009</h1>
      <p>Descrição atualizada pelo agente de QA</p>
    <script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){v
    … (resposta completa no Swagger do serviço)