public static function create(
        int $monetaryAccountPayingId,
        int $requestId,
        Amount $maximumAmountPerMonth,
        array $customHeaders = []
    ): BunqResponseInt {
        $apiClient = new ApiClient(static::getApiContext());
        $responseRaw = $apiClient->post(
            vsprintf(
                self::ENDPOINT_URL_CREATE,
                [static::determineUserId()]
            ),
            [
                self::FIELD_MONETARY_ACCOUNT_PAYING_ID => $monetaryAccountPayingId,
                self::FIELD_REQUEST_ID => $requestId,
                self::FIELD_MAXIMUM_AMOUNT_PER_MONTH => $maximumAmountPerMonth,
            ],
            $customHeaders
        );

        return BunqResponseInt::castFromBunqResponse(
            static::processForId($responseRaw)
        );
    }