ARNPROXY

Order quote; no debit

POST/account/api/v1/quote

Authorization

AuthorizationBearer YOUR_ARNPROXY_API_KEY
Required permissionread
Acceptapplication/json
Content-Typeapplication/json

Parameters

NameTypeDescription
product_id
bodyRequired
integerProduct ID from products; 1–2147483647.
lines
bodyRequired
object[]1–20 distinct location lines for one product. No duplicate location_id; at most 100000 proxies in total.
lines[].location_id
bodyRequired
integerLocation ID from the selected product catalog.
lines[].time_id
bodyRequired
integerPeriod ID offered for that location.
lines[].quantity
bodyRequired
integer1–100000, also subject to product.minimum_quantity.
promo_code
bodyOptional
stringOptional promo, up to 100 bytes. Keep it identical between quote and purchase/renewal.
Default: ""

Request body

Replace YOUR_/FROM_ placeholders with values from the relevant catalog, quote or scope. Examples leave consent false; only approve a real operation intentionally.

request.json
{
    "product_id": "FROM_PRODUCTS",
    "lines": [
        {
            "location_id": "FROM_CATALOG",
            "time_id": "FROM_CATALOG",
            "quantity": 1
        }
    ],
    "promo_code": ""
}

Additional usage examples

IDs and prices are illustrative; use real values from the catalog and the same quote. JSON IDs and expected_total_minor must be numbers. Examples deliberately keep terms=false; submit terms=true only after explicit customer approval for the real paid operation.

One product type, two countries

Quote lines do not take a purpose: location_id, time_id and quantity are sufficient. Purpose fields are required at the purchase stage.

application/json
{
    "product_id": 5,
    "lines": [
        {
            "location_id": 10,
            "time_id": 101,
            "quantity": 1
        },
        {
            "location_id": 11,
            "time_id": 102,
            "quantity": 1
        }
    ],
    "promo_code": ""
}

Request example

cURL
printf 'Authorization: Bearer %s\n' "$ARNPROXY_API_KEY" |
  curl --silent --show-error --header @- \
    --header 'Accept: application/json' \
    --connect-timeout 10 --max-time 30 \
    --request POST --header 'Content-Type: application/json' \
    --data-binary @request.json \
    'https://www.arnproxy.com/account/api/v1/quote'

Examples are not executed on this page. Keep the API key in a server-side environment variable; do not put real keys in URLs or browser code. Prepare request.json for POST examples.

Responses

