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

> Crie e publique aplicações web de forma programática com a API do Macaly

A API do Macaly permite que aplicações externas criem sessões de chat, construam aplicações web com IA e as publiquem em produção de forma programática.

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

## URL base

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

## Primeiros passos

1. **Obtenha uma chave de API**: veja [Autenticação](/docs/pt-BR/api/authentication)
2. **Crie um chat**: envie um prompt para começar a construir
3. **Aguarde a conclusão**: espere a IA terminar
4. **Publique**: coloque sua aplicação em produção

## Endpoints disponíveis

| Método | Endpoint | Descrição |
| - | - | - |
| POST | [`/api/chat`](/docs/pt-BR/api/create-chat) | Cria um novo chat e começa a construir |
| POST | [`/api/chat/{chatId}/publish`](/docs/pt-BR/api/publish-message) | Envia uma mensagem para um chat existente |
| POST | [`/api/client-app/assets/upload`](/docs/pt-BR/api/upload-asset) | Envia um arquivo e retorna uma URL permanente na CDN |
| GET | [`/api/chat/{chatId}/status`](/docs/pt-BR/api/get-status) | Consulta o status do workflow |
| GET | [`/api/chat/{chatId}/subscribe`](/docs/pt-BR/api/subscribe-stream) | Assina o stream em tempo real |
| POST | [`/api/chat/{chatId}/deploy`](/docs/pt-BR/api/deploy) | Publica o chat em produção |
| GET | [`/api/chat/{chatId}/deployment`](/docs/pt-BR/api/get-deployment) | Consulta o status da publicação |

## Limites e créditos

* As requisições à API consomem créditos do saldo do seu workspace
* Cada chat criado custa o mesmo que na interface web
* Tentativas com chave de API inválida são limitadas (5 por minuto por IP)
* Acompanhe seu uso em **Configurações → Uso e limites**

## Tratamento de erros

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

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

### Códigos de status HTTP

| Código | Descrição |
| - | - |
| 400 | Bad Request: corpo da requisição inválido |
| 401 | Unauthorized: chave de API inválida ou ausente |
| 402 | Payment Required: créditos insuficientes |
| 403 | Forbidden: sem permissão ou workspace incorreto |
| 404 | Not Found: recurso não encontrado |
| 422 | Unprocessable Entity: erro de validação |
| 429 | Too Many Requests: limite de requisições excedido |
| 500 | Internal Server Error: erro no servidor |
| 503 | Service Unavailable: servidor ocupado, tente novamente mais tarde |


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