My email has a couple of AMPScript variables.
This email will be sent using API call. I don't want create profile attributes for these variables. Can I pass the values to these variables using the API call?
Yes, you can. They become personalization variables in the email context. So if you pass an attribute in your API call named
FirstName, you can retrieve it like this:
%%[ var @firstName set @firstName = AttributeValue("FirstName") ]%% Dear %%=v(@firstName)=%%,
You you don't have to create a corresponding Profile Attribute in order to use it.