Uma chave, uma mensagem.
A chave de API do PushDrop manda texto para um aparelho, e nada além disso. Quem tem a chave não lê o seu histórico, não descobre os seus outros aparelhos e não entra na sua conta.
Por que ela pode ser entregue
Ao contrário da maioria das chaves de API, esta é feita para circular. Um comando do Raycast, um cron, um amigo que só precisa te cutucar — todos ganham a mesma coisa: escrever uma mensagem, uma vez, para o aparelho que você escolheu.
Revogar é imediato: a chave some do banco e a requisição seguinte responde 401. O que já chegou continua no histórico, assinado com o nome que você deu a ela.
Criar uma chave
No app de macOS ou no Android: Ajustes ▸ Chaves de API ▸ Nova chave.
Dê um nome (Raycast, cron do backup, Ana) e
escolha o aparelho de destino. O nome vira o remetente que aparece na notificação,
então uma chave por pessoa ou por ferramenta vale mais que uma chave para tudo:
revogar uma não corta as outras.
Enviar
POSThttps://pushdrop.brorlandi.xyz/v1/drop
curl -X POST https://pushdrop.brorlandi.xyz/v1/drop \
-H "authorization: Bearer pd_SUACHAVE" \
-H "content-type: application/json" \
-d '{"body":"o build terminou"}'
Resposta 201:
{ "delivered": true, "deviceName": "Pixel 8" }
A chave vai só no header. Não existe versão com a chave no caminho da URL, e isso é de propósito: ali ela acabaria no log de acesso do servidor, no do proxy na frente dele e no histórico do shell de quem enviou.
Quem classifica o conteúdo é o servidor. Um corpo que seja uma URL sozinha vira um push de link — no Android ele abre no navegador; qualquer outra coisa é texto.
Conferir a chave
GEThttps://pushdrop.brorlandi.xyz/v1/drop
Diz para onde a chave aponta, sem enviar nada. Serve para o seu cliente mostrar o destino antes de mandar, em vez de a pessoa descobrir que colou a chave errada pelo silêncio do celular.
{ "deviceName": "Pixel 8", "label": "Raycast" }
Limites
| O quê | Quanto | Por quê |
|---|---|---|
| Corpo | 8 KB | Cobre uma mensagem longa sem a porta virar canal de upload. |
| Envios | 20/min por chave | Por chave e não por IP: ela é feita para circular, então cinco pessoas com a mesma chave em cinco redes são cinco IPs e um celular só. |
| Chaves | 10 por aparelho | Uma lista que cabe na tela é uma lista que você consegue auditar. |
Erros
Todo erro sai no mesmo formato:
{ "error": { "code": "unauthorized", "message": "Chave de API ausente ou inválida." } }
| Código | Quando |
|---|---|
401 | Chave ausente, malformada ou revogada. Os três respondem igual, de propósito. |
400 | Corpo vazio ou acima do limite. |
429 | Passou do teto de envios. Espere um minuto. |
Pronto para usar
A extensão do Raycast já faz tudo isso: você cola a chave uma vez nas preferências e manda pelo teclado. O código está em raycast/.