Skip to content
nsin docs

Traffic usage and pricing across your account

GET
/traffic-usage
curl --request GET \
--url https://api.nsin.ir/traffic-usage \
--header 'Authorization: Bearer <token>'

Recent daily traffic rows (up to 90) with totals, plus the current per-gigabyte prices.

Traffic is billed in three tiers — cached (served from cache), proxied (fetched through the edge proxy) and direct — each priced separately. Older rows may carry only the legacy bypass_bytes column; those are folded into the direct total.

Usage rows, totals and prices.

Media type application/json
object
usage
Array<object>

One day’s traffic for one domain.

object
id
integer
domain_id
integer
user_id
integer
date

The day the row belongs to.

string format: date
billing_window_key

Identifies the billing window the row was billed in.

string
cached_bytes

Bytes served from cache.

integer
proxied_bytes

Bytes fetched through the edge proxy.

integer
direct_bytes

Bytes on the direct path.

integer
bypass_bytes

Legacy two-tier column, present on historical rows. Folded into the direct total for display.

integer
charged_rials

What this row cost, in rials — the sum of the three charged_*_rials.

integer
window_start

Start of the billing window the row covers.

string format: date-time
window_end

End of that window (exclusive).

string format: date-time
billed_cached_bytes

The portion above the plan’s free allowance.

integer
billed_proxied_bytes

The portion above the plan’s free allowance.

integer
billed_direct_bytes

The portion above the plan’s free allowance.

integer
charged_cached_rials

Cost of the cached tier’s billed bytes.

integer
charged_proxied_rials

Cost of the proxied tier’s billed bytes.

integer
charged_direct_rials

Cost of the direct tier’s billed bytes.

integer
invoice_id

The period invoice that itemized this row, once issued.

integer
processed_at

When the row was billed.

string format: date-time
created_at
string format: date-time
total_cached_bytes
integer
total_proxied_bytes
integer
total_direct_bytes
integer
total_charged_rials
integer
cached_price_per_gb

Rials per GB of cache-served traffic.

integer
proxied_price_per_gb

Rials per GB of proxied traffic.

integer
direct_price_per_gb

Rials per GB of direct traffic.

integer
Example generated
{
"usage": [
{
"id": 1,
"domain_id": 1,
"user_id": 1,
"date": "2026-04-15",
"billing_window_key": "example",
"cached_bytes": 1,
"proxied_bytes": 1,
"direct_bytes": 1,
"bypass_bytes": 1,
"charged_rials": 1,
"window_start": "2026-04-15T12:00:00Z",
"window_end": "2026-04-15T12:00:00Z",
"billed_cached_bytes": 1,
"billed_proxied_bytes": 1,
"billed_direct_bytes": 1,
"charged_cached_rials": 1,
"charged_proxied_rials": 1,
"charged_direct_rials": 1,
"invoice_id": 1,
"processed_at": "2026-04-15T12:00:00Z",
"created_at": "2026-04-15T12:00:00Z"
}
],
"total_cached_bytes": 1,
"total_proxied_bytes": 1,
"total_direct_bytes": 1,
"total_charged_rials": 1,
"cached_price_per_gb": 1,
"proxied_price_per_gb": 1,
"direct_price_per_gb": 1
}

Missing, malformed, revoked or expired API key. (A valid key whose account has been deactivated gets 403 account is inactive instead.)

Media type application/json

The single error shape used by every endpoint.

object
error
required

Human-readable description of what went wrong.

string
Examples
Example invalidKey
{
"error": "invalid API key"
}

The key exceeded its request budget (300 requests per minute by default).

Media type application/json

The single error shape used by every endpoint.

object
error
required

Human-readable description of what went wrong.

string
Examples
Example limited
{
"error": "rate limit exceeded"
}