Ummmmm...for most Indians, "Indian" or "American Indian" is preferred. It's because of over-inclusivity and history. If something's too broad, it makes it hard to unite under. Native American could refer to anyone who was born or ancestors were born on the American continent. American Indian, however, is SPECIFIC to the first people. Also, imagine you were just chillin on your land, and then these random people show up out of nowhere speaking a language you've never heard before! Ok, they wanna sign a piece of paper that says we won't fight. Okay, I guess I'll sign it. Ohhhhhhhhhhhh it was just a ruse to kick us off our land. The colonial powers took everything from them and then incorrectly called them Indians. Eventually, they just got used to it.
But NOW, people are like, "Oh no, that's offensive."
It's just like the Latino vs Latinx battle. Latino people prefer latino.
Just to summarize, click this link: https://americanindian.si.edu/nk360/faq/did-you-know#:~:text=The%20consensus%2C%20however%2C%20is%20that,preferred%20by%20many%20Native%20people.