import feign.Body;
import feign.Headers;
import feign.Param;
import feign.RequestLine;
public interface PixAPI {
@Headers({"x-client-cert-pem: {{X-Certificate-Pem}}", "Authorization: {authorization}", "Content-type: application/json"})
@RequestLine("POST /oauth/token")
@Body("{\"grant_type\":\"client_credentials\"}")
OAuthResponseDTO oauthToken(/ String cert, /@Param("authorization") String authorization);
@Headers({/ "x-client-cert-pem: {cert}", / "Authorization: {oauthToken}", "x-mtls-bypass: 1"})
@RequestLine("PUT /v2/webhook/{accountKey}")
@Body("%7B\"webhookUrl\": \"{webhookUrl}\"%7D")
PixWebhookResponseDTO configureWebhook(@Param("oauthToken") String oauthToken, @Param("webhookUrl") String webhookUrl, @Param("accountKey") String accountKey);
@Headers({/ "x-client-cert-pem: {cert}", / "Authorization: {oauthToken}", "x-mtls-bypass: 1"})
@RequestLine("DELETE /v2/webhook/{accountKey}")
void removeWebhook(@Param("oauthToken") String oauthToken, @Param("accountKey") String accountKey);
}