> ## 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.

# Visão geral da API

> Cria e implementa aplicações web de forma programática com a API da Macaly

A API da Macaly permite que aplicações externas criem chats, criem aplicações web com IA e as implementem em produção de forma programática.

<Callout icon="user">
  Disponível apenas no [**plano Agências**](/docs/pt/welcome/pricing)
</Callout>

## URL base

```
https://www.macaly.com
```

## Início rápido

1. **Obtém uma chave API** - Consulta [Autenticação](/docs/pt/api/authentication)
2. **Cria um chat** - Envia um prompt para começares a criar
3. **Acompanha o progresso** - Espera que a IA termine
4. **Implementa** - Publica a tua app em produção

## Endpoints disponíveis

| Método | Endpoint | Descrição |
| - | - | - |
| POST | [`/api/chat`](/docs/pt/api/create-chat) | Criação de um novo chat e início do trabalho |
| POST | [`/api/chat/{chatId}/publish`](/docs/pt/api/publish-message) | Envio de uma mensagem para um chat existente |
| POST | [`/api/client-app/assets/upload`](/docs/pt/api/upload-asset) | Envio de um ficheiro e obtenção de uma URL CDN permanente |
| GET | [`/api/chat/{chatId}/status`](/docs/pt/api/get-status) | Verificação do estado do processamento |
| GET | [`/api/chat/{chatId}/subscribe`](/docs/pt/api/subscribe-stream) | Subscrição do stream em tempo real |
| POST | [`/api/chat/{chatId}/deploy`](/docs/pt/api/deploy) | Implementação do chat em produção |
| GET | [`/api/chat/{chatId}/deployment`](/docs/pt/api/get-deployment) | Verificação do estado da implementação |

## Limites de pedidos e créditos

* Os pedidos à API consomem créditos do saldo da tua equipa
* A criação de cada chat custa o mesmo que usar a interface web
* As tentativas falhadas com a chave API estão sujeitas a um limite de pedidos (5 por minuto por endereço IP)
* Consulta o teu uso em **Definições → Uso e limites**

## Gestão de erros

Todos os erros devolvem um JSON com um campo `error`:

```json theme={null}
{
  "error": "Error message here"
}
```

### Códigos de estado HTTP

| Estado | Descrição |
| - | - |
| 400 | Bad Request: corpo do pedido inválido |
| 401 | Unauthorized: chave API inválida ou em falta |
| 402 | Payment Required: créditos insuficientes |
| 403 | Forbidden: sem permissão ou equipa errada |
| 404 | Not Found: recurso não encontrado |
| 422 | Unprocessable Entity: erro de validação |
| 429 | Too Many Requests: limite de pedidos atingido |
| 500 | Internal Server Error: erro do servidor |
| 503 | Service Unavailable: o servidor está ocupado, tenta novamente mais tarde |


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