Add decimal via api

I am trying to add decimals with 5 or more decimal places. i used the currency field but i cannot add the data via api.

the value here is “gains”=>“0.00072333333333363115”
i get error Airrecord::Error (HTTP 422: INVALID_VALUE_FOR_COLUMN: Field “gains” cannot accept the provided value)

Which API are you using? It works fine for me using the REST API.

If you’re using the REST API, you need to use a colon (not a =>), like this:

"gains": "0.00072333333333363115"

That actually depends on the programming language that is calling the REST API. For example, PHP uses => in arrays.

I think that the issues is more likely that the code has the invalid data type. If your number is in quotes, then Airtable thinks that you are providing a text string, not a number. Try removing the quotes from the number.

Instead of …

Try …

"gains" => 0.00072333333333363115,

Ah, good to know! Thanks! Does PHP also use ‘=>’ for non-arrays, such as number/currency fields?

(I’m just using CURL, so I use : instead of =>)

I’m referring to a PHP array, which is part of the PHP language, and is unrelated to Airtable field types.

1 Like

I am using ruby. i actually dont have quotes around the decimal.
tea=Tea.create(“Symbol” => row[“instrument”], “Date” => row[“entryTime”] ,“TradePattern” => row[“tradepattern”] ,“tradeid” => row[“id”],“position” => row[“entryQty”],“gains” => row[“gains”],“isopen” => row[“isopen”],“account” => row[“account”], “airtable_lastsynctime”=>currenttime)
The data is retrieved from database as a decimal.

I think the Suggestion by @kuovonne should be working.
It’s a problem with the data type of a particular field.

By default it’s automatically passed string, store it into a variable and make type conversion then put that variable in that proper place.

This topic was solved and automatically closed 15 days after the last reply. New replies are no longer allowed.