url de compartilhamento.x-api-key: um link de outra empresa responde 404, exatamente como um link inexistente. Isso é intencional — a resposta não revela que o identificador existe em outra conta.paymentLinkId precisa estar no formato correto. Fora do formato, a resposta é 400.isActive para saber se o link aceita pagamento.404: a exclusão é lógica, mas o link deixa de ser acessível por aqui.id, name, slug, url, amountInCents, pixEnabled, bankSlipEnabled, bankSlipDueDays, creditCardEnabled, maxInstallments, maxInterestFreeInstallments, isActive, companyId, createdAt e updatedAt. A descrição de cada um está em Listar links de pagamento.| Código | Motivo. |
|---|---|
400 | paymentLinkId fora do formato correto. |
401 | x-api-key ausente ou inválida. |
403 | API_KEY_E001 — chave revogada. |
403 | Links de pagamento não habilitados para a sua conta. |
404 | PAYMENT_LINK_E001 — link inexistente, excluído ou de outra empresa. |
429 | Acima de 60 requisições por minuto, contadas por empresa e não por IP. |
500 | Erro interno — tente novamente após alguns segundos. |
400 de formato do paymentLinkId vem como { "message": "ID inválido", "error": "Bad Request", "statusCode": 400 }. Os erros de regra de negócio vêm com code e sem statusCode; os de api-key vêm com statusCode no corpo.curl --location 'https://api.bestfy.io/public-api/payment-link/' \
--header 'User-Agent: <nome-do-projeto>' \
--header 'x-api-key: <api-key>'{
"id": "f1ed95e8-8ae7-4c77-85d8-8825107e3ac6",
"name": "Consultoria 1h",
"slug": "aB3dE9fGh1k",
"amountInCents": 15000,
"pixEnabled": true,
"creditCardEnabled": true,
"maxInstallments": 12,
"maxInterestFreeInstallments": 1,
"isActive": true,
"companyId": "f196ef96-6456-4c90-a466-eb1b22ab8f2e",
"createdAt": "2026-02-03T03:16:35.289Z",
"updatedAt": "2026-09-10T12:04:05.824Z",
"url": "https://checkout.bestfy.io/pay/aB3dE9fGh1k"
}