Solicitações
Demandas entre times, com análise do gestor, aceite em tarefa e registro da conclusão.
O que é
Solicitações são os pedidos que um time faz a outro: um ajuste, uma tela nova, um problema para resolver. O gestor do time que recebe analisa e decide; quando aceita, o pedido vira tarefa num quadro do time.
Pela API, uma integração ou uma IA abre e acompanha solicitações e, com a permissão de decidir, faz a triagem — com as mesmas regras, avisos e histórico do painel.
O que dá para fazer hoje
- Listar as solicitações abertas pelo usuário e as recebidas pelos times dele.
- Consultar uma solicitação.
- Abrir uma solicitação para outro time.
- Editar ou cancelar uma solicitação ainda em análise.
- Aceitar para execução ou como ideia, e recusar com motivo.
- Registrar a conclusão.
- Contestar uma recusa.
Ciclo de uma solicitação
| Estado | Significado | Como chega |
|---|---|---|
pending | Em análise pelo gestor do time destinatário | Abrir, ou contestar uma recusa |
accepted | Aceita para execução, com tarefa e responsável | Aceitar com execution |
backlog | Aceita como ideia, para distribuir depois | Aceitar com backlog |
rejected | Recusada, com motivo | Recusar |
cancelled | Cancelada pelo autor | Cancelar |
Importante
- O estado nunca é escrito direto: muda só pelas ações, cada uma com sua permissão.
- Abrir e todas as ações exigem
Idempotency-Key, porque criam tarefa e disparam avisos. - Ação num estado que não a permite responde
409invalid_transition. - Leitura exige
requests:read; abrir, editar, cancelar e contestar,requests:write; aceitar, recusar e concluir,requests:decide.
Disponibilidade na API
Endpoints de Solicitações
Abra, acompanhe e decida solicitações entre times, do pedido à conclusão. Os exemplos abaixo são gerados pelo contrato OpenAPI oficial.
/api/v1/requests
Lista solicitações entre times
Exige `requests:read` e a permissão Solicitações (visualizar). Lista só as solicitações abertas pelo usuário responsável (`box=mine`) e as recebidas pelos times dos quais ele participa (`box=received`); sem `box`, as duas. Mais recentes primeiro.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
boxquery | string | Não | mine: abertas pelo usuário; received: recebidas pelos times dele. |
statusquery | string | Não | — |
priorityquery | string | Não | — |
recipient_team_idquery | integer | Não | — |
requester_team_idquery | integer | Não | — |
request_type_idquery | integer | Não | — |
created_fromquery | string (date) | Não | Abertas a partir deste dia. |
created_toquery | string (date) | Não | Abertas até este dia. |
resolvedquery | boolean | Não | true: com conclusão registrada; false: ainda sem conclusão. Aceita true/false ou 1/0. |
resolved_fromquery | string (date) | Não | — |
resolved_toquery | string (date) | Não | — |
searchquery | string | Não | Busca no título e no nome do autor. |
per_pagequery | integer | Não | — |
Exemplo de requisição
curl "$MICORE_BASE_URL/requests" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json"Exemplo de resposta JSON
{
"data": [
{
"id": 321,
"title": "Nova tela de relatórios",
"description": "<p>Precisamos do relatório de vendas por vendedor.</p>",
"status": "accepted",
"triage_state": "decided",
"contested": false,
"contested_at": null,
"priority": "critical",
"submitted_priority": "high",
"request_type": {
"id": 12,
"name": "Ajuste"
},
"submitted_request_type": {
"id": 12,
"name": "Ajuste"
},
"requester_team": {
"id": 2,
"name": "Comercial"
},
"recipient_team": {
"id": 3,
"name": "Desenvolvimento"
},
"author": {
"id": 9,
"name": "Bruno Lima"
},
"responsible": {
"id": 7,
"name": "Ana Souza"
},
"decided_by": {
"id": 5,
"name": "Carla Dias"
},
"board": {
"id": 4,
"name": "Desenvolvimento"
},
"task_id": 512,
"acceptance_type": "execution",
"return_text": "<p>Entra na próxima semana.</p>",
"desired_delivery_date": "2026-11-10",
"expected_delivery_date": "2026-11-05",
"decided_at": "2026-10-21T09:30:00-03:00",
"resolved_at": null,
"resolved_by": null,
"resolution_source": null,
"resolution_note": null,
"attachment_url": null,
"created_at": "2026-10-20T14:00:00-03:00",
"updated_at": "2026-10-21T09:30:00-03:00"
}
],
"links": [],
"meta": []
}Respostas possíveis
/api/v1/requests
Abre uma solicitação para um time
Exige `requests:write` e a permissão Solicitações (criar). A solicitação nasce sempre pendente (`pending`), em análise pelo gestor do time destinatário, que é avisado. O tipo precisa ser ativo do time destinatário; o prazo desejado segue a política do time (obrigatório, opcional ou desabilitado). Sem `requester_team_id`, vale o único time do usuário. Anexo não é enviado pela API.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
Idempotency-Keyheader | string | Sim | Identificador único da mutação, com 8 a 100 caracteres. O resultado fica reutilizável por 24 horas e a chave não pode ser reutilizada depois de expirar. |
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
title | string | Sim | Até 255 caracteres. |
description | string | null | Não | HTML aceito. |
recipient_team_id | integer | Sim | Time ativo que recebe a solicitação (veja /teams). |
request_type_id | integer | Sim | Tipo ativo do time destinatário. |
requester_team_id | integer | Não | Time do usuário que pede; obrigatório quando ele participa de mais de um. |
priority | string | null | Não | Sem urgência, vale medium. Valores: critical, high, medium, low. |
desired_delivery_date | string | null (date) | Não | Segue a política de prazo do time destinatário. |
Exemplo de requisição
curl -X POST "$MICORE_BASE_URL/requests" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Idempotency-Key: board-request-0001" \
-H "Content-Type: application/json" \
-d '{"title":"string","description":null,"recipient_team_id":1,"request_type_id":1,"requester_team_id":1,"priority":"critical","desired_delivery_date":"2026-10-20"}'Exemplo de resposta JSON
{
"data": {
"id": 321,
"title": "Nova tela de relatórios",
"description": "<p>Precisamos do relatório de vendas por vendedor.</p>",
"status": "accepted",
"triage_state": "decided",
"contested": false,
"contested_at": null,
"priority": "critical",
"submitted_priority": "high",
"request_type": {
"id": 12,
"name": "Ajuste"
},
"submitted_request_type": {
"id": 12,
"name": "Ajuste"
},
"requester_team": {
"id": 2,
"name": "Comercial"
},
"recipient_team": {
"id": 3,
"name": "Desenvolvimento"
},
"author": {
"id": 9,
"name": "Bruno Lima"
},
"responsible": {
"id": 7,
"name": "Ana Souza"
},
"decided_by": {
"id": 5,
"name": "Carla Dias"
},
"board": {
"id": 4,
"name": "Desenvolvimento"
},
"task_id": 512,
"acceptance_type": "execution",
"return_text": "<p>Entra na próxima semana.</p>",
"desired_delivery_date": "2026-11-10",
"expected_delivery_date": "2026-11-05",
"decided_at": "2026-10-21T09:30:00-03:00",
"resolved_at": null,
"resolved_by": null,
"resolution_source": null,
"resolution_note": null,
"attachment_url": null,
"created_at": "2026-10-20T14:00:00-03:00",
"updated_at": "2026-10-21T09:30:00-03:00"
}
}Respostas possíveis
/api/v1/requests/{teamRequest}
Consulta uma solicitação
Exige `requests:read`. Visível ao autor e a quem participa do time destinatário; para os demais responde 404.
Exemplo de requisição
curl "$MICORE_BASE_URL/requests/{teamRequest}" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json"Exemplo de resposta JSON
{
"data": {
"id": 321,
"title": "Nova tela de relatórios",
"description": "<p>Precisamos do relatório de vendas por vendedor.</p>",
"status": "accepted",
"triage_state": "decided",
"contested": false,
"contested_at": null,
"priority": "critical",
"submitted_priority": "high",
"request_type": {
"id": 12,
"name": "Ajuste"
},
"submitted_request_type": {
"id": 12,
"name": "Ajuste"
},
"requester_team": {
"id": 2,
"name": "Comercial"
},
"recipient_team": {
"id": 3,
"name": "Desenvolvimento"
},
"author": {
"id": 9,
"name": "Bruno Lima"
},
"responsible": {
"id": 7,
"name": "Ana Souza"
},
"decided_by": {
"id": 5,
"name": "Carla Dias"
},
"board": {
"id": 4,
"name": "Desenvolvimento"
},
"task_id": 512,
"acceptance_type": "execution",
"return_text": "<p>Entra na próxima semana.</p>",
"desired_delivery_date": "2026-11-10",
"expected_delivery_date": "2026-11-05",
"decided_at": "2026-10-21T09:30:00-03:00",
"resolved_at": null,
"resolved_by": null,
"resolution_source": null,
"resolution_note": null,
"attachment_url": null,
"created_at": "2026-10-20T14:00:00-03:00",
"updated_at": "2026-10-21T09:30:00-03:00"
}
}Respostas possíveis
/api/v1/requests/{teamRequest}
Edita uma solicitação pendente
Exige `requests:write` e a permissão Solicitações (editar). Edição parcial: só os campos enviados mudam; o resto fica como está. Só o autor edita, e só enquanto a solicitação está pendente (depois da decisão responde 409 `invalid_transition`). O estado nunca é editado aqui: muda pelas ações accept, reject, resolve, cancel e contest. Como no painel, a edição revalida time, tipo e prazo e mantém o gestor do time destinatário como responsável.
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
title | string | Não | Até 255 caracteres. |
description | string | null | Não | — |
recipient_team_id | integer | Não | Ao trocar o time, envie também um tipo ativo dele. |
request_type_id | integer | Não | — |
requester_team_id | integer | Não | — |
priority | string | Não | Valores: critical, high, medium, low. |
desired_delivery_date | string | null (date) | Não | — |
Exemplo de requisição
curl -X PATCH "$MICORE_BASE_URL/requests/{teamRequest}" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"title":"string","description":null,"recipient_team_id":1,"request_type_id":1,"requester_team_id":1,"priority":"critical","desired_delivery_date":"2026-10-20"}'Exemplo de resposta JSON
{
"data": {
"id": 321,
"title": "Nova tela de relatórios",
"description": "<p>Precisamos do relatório de vendas por vendedor.</p>",
"status": "accepted",
"triage_state": "decided",
"contested": false,
"contested_at": null,
"priority": "critical",
"submitted_priority": "high",
"request_type": {
"id": 12,
"name": "Ajuste"
},
"submitted_request_type": {
"id": 12,
"name": "Ajuste"
},
"requester_team": {
"id": 2,
"name": "Comercial"
},
"recipient_team": {
"id": 3,
"name": "Desenvolvimento"
},
"author": {
"id": 9,
"name": "Bruno Lima"
},
"responsible": {
"id": 7,
"name": "Ana Souza"
},
"decided_by": {
"id": 5,
"name": "Carla Dias"
},
"board": {
"id": 4,
"name": "Desenvolvimento"
},
"task_id": 512,
"acceptance_type": "execution",
"return_text": "<p>Entra na próxima semana.</p>",
"desired_delivery_date": "2026-11-10",
"expected_delivery_date": "2026-11-05",
"decided_at": "2026-10-21T09:30:00-03:00",
"resolved_at": null,
"resolved_by": null,
"resolution_source": null,
"resolution_note": null,
"attachment_url": null,
"created_at": "2026-10-20T14:00:00-03:00",
"updated_at": "2026-10-21T09:30:00-03:00"
}
}Respostas possíveis
/api/v1/requests/{teamRequest}/accept
Aceita uma solicitação pendente
Exige `requests:decide` e a permissão Solicitações (resolver solicitações). Só o gestor do time destinatário ou o autor decide. `execution` cria a tarefa no quadro escolhido (do time destinatário, com etapa de backlog) atribuída ao responsável, que precisa participar do quadro; `backlog` cria a tarefa para distribuição e deixa a solicitação como ideia. A urgência vira tag na tarefa, o texto de retorno vira comentário e o autor é avisado. Só solicitações pendentes: as demais respondem 409 `invalid_transition`.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
Idempotency-Keyheader | string | Sim | Identificador único da mutação, com 8 a 100 caracteres. O resultado fica reutilizável por 24 horas e a chave não pode ser reutilizada depois de expirar. |
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
acceptance_type | string | Sim | execution: tarefa com responsável; backlog: ideia para distribuir depois. Valores: execution, backlog. |
board_id | integer | Sim | Quadro ativo do time destinatário, com etapa de backlog. |
responsible_user_id | integer | null | Não | Obrigatório em execution; precisa participar do quadro. |
expected_delivery_date | string | null (date) | Não | Só em execution; hoje ou futura. |
priority | string | null | Não | Sem urgência, mantém a atual. Valores: critical, high, medium, low. |
return_text | string | null | Não | Retorno ao autor; vira comentário na tarefa. |
request_type_id | integer | null | Não | Reclassifica para outro tipo ativo do time. |
Exemplo de requisição
curl -X POST "$MICORE_BASE_URL/requests/{teamRequest}/accept" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Idempotency-Key: board-request-0001" \
-H "Content-Type: application/json" \
-d '{"acceptance_type":"execution","board_id":1,"responsible_user_id":1,"expected_delivery_date":"2026-10-20","priority":"critical","return_text":null,"request_type_id":1}'Exemplo de resposta JSON
{
"data": {
"id": 321,
"title": "Nova tela de relatórios",
"description": "<p>Precisamos do relatório de vendas por vendedor.</p>",
"status": "accepted",
"triage_state": "decided",
"contested": false,
"contested_at": null,
"priority": "critical",
"submitted_priority": "high",
"request_type": {
"id": 12,
"name": "Ajuste"
},
"submitted_request_type": {
"id": 12,
"name": "Ajuste"
},
"requester_team": {
"id": 2,
"name": "Comercial"
},
"recipient_team": {
"id": 3,
"name": "Desenvolvimento"
},
"author": {
"id": 9,
"name": "Bruno Lima"
},
"responsible": {
"id": 7,
"name": "Ana Souza"
},
"decided_by": {
"id": 5,
"name": "Carla Dias"
},
"board": {
"id": 4,
"name": "Desenvolvimento"
},
"task_id": 512,
"acceptance_type": "execution",
"return_text": "<p>Entra na próxima semana.</p>",
"desired_delivery_date": "2026-11-10",
"expected_delivery_date": "2026-11-05",
"decided_at": "2026-10-21T09:30:00-03:00",
"resolved_at": null,
"resolved_by": null,
"resolution_source": null,
"resolution_note": null,
"attachment_url": null,
"created_at": "2026-10-20T14:00:00-03:00",
"updated_at": "2026-10-21T09:30:00-03:00"
}
}Respostas possíveis
/api/v1/requests/{teamRequest}/reject
Recusa uma solicitação pendente
Exige `requests:decide` e a permissão Solicitações (resolver solicitações). Só o gestor do time destinatário ou o autor decide; o motivo é obrigatório e precisa ter texto. O autor é avisado e pode contestar uma vez. Só solicitações pendentes: as demais respondem 409 `invalid_transition`.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
Idempotency-Keyheader | string | Sim | Identificador único da mutação, com 8 a 100 caracteres. O resultado fica reutilizável por 24 horas e a chave não pode ser reutilizada depois de expirar. |
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
return_text | string | Sim | Motivo da recusa (HTML aceito; precisa ter texto). |
request_type_id | integer | null | Não | Reclassifica para outro tipo ativo do time. |
Exemplo de requisição
curl -X POST "$MICORE_BASE_URL/requests/{teamRequest}/reject" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Idempotency-Key: board-request-0001" \
-H "Content-Type: application/json" \
-d '{"return_text":"string","request_type_id":1}'Exemplo de resposta JSON
{
"data": {
"id": 321,
"title": "Nova tela de relatórios",
"description": "<p>Precisamos do relatório de vendas por vendedor.</p>",
"status": "accepted",
"triage_state": "decided",
"contested": false,
"contested_at": null,
"priority": "critical",
"submitted_priority": "high",
"request_type": {
"id": 12,
"name": "Ajuste"
},
"submitted_request_type": {
"id": 12,
"name": "Ajuste"
},
"requester_team": {
"id": 2,
"name": "Comercial"
},
"recipient_team": {
"id": 3,
"name": "Desenvolvimento"
},
"author": {
"id": 9,
"name": "Bruno Lima"
},
"responsible": {
"id": 7,
"name": "Ana Souza"
},
"decided_by": {
"id": 5,
"name": "Carla Dias"
},
"board": {
"id": 4,
"name": "Desenvolvimento"
},
"task_id": 512,
"acceptance_type": "execution",
"return_text": "<p>Entra na próxima semana.</p>",
"desired_delivery_date": "2026-11-10",
"expected_delivery_date": "2026-11-05",
"decided_at": "2026-10-21T09:30:00-03:00",
"resolved_at": null,
"resolved_by": null,
"resolution_source": null,
"resolution_note": null,
"attachment_url": null,
"created_at": "2026-10-20T14:00:00-03:00",
"updated_at": "2026-10-21T09:30:00-03:00"
}
}Respostas possíveis
/api/v1/requests/{teamRequest}/resolve
Registra a conclusão de uma solicitação
Exige `requests:decide` e a permissão Solicitações (resolver solicitações). Vale para solicitações aceitas (`accepted`) ou ideias (`backlog`), por quem participa do quadro da solicitação. Sem `resolved_at`, a conclusão vale agora; repetir com outra chave atualiza a data e a observação, como no painel. Aceitar não conclui: a conclusão é um registro próprio. Outros estados respondem 409 `invalid_transition`.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
Idempotency-Keyheader | string | Sim | Identificador único da mutação, com 8 a 100 caracteres. O resultado fica reutilizável por 24 horas e a chave não pode ser reutilizada depois de expirar. |
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
resolved_at | string | null (date-time) | Não | Sem data, vale agora. |
resolution_note | string | null | Não | Até 2000 caracteres. |
Exemplo de requisição
curl -X POST "$MICORE_BASE_URL/requests/{teamRequest}/resolve" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Idempotency-Key: board-request-0001" \
-H "Content-Type: application/json" \
-d '{"resolved_at":"2026-10-20T10:00:00-03:00","resolution_note":null}'Exemplo de resposta JSON
{
"data": {
"id": 321,
"title": "Nova tela de relatórios",
"description": "<p>Precisamos do relatório de vendas por vendedor.</p>",
"status": "accepted",
"triage_state": "decided",
"contested": false,
"contested_at": null,
"priority": "critical",
"submitted_priority": "high",
"request_type": {
"id": 12,
"name": "Ajuste"
},
"submitted_request_type": {
"id": 12,
"name": "Ajuste"
},
"requester_team": {
"id": 2,
"name": "Comercial"
},
"recipient_team": {
"id": 3,
"name": "Desenvolvimento"
},
"author": {
"id": 9,
"name": "Bruno Lima"
},
"responsible": {
"id": 7,
"name": "Ana Souza"
},
"decided_by": {
"id": 5,
"name": "Carla Dias"
},
"board": {
"id": 4,
"name": "Desenvolvimento"
},
"task_id": 512,
"acceptance_type": "execution",
"return_text": "<p>Entra na próxima semana.</p>",
"desired_delivery_date": "2026-11-10",
"expected_delivery_date": "2026-11-05",
"decided_at": "2026-10-21T09:30:00-03:00",
"resolved_at": null,
"resolved_by": null,
"resolution_source": null,
"resolution_note": null,
"attachment_url": null,
"created_at": "2026-10-20T14:00:00-03:00",
"updated_at": "2026-10-21T09:30:00-03:00"
}
}Respostas possíveis
/api/v1/requests/{teamRequest}/cancel
Cancela uma solicitação pendente
Exige `requests:write` e a permissão Solicitações (editar). Só o autor cancela, e só enquanto a solicitação está pendente; o gestor do time destinatário é avisado. Cancelada ou já decidida responde 409 `invalid_transition`. Sem corpo.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
Idempotency-Keyheader | string | Sim | Identificador único da mutação, com 8 a 100 caracteres. O resultado fica reutilizável por 24 horas e a chave não pode ser reutilizada depois de expirar. |
Exemplo de requisição
curl -X POST "$MICORE_BASE_URL/requests/{teamRequest}/cancel" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Idempotency-Key: board-request-0001"Exemplo de resposta JSON
{
"data": {
"id": 321,
"title": "Nova tela de relatórios",
"description": "<p>Precisamos do relatório de vendas por vendedor.</p>",
"status": "accepted",
"triage_state": "decided",
"contested": false,
"contested_at": null,
"priority": "critical",
"submitted_priority": "high",
"request_type": {
"id": 12,
"name": "Ajuste"
},
"submitted_request_type": {
"id": 12,
"name": "Ajuste"
},
"requester_team": {
"id": 2,
"name": "Comercial"
},
"recipient_team": {
"id": 3,
"name": "Desenvolvimento"
},
"author": {
"id": 9,
"name": "Bruno Lima"
},
"responsible": {
"id": 7,
"name": "Ana Souza"
},
"decided_by": {
"id": 5,
"name": "Carla Dias"
},
"board": {
"id": 4,
"name": "Desenvolvimento"
},
"task_id": 512,
"acceptance_type": "execution",
"return_text": "<p>Entra na próxima semana.</p>",
"desired_delivery_date": "2026-11-10",
"expected_delivery_date": "2026-11-05",
"decided_at": "2026-10-21T09:30:00-03:00",
"resolved_at": null,
"resolved_by": null,
"resolution_source": null,
"resolution_note": null,
"attachment_url": null,
"created_at": "2026-10-20T14:00:00-03:00",
"updated_at": "2026-10-21T09:30:00-03:00"
}
}Respostas possíveis
/api/v1/requests/{teamRequest}/contest
Contesta a recusa de uma solicitação
Exige `requests:write` e a permissão Solicitações (visualizar). Só o autor contesta uma recusa (`rejected`), uma única vez; a solicitação volta para pendente com `triage_state` `contested`, a decisão anterior fica no histórico e o gestor do time destinatário é avisado. Outros estados ou segunda contestação respondem 409 `invalid_transition`.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
Idempotency-Keyheader | string | Sim | Identificador único da mutação, com 8 a 100 caracteres. O resultado fica reutilizável por 24 horas e a chave não pode ser reutilizada depois de expirar. |
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
message | string | Sim | Motivo da contestação (HTML aceito; precisa ter texto). |
Exemplo de requisição
curl -X POST "$MICORE_BASE_URL/requests/{teamRequest}/contest" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Idempotency-Key: board-request-0001" \
-H "Content-Type: application/json" \
-d '{"message":"string"}'Exemplo de resposta JSON
{
"data": {
"id": 321,
"title": "Nova tela de relatórios",
"description": "<p>Precisamos do relatório de vendas por vendedor.</p>",
"status": "accepted",
"triage_state": "decided",
"contested": false,
"contested_at": null,
"priority": "critical",
"submitted_priority": "high",
"request_type": {
"id": 12,
"name": "Ajuste"
},
"submitted_request_type": {
"id": 12,
"name": "Ajuste"
},
"requester_team": {
"id": 2,
"name": "Comercial"
},
"recipient_team": {
"id": 3,
"name": "Desenvolvimento"
},
"author": {
"id": 9,
"name": "Bruno Lima"
},
"responsible": {
"id": 7,
"name": "Ana Souza"
},
"decided_by": {
"id": 5,
"name": "Carla Dias"
},
"board": {
"id": 4,
"name": "Desenvolvimento"
},
"task_id": 512,
"acceptance_type": "execution",
"return_text": "<p>Entra na próxima semana.</p>",
"desired_delivery_date": "2026-11-10",
"expected_delivery_date": "2026-11-05",
"decided_at": "2026-10-21T09:30:00-03:00",
"resolved_at": null,
"resolved_by": null,
"resolution_source": null,
"resolution_note": null,
"attachment_url": null,
"created_at": "2026-10-20T14:00:00-03:00",
"updated_at": "2026-10-21T09:30:00-03:00"
}
}