---
title: "Get Task"
method: GET
path: "/api/companies/{company_uuid}/tasks/{task_uuid}"
tags: ["tasks"]
---

# Get Task

`GET /api/companies/{company_uuid}/tasks/{task_uuid}`

## Request

- Base URL: `https://api.regdoor.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.regdoor.com/api/companies/{company_uuid}/tasks/{task_uuid}`
- Auth: HTTP bearer

Get a single Task, with its content/attachments/prazo history and the
caller's membership in the Task's área (`group_uuid`) and owner Group
(`owner_group_uuid`) — either membership is enough to view.

## Path parameters

- `company_uuid` string, uuid, required
- `task_uuid` string, uuid, required

## Headers

- `X-Teamspace-Uuid` string, uuid, nullable
- `X-User-Email` string, nullable
- `X-User-Name` string, nullable

## Response `200`

Successful Response

- TaskResponse
  - `uuid` string, uuid4, required
  - `company_uuid` string, uuid4, required
  - `content_uuid` string, uuid4, required
  - `group_uuid` string, uuid4, required
  - `owner_group_uuid` string, uuid4, required
  - `status` 'sugerido' | 'aprovado_para_envio' | 'enviado_a_area' | 'em_analise_pela_area' | 'aguardando_aprovacao_juridico' | 'devolvido' | 'conforme' | 'nao_conforme' | 'nao_aplicavel' | 'ciencia_registrada' | 'em_execucao' | 'aguardando_aprovacao_conclusao', required: Compliance Workflow v1 Task macro-status. `sugerido` still belongs to the (future, out of scope) relevance/routing engine. `aprovado_para_envio` is the real "waiting on Jurídico" pre-send state for a `informativo=False` Task created by the Regulatory evaluation drawer: Jurídico fills `prazo_atual` (and optionally `assunto_principal`/`criticidade`/`analise_juridico_regulatorio`) then sends it on to the área (see `task_state_machine.send_task_to_area`).
  - `area_substatus` 'nao_iniciado' | 'em_analise'
  - `aplicavel` boolean, nullable
  - `justificativa_nao_aplicavel` string, nullable
  - `justificativa_devolucao` string, nullable
  - `justificativa_nao_conforme` string, nullable
  - `informativo` boolean, nullable
  - `criticidade` 'alta' | 'media' | 'baixa'
  - `assunto_principal` string, nullable
  - `analise_juridico_regulatorio` string, nullable
  - `vincula_obrigacao` boolean, required
  - `vincula_obrigacao_periodica` boolean, required
  - `vincula_politicas_obrigatorias` boolean, required
  - `comite_obrigatorio` boolean, required
  - `envolve_criacao_atualizacao_politica` boolean, required
  - `indicacao_diretores` boolean, required
  - `envolve_mudancas_sistemicas` boolean, required
  - `envolve_interacao_clientes` boolean, required
  - `plano_de_acao` string, nullable
  - `etapa_plano_acao` boolean
  - `etapa_conclusao` boolean
  - `conclusao_texto` string, nullable
  - `prazo_atual` string, date, nullable
  - `prazo_conclusao` string, date, nullable
  - `prazo_vigencia_norma` string, date, nullable
  - `ai_fill_status` 'processing' | 'done' | 'failed': State of the `task-fields-suggester` Managed Agent run for one Task's Jurídico fields (`assunto_principal`/`criticidade`/`analise_juridico_regulatorio`/ `prazo_atual`). `None` means it was never triggered (Task is `informativo=True`, or predates this feature). `processing` is set right when the Task is created (or a retry is requested); the agent's callback flips it to `done`/`failed`. On `failed`, the Jurídico form falls back to manual entry with a "Fill with AI" retry button.
  - `status_updated_at` string, date-time, required
  - `created_at` string, date-time, required
  - `created_by` UserBase
    - `uuid` string, uuid4, required
    - `name` string, required
    - `phone_number` string, nullable
    - `email` string, email, required
    - `avatar_file_name` string, nullable
    - `ui_language` 'en' | 'pt' | 'es', nullable
    - `avatar_url` string, nullable, required: Get the avatar URL based on the filename if one exists
  - `owner` UserBase
    - `uuid` string, uuid4, required
    - `name` string, required
    - `phone_number` string, nullable
    - `email` string, email, required
    - `avatar_file_name` string, nullable
    - `ui_language` 'en' | 'pt' | 'es', nullable
    - `avatar_url` string, nullable, required: Get the avatar URL based on the filename if one exists
  - `anexos` TaskAttachmentResponse[]
    - `uuid` string, uuid4, required
    - `task_uuid` string, uuid4, required
    - `original_filename` string, required
    - `content_type` string, required
    - `size_bytes` integer, nullable
    - `kind` 'plano' | 'conclusao': Which step an anexo belongs to: the plano de ação's files or the completion evidence. Stored as a plain string column (no PG enum type).
    - `file_url` string, nullable
    - `created_at` string, date-time, required
  - `prazo_historico` PrazoRevisaoResponse[]
    - `uuid` string, uuid4, required
    - `campo` 'plano' | 'conclusao': Which Task deadline a revision applies to (stored as a plain string).
    - `data_anterior` string, date, required
    - `data_proposta` string, date, required
    - `proposto_por` 'area' | 'juridico', required
    - `status` 'pendente_aprovacao' | 'aprovado' | 'rejeitado', required
    - `resolved_at` string, date-time, nullable
    - `created_at` string, date-time, required
  - `legal_entities` TaskLegalEntitySummary[]
    - `uuid` string, uuid4, required
    - `legal_name` string, required
  - `plano_acao_historico` TaskPlanoAcaoVersionResponse[]
    - `uuid` string, uuid4, required
    - `plano_de_acao` string, required
    - `replaced_at` string, date-time, required
  - `atraso` TaskAtrasoFlags, required: Derived, read-time-only SLA indicators (`task_state_machine. compute_atraso`) — never persisted on TaskModel. Each axis is `"no_prazo" | "atencao" | "atrasado"`, independent of `task.status`.
    - `juridico_triagem` 'no_prazo' | 'atencao' | 'atrasado', required
    - `juridico_aprovacao` 'no_prazo' | 'atencao' | 'atrasado', required
    - `area` 'no_prazo' | 'atencao' | 'atrasado', required
    - `vigencia_norma` 'no_prazo' | 'atencao' | 'atrasado', required
  - `is_area_member` boolean, required
  - `is_owner_group_member` boolean, required

## Other responses

- `404`: Not found
- `422`: Validation Error

---

[API](https://skmtc.dev/regdoor/apis/regdoor-api.md) - [All operations](https://skmtc.dev/regdoor/apis/regdoor-api/llms.txt) - [OpenAPI document](https://skmtc.dev/regdoor/apis/regdoor-api/revisions/7642336631af?raw)
