Looking at the api docs. I think I am passing what I should, but i'm getting that error.

<cfhttp method="get" url="#paypal_enviroment.api_url#" throwonerror="yes">
<cfhttpparam type="url" name="user" value="#paypal_enviroment.api_user#">
<cfhttpparam type="url" name="pwd" value="#paypal_enviroment.api_pwd#">
<cfhttpparam type="url" name="signature" value="#paypal_enviroment.api_signature#">
<cfhttpparam type="url" name="returnurl" value="#paypal_enviroment.return_url#">
<cfhttpparam type="url" name="cancelurl" value="#paypal_enviroment.cancel_url#">
<cfhttpparam type="url" name="method" value="SetExpressCheckout">
<cfhttpparam type="url" name="PAYMENTREQUEST_0_PAYMENTACTION" value="Sale">
<cfhttpparam type="url" name="PAYMENTREQUEST_0_CURRENCYCODE" value="USD">
<cfhttpparam type="url" name="allownote" value="1">
<cfhttpparam type="url" name="version" value="60.0">
<cfhttpparam type="url" name="noshipping" value="2">
<cfhttpparam type="url" name="PAYMENTREQUEST_0_SHIPPINGAMT" value="#numberformat( variables.shipping_cost, "9999.99" )#">
<cfif arguments.add_insurance>
<cfhttpparam type="url" name="PAYMENTREQUEST_0_INSURANCEOPTIONOFFERED" value="true">
<cfhttpparam type="url" name="PAYMENTREQUEST_0_INSURANCEAMT" value="#numberformat( variables.insuranceamt, "9999.99" )#">
</cfif>
<cfset variables.item_total = 0>
<cfloop query="qry_paypallock_get">
<cfset variables.item_total = variables.item_total + ( qry_paypallock_get.unitprice * qry_paypallock_get.quantity )>
<cfset variables.paypal_item_row = qry_paypallock_get.currentrow - 1>
<cfhttpparam type="url" name="L_PAYMENTREQUEST_0_NAME#variables.paypal_item_row#" value="#qry_paypallock_get.name#">
<cfhttpparam type="url" name="L_PAYMENTREQUEST_0_NUMBER#variables.paypal_item_row#" value="#qry_paypallock_get.tblproductsfk#">
<cfhttpparam type="url" name="L_PAYMENTREQUEST_0_DESC#variables.paypal_item_row#" value="#qry_paypallock_get.shortdescription#">
<cfhttpparam type="url" name="L_PAYMENTREQUEST_0_AMT#variables.paypal_item_row#" value="#numberformat(qry_paypallock_get.unitprice, "9999.99" )#">
<cfhttpparam type="url" name="L_PAYMENTREQUEST_0_QTY#variables.paypal_item_row#" value="#qry_paypallock_get.quantity#">
</cfloop>
<cfhttpparam type="url" name="PAYMENTREQUEST_0_ITEMAMT" value="#numberformat( variables.item_total, "9999.99" )#">

<cfset variables.order_total = variables.item_total + variables.shipping_cost + variables.insuranceamt>
<cfhttpparam type="url" name="PAYMENTREQUEST_0_AMT" value="#numberformat( variables.order_total, "9999.99" )#">
</cfhttp>

Here is what I am passing:
ALLOWNOTE 1
CANCELURL (redacted)
L_PAYMENTREQUEST_0_AMT0 14.00
L_PAYMENTREQUEST_0_DESC0 Laurel Burch Mini Bag zipper top 11" x 3" x 8"
L_PAYMENTREQUEST_0_NAME0 Indigo Cats Mini Bag
L_PAYMENTREQUEST_0_NUMBER0 217
L_PAYMENTREQUEST_0_QTY0 1
METHOD SetExpressCheckout
NOSHIPPING 2
PAYMENTREQUEST_0_AMT 21.00
PAYMENTREQUEST_0_CURRENCYCODE USD
PAYMENTREQUEST_0_INSURANCEAMT 2.00
PAYMENTREQUEST_0_INSURANCEOPTIONOFFERED true
PAYMENTREQUEST_0_ITEMAMT 14.00
PAYMENTREQUEST_0_PAYMENTACTION Sale
PAYMENTREQUEST_0_SHIPPINGAMT 5.00
PWD (redacted)
RETURNURL (redacted)
SIGNATURE (redacted)
USER (redacted)
VERSION 60.0