This help page explains our discount settings:
To make a buy-one-get-one offer, you could set up a product-specific discount that takes half of the regular price off every unit of that item when Min. Item Qty. = 2.
It's not possible to have a common discount code or an automatic discount that each buyer can only use once, because our system has no reliable way of knowing who the buyer is until after they have already completed checkout; before that point, all cart orders in progress are effectively anonymous.
The only way to offer a discount that each buyer can only use once would be to create a series of discount codes with Max. Use Count = 1, then issue each buyer their own, unique discount code. To create a series of discount codes with otherwise identical discount settings, just paste your list of codes (with each code on a separate line) into the Discount Codes box when you set up the discount; this will spin off a separate discount for each code you paste in that list. You can use a site like www.random.org/strings to generate a list of random discount codes to copy and paste into the Discount Codes box.