> ## Documentation Index
> Fetch the complete documentation index at: https://www.macaly.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Get status

> Acompanha o estado do processamento de um chat

Acompanha o estado do processamento de um chat. Útil para verificar se um chat terminou o processamento sem precisares de manter uma ligação de streaming.

## Pedido

```
GET /api/chat/{chatId}/status
```

### Cabeçalhos

| Cabeçalho | Obrigatório | Descrição |
| - | - | - |
| `Authorization` | Sim | `Bearer macaly_...` |

### Parâmetros de caminho

| Parâmetro | Tipo | Descrição |
| - | - | - |
| `chatId` | string | O ID do chat devolvido por `POST /api/chat` |

### Exemplo de pedido

<CodeGroup>
  ```bash cURL theme={null}
  curl https://www.macaly.com/api/chat/abc123/status \
    -H "Authorization: Bearer macaly_abc123..."
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    `https://www.macaly.com/api/chat/${chatId}/status`,
    {
      headers: {
        'Authorization': 'Bearer macaly_abc123...',
      },
    }
  );

  const data = await response.json();
  console.log(data.status);
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      f'https://www.macaly.com/api/chat/{chat_id}/status',
      headers={
          'Authorization': 'Bearer macaly_abc123...',
      },
  )

  data = response.json()
  print(data['status'])
  ```
</CodeGroup>

## Resposta

```json theme={null}
{
  "chatId": "abc123",
  "url": "https://www.macaly.com/chat/abc123",
  "status": "completed",
  "result": {
    "content": "Here's what I built for you..."
  }
}
```

### Campos de resposta

| Campo | Tipo | Descrição |
| - | - | - |
| `chatId` | string | O ID do chat |
| `url` | string | URL para visualizar o chat no navegador |
| `status` | string | Estado atual do processamento (ver abaixo) |
| `result.content` | string | Mensagem final do assistente (apenas quando `completed`) |
| `error.message` | string | Descrição do erro (apenas quando `failed`) |

### Valores de estado

| Estado | Descrição |
| - | - |
| `running` | O processamento está em execução |
| `completed` | Concluído com sucesso |
| `failed` | Ocorreu um erro |
| `cancelled` | O processamento foi cancelado manualmente |
| `no_active_workflow` | Nenhum processamento ativo para este chat |

## Códigos de estado

| Estado | Descrição |
| - | - |
| 200 | Sucesso |
| 401 | Chave API inválida ou em falta |
| 403 | O chat não pertence à tua equipa |
| 404 | Chat não encontrado |

## Como acompanhar o progresso

```bash theme={null}
while true; do
  STATUS=$(curl -s https://www.macaly.com/api/chat/$CHAT_ID/status \
    -H "Authorization: Bearer macaly_...")

  echo "Status: $(echo $STATUS | jq -r .status)"

  if echo "$STATUS" | grep -q '"status":"completed"'; then
    echo "Done!"
    break
  fi

  sleep 2
done
```

## Próximos passos

Assim que o estado for `completed`, podes:

1. **Implementar a app** com [`POST /api/chat/{chatId}/deploy`](/docs/pt/api/deploy)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.