Body JSON

Pra criar algo (POST), você manda os dados no body da requisição, em JSON, e avisa o formato no header Content-Type: application/json.

curl -X POST https://api-murder.rafaeltoshiba.com.br/api/v1/notebook \
  -H "X-Detective-Key: $DK" \
  -H "Content-Type: application/json" \
  -d '{"text": "Carro vermelho, placa começa com RVA", "tags": ["pista"]}'

No PowerShell, as aspas do JSON quebram de jeitos diferentes conforme a versão. O jeito que sempre funciona é salvar o body num arquivo:

'{"text": "Carro vermelho, placa RVA", "tags": ["pista"]}' | Out-File -Encoding ascii nota.json
curl.exe -X POST https://api-murder.rafaeltoshiba.com.br/api/v1/notebook `
  -H "X-Detective-Key: $env:DK" -H "Content-Type: application/json" --data "@nota.json"

Três erros diferentes, três lições:

Status Erro O que aconteceu
415 unsupported_media_type faltou Content-Type: application/json
400 malformed_json o JSON está quebrado (aspas, vírgula, chave)
422 validation_failed o JSON está certo, mas um campo está faltando ou errado