200Success response
application/json
{
    "ok": true,
    "data": {
        "product": {
            "id": 5,
            "name": "IPv4 Proxy",
            "minimum_quantity": 1
        },
        "currency": "TRY",
        "quantity": 1,
        "base_total": "10.00",
        "quantity_discount_amount": "0.00",
        "subtotal": "10.00",
        "promotion": {
            "code": "",
            "rate": "0.00",
            "amount": "0.00"
        },
        "total": "10.00",
        "total_minor": 1000,
        "lines": [
            {
                "location_id": 10,
                "country": "Example country",
                "time_id": 101,
                "period": "7 days",
                "days": 7,
                "quantity": 1,
                "base_unit_price": "10.0000",
                "quantity_discount_rate": "0.00",
                "unit_price": "10.0000",
                "base_total": "10.00",
                "subtotal": "10.00",
                "promotion_amount": "0.00",
                "total": "10.00",
                "total_minor": 1000
            }
        ],
        "discount_scope": "country",
        "estimate_only": true,
        "stock_checked": false,
        "purchase_available": false,
        "calculated_at": "2030-01-01T12:00:00+00:00"
    },
    "meta": {
        "request_id": "000000000000000000000001",
        "phase": "public_v1",
        "source": "arnproxy_records"
    }
}
Response fields and types
NameTypeDescription
okbooleanSuccess envelope flag; on false inspect error.code.
dataobjectOperation-specific result; examples are illustrative and synthetic.
data.productobjectOperation-specific product value; preserve its demonstrated type and consult the behavior notes.
data.product.idintegerRelevant ARNPROXY record ID; use it instead of the upstream internal ID.
data.product.namestringOperation-specific name value; preserve its demonstrated type and consult the behavior notes.
data.product.minimum_quantityintegerMinimum quantity for each order line of this product.
data.currencystringAccount transaction currency: TRY or USD.
data.quantityintegerSelected or ordered proxy quantity.
data.base_totalstringMoney amount; preserve the returned string/integer representation for precision.
data.quantity_discount_amountstringOperation-specific quantity discount amount value; preserve its demonstrated type and consult the behavior notes.
data.subtotalstringMoney amount; preserve the returned string/integer representation for precision.
data.promotionobjectOperation-specific promotion value; preserve its demonstrated type and consult the behavior notes.
data.promotion.codestringOperation-specific code value; preserve its demonstrated type and consult the behavior notes.
data.promotion.ratestringOperation-specific rate value; preserve its demonstrated type and consult the behavior notes.
data.promotion.amountstringMoney amount; preserve the returned string/integer representation for precision.
data.totalstringMoney amount; preserve the returned string/integer representation for precision.
data.total_minorintegerInteger minor units: 1000 means 10.00 TRY/USD.
data.linesarrayOperation-specific lines value; preserve its demonstrated type and consult the behavior notes.
data.lines[]objectOperation-specific lines value; preserve its demonstrated type and consult the behavior notes.
data.lines[].location_idintegerLocal catalog location or product-type ID.
data.lines[].countrystringOperation-specific country value; preserve its demonstrated type and consult the behavior notes.
data.lines[].time_idintegerLocal period/GB-plan record ID, not a day or GB count.
data.lines[].periodstringHuman-readable catalog period name.
data.lines[].daysintegerPlan duration in days, separate from a GB plan’s traffic amount.
data.lines[].quantityintegerSelected or ordered proxy quantity.
data.lines[].base_unit_pricestringOperation-specific base unit price value; preserve its demonstrated type and consult the behavior notes.
data.lines[].quantity_discount_ratestringOperation-specific quantity discount rate value; preserve its demonstrated type and consult the behavior notes.
data.lines[].unit_pricestringOperation-specific unit price value; preserve its demonstrated type and consult the behavior notes.
data.lines[].base_totalstringMoney amount; preserve the returned string/integer representation for precision.
data.lines[].subtotalstringMoney amount; preserve the returned string/integer representation for precision.
data.lines[].promotion_amountstringOperation-specific promotion amount value; preserve its demonstrated type and consult the behavior notes.
data.lines[].totalstringMoney amount; preserve the returned string/integer representation for precision.
data.lines[].total_minorintegerInteger minor units: 1000 means 10.00 TRY/USD.
data.discount_scopestringOperation-specific discount scope value; preserve its demonstrated type and consult the behavior notes.
data.estimate_onlybooleanOperation-specific estimate only value; preserve its demonstrated type and consult the behavior notes.
data.stock_checkedbooleanA price/local result is not by itself a provider or stock guarantee.
data.purchase_availablebooleanAvailability under the result’s conditions/permissions, not a stock or provider guarantee.
data.calculated_atstringTimestamp in the API’s returned representation; example dates are synthetic.
metaobjectRequest correlation and data-source metadata.
meta.request_idstringThis HTTP request’s correlation ID, not an operation key or order ID.
meta.phasestringOperation-specific phase value; preserve its demonstrated type and consult the behavior notes.
meta.sourcestringData source; local records and a live provider lookup are different evidence.

Error response

HTTP 401 · INVALID_API_KEY
{
  "ok": false,
  "error": { "code": "INVALID_API_KEY" },
  "meta": { "request_id": "000000000000000000000001" }
}

Authentication and validation may reject a request before execution. Consult the error reference and retain request_id when contacting support. Never send keys or passwords. Errors & limits →

Behavior & important notes

  • Take identifiers from products/catalog. Quote lines contain only location_id, time_id and quantity. Purchase lines additionally require purpose_id=201 and the selected subpurpose_id.
  • Quote lines do not take a purpose: location_id, time_id and quantity are sufficient. Purpose fields are required at the purchase stage.
  • Use up to 20 distinct location_id values under one product_id. Each country creates a separate order record; the linked checkout is handled as one invoice. Quantity discounts are calculated independently per country.

Search the current language. Close with Esc