Skip to content

Who pays for this domain, and what they have

GET
/domains/{domain}/payer
curl --request GET \
--url https://api.nsin.ir/domains/example.com/payer \
--header 'Authorization: Bearer <token>'

The wallet a purchase or a renewal on this domain will actually spend, and its balance. The panel shows this on the purchase dialog, and any integration that spends on a shared domain should: a nomination (PUT /domains/{domain}/billing-member) takes effect with no consent step, so whoever clicks Buy must see whose money is about to move — and an insufficient balance should be visible up front rather than arriving as a surprise 402.

Requires billing on the domain, or being the nominated payer yourself. Someone being charged can always see what for, whatever their role.

domain
required
string

The domain name (for example example.com) — not a numeric id.

Example
example.com

The domain’s payer.

Media type application/json

The wallet a purchase or renewal on this domain will spend, and what is in it.

object
user_id
integer
name

Display name

string
email
string
is_owner

True when the payer is the domain owner.

boolean
is_self

True when the payer is the account this key belongs to.

boolean
balance_rials

The payer’s wallet balance in rials — disclosed only through this gate, and only for this domain’s payer.

integer format: int64
Example generated
{
"user_id": 1,
"name": "example",
"email": "example",
"is_owner": true,
"is_self": true,
"balance_rials": 1
}

Missing domain.

Media type application/json

The single error shape used by every endpoint.

object
error
required

Human-readable description of what went wrong.

string
Example
{
"error": "read-only API key"
}

Missing, malformed, revoked or expired API key — or the owning account is inactive.

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"
}

No such domain, or it is not visible to this account. Domains you cannot access are reported as not found rather than forbidden.

Media type application/json

The single error shape used by every endpoint.

object
error
required

Human-readable description of what went wrong.

string
Example
{
"error": "read-only 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"
}