Proxy API
https://api.datafuel.ai
Help centerOpenAPI spec

ISP proxies

Static residential (ISP) IPs, announced by consumer internet providers.

GET/api/v1/isp/productsscope: api.static.read

List products

The plans on sale and the periods each can be bought for. Prices depend on the quantity and locations, so ask POST /quote for one.

Requires the api.static.read scope.

Query
limit
integer
How many results to return, 1–100. Default: 50.
offset
integer
How many results to skip. Default: 0.
Request
cURL
curl https://api.datafuel.ai/api/v1/isp/products \
  --header 'Authorization: Bearer df_live_your_key_here'
Response
{
  "results": [
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "name": "string",
      "description": "string",
      "max_ips": 0,
      "period_days": [
        0
      ]
    }
  ],
  "count": 0,
  "limit": 0,
  "offset": 0
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
GET/api/v1/isp/products/{product}scope: api.static.read

Get a product

The product with every country and region it can be ordered in, its stock level and how many IPs one order may take there.

Requires the api.static.read scope.

Path
productREQUIRED
string
The product's id.
Request
cURL
curl https://api.datafuel.ai/api/v1/isp/products/{product} \
  --header 'Authorization: Bearer df_live_your_key_here'
Response
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "name": "string",
  "description": "string",
  "max_ips": 0,
  "period_days": [
    0
  ],
  "locations": [
    {
      "country": "US",
      "region": "CA",
      "region_name": "California",
      "stock_level": "high",
      "max_ips": 0
    }
  ]
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
GET/api/v1/isp/plansscope: api.static.read

List your plans

Requires the api.static.read scope.

Query
limit
integer
How many results to return, 1–100. Default: 50.
offset
integer
How many results to skip. Default: 0.
status
string
Only plans in this state.
provisioningactivepast_duesuspendedexpired
Request
cURL
curl https://api.datafuel.ai/api/v1/isp/plans \
  --header 'Authorization: Bearer df_live_your_key_here'
Response
{
  "results": [
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "product_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "status": "provisioning",
      "ips": 0,
      "period_days": 0,
      "expires_at": "2026-01-01T00:00:00Z",
      "subscription_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "created_at": "2026-01-01T00:00:00Z"
    }
  ],
  "count": 0,
  "limit": 0,
  "offset": 0
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
GET/api/v1/isp/plans/{plan}scope: api.static.read

Get a plan

The plan with its authentication settings and locations. The username and password are at GET /plans/{plan}/credentials.

Requires the api.static.read scope.

Path
planREQUIRED
string
The plan's id.
Request
cURL
curl https://api.datafuel.ai/api/v1/isp/plans/{plan} \
  --header 'Authorization: Bearer df_live_your_key_here'
Response
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "product_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "status": "provisioning",
  "ips": 0,
  "period_days": 0,
  "expires_at": "2026-01-01T00:00:00Z",
  "subscription_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "created_at": "2026-01-01T00:00:00Z",
  "auth": {
    "mode": "credentials",
    "allowed_ips": [
      "string"
    ]
  },
  "replacements_left": 0,
  "locations": [
    {
      "country": "US",
      "region": "CA",
      "ips": 0
    }
  ]
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
GET/api/v1/isp/plans/{plan}/proxiesscope: api.static.manage

List a plan's proxies

Every IP of the plan with its port and location, plus the credentials to use them with. It carries the password, so it needs the manage level and is never cached.

Requires the api.static.manage scope.

Path
planREQUIRED
string
The plan's id.
Query
format
string
json (the default) or txt.
jsontxt
Request
cURL
curl https://api.datafuel.ai/api/v1/isp/plans/{plan}/proxies \
  --header 'Authorization: Bearer df_live_your_key_here'
Response
{
  "username": "string",
  "password": "string",
  "proxies": [
    {
      "ip": "string",
      "port": 0,
      "country": "string",
      "region": "string"
    }
  ]
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
GET/api/v1/isp/plans/{plan}/credentialsscope: api.static.manage

Get the credentials

The username and password every IP of the plan accepts in credentials mode. They are a secret, so reading them needs the manage level and the answer is never cached.

Requires the api.static.manage scope. Every call is recorded in the account's audit log.

Path
planREQUIRED
string
The plan's id.
Request
cURL
curl https://api.datafuel.ai/api/v1/isp/plans/{plan}/credentials \
  --header 'Authorization: Bearer df_live_your_key_here'
Response
{
  "username": "string",
  "password": "string"
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
POST/api/v1/isp/plans/{plan}/credentials/resetscope: api.static.manage

Reset the credentials

Issues a new password for every IP of the plan at once and answers the credentials; the old password stops working. The username stays. 409 plan_not_active unless the plan is active, plan_provisioning while some of its IPs are still being delivered.

Requires the api.static.manage scope. Every call is recorded in the account's audit log.

Path
planREQUIRED
string
The plan's id.
Request
cURL
curl https://api.datafuel.ai/api/v1/isp/plans/{plan}/credentials/reset \
  --request POST \
  --header 'Authorization: Bearer df_live_your_key_here'
Response
{
  "username": "string",
  "password": "string"
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
PUT/api/v1/isp/plans/{plan}/authscope: api.static.manage

Set how the proxies authenticate

credentials asks for the username and password; ip lets only allowed_ips in. The list replaces the one the plan has. 409 plan_not_active unless the plan is active, plan_provisioning while some of its IPs are still being delivered.

Requires the api.static.manage scope.

Path
planREQUIRED
string
The plan's id.
Request body
modeREQUIRED
string
credentials: connect with the username and password; ip: only allowed_ips may connect.
credentialsip
allowed_ips
array<string>
Replaces the whole list, at most 20 addresses; ip mode needs at least one.
Request
cURL
curl https://api.datafuel.ai/api/v1/isp/plans/{plan}/auth \
  --request PUT \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer df_live_your_key_here' \
  --data '{
    "mode": "credentials",
    "allowed_ips": [
      "string"
    ]
  }'
Response
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "product_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "status": "provisioning",
  "ips": 0,
  "period_days": 0,
  "expires_at": "2026-01-01T00:00:00Z",
  "subscription_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "created_at": "2026-01-01T00:00:00Z",
  "auth": {
    "mode": "credentials",
    "allowed_ips": [
      "string"
    ]
  },
  "replacements_left": 0,
  "locations": [
    {
      "country": "US",
      "region": "CA",
      "ips": 0
    }
  ]
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
POST/api/v1/isp/plans/{plan}/replacescope: api.static.manage

Replace the IPs

Swaps every IP of the plan for new ones in the same locations and spends one of replacements_left. Buy more with POST /plans/{plan}/orders. 409 plan_not_active unless the plan is active, plan_provisioning while some of its IPs are still being delivered, no_replacements_left when none are left.

Requires the api.static.manage scope.

Path
planREQUIRED
string
The plan's id.
Request
cURL
curl https://api.datafuel.ai/api/v1/isp/plans/{plan}/replace \
  --request POST \
  --header 'Authorization: Bearer df_live_your_key_here'
Response
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "product_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "status": "provisioning",
  "ips": 0,
  "period_days": 0,
  "expires_at": "2026-01-01T00:00:00Z",
  "subscription_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "created_at": "2026-01-01T00:00:00Z",
  "auth": {
    "mode": "credentials",
    "allowed_ips": [
      "string"
    ]
  },
  "replacements_left": 0,
  "locations": [
    {
      "country": "US",
      "region": "CA",
      "ips": 0
    }
  ]
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
POST/api/v1/isp/quotescope: api.static.read

Price a new plan

What POST /orders with the same body would charge, including discounts, tax and the payment method's fee, or why it cannot be ordered. Nothing is reserved. 404 when the product does not exist; 422 promo_code_invalid when the promo code is refused.

Requires the api.static.read scope.

Request body
product_idREQUIRED
string
A product id from GET /products.
period_daysREQUIRED
integer
One of the product's period_days.
locationsREQUIRED
array<object>
payment
object | null
The payment method, when its fee should be included.
promo_code
string
A promo code; an invalid one is refused, never silently dropped.
Request
cURL
curl https://api.datafuel.ai/api/v1/isp/quote \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer df_live_your_key_here' \
  --data '{
    "product_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "period_days": 1,
    "locations": [
      {
        "country": "US",
        "region": "CA",
        "ips": 1
      }
    ],
    "payment": {
      "method": "balance",
      "card_id": "string"
    },
    "promo_code": "string"
  }'
Response
{
  "purchasable": false,
  "issues": [
    {
      "code": "string",
      "message": "string",
      "field": "string",
      "limit": 0
    }
  ],
  "net": 0,
  "discount": 0,
  "tax": 0,
  "fee": 0,
  "total": 0,
  "currency": "usd"
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
POST/api/v1/isp/ordersscope: api.static.purchase

Buy a new plan

Charges the balance or a saved card straight away, without asking the customer, and delivers the plan. 201 answers the delivered plan; 202 means it is paid and still being delivered, or the bank asked for 3-D Secure (order.action_url). 404 when the product does not exist.

Requires the api.static.purchase scope. Send a unique Idempotency-Key per order; repeating it with the same body answers the first order instead of charging again.

Headers
Idempotency-KeyREQUIRED
string
A unique value per order, sent again only to retry the same order.
Request body
product_idREQUIRED
string
A product id from GET /products.
period_daysREQUIRED
integer
One of the product's period_days.
locationsREQUIRED
array<object>
paymentREQUIRED
object
promo_code
string
A promo code; an invalid one is refused, never silently dropped.
Request
cURL
curl https://api.datafuel.ai/api/v1/isp/orders \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer df_live_your_key_here' \
  --header 'Idempotency-Key: your-idempotency-key' \
  --data '{
    "product_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "period_days": 1,
    "locations": [
      {
        "country": "US",
        "region": "CA",
        "ips": 1
      }
    ],
    "payment": {
      "method": "balance",
      "card_id": "string"
    },
    "promo_code": "string"
  }'
Response
{
  "order": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "status": "pending",
    "service": "string",
    "product": "string",
    "action": "new",
    "total": 0,
    "currency": "usd",
    "payment": {
      "method": "balance",
      "card_id": "string"
    },
    "plan_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "action_url": "https://example.com",
    "error": {
      "code": "insufficient_balance",
      "message": "string"
    },
    "replayed": false,
    "created_at": "2026-01-01T00:00:00Z",
    "paid_at": "2026-01-01T00:00:00Z"
  },
  "plan": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "product_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "status": "provisioning",
    "ips": 0,
    "period_days": 0,
    "expires_at": "2026-01-01T00:00:00Z",
    "subscription_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "created_at": "2026-01-01T00:00:00Z",
    "auth": {
      "mode": "credentials",
      "allowed_ips": [
        "string"
      ]
    },
    "replacements_left": 0,
    "locations": [
      {
        "country": "US",
        "region": "CA",
        "ips": 0
      }
    ]
  }
}
{
  "order": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "status": "pending",
    "service": "string",
    "product": "string",
    "action": "new",
    "total": 0,
    "currency": "usd",
    "payment": {
      "method": "balance",
      "card_id": "string"
    },
    "plan_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "action_url": "https://example.com",
    "error": {
      "code": "insufficient_balance",
      "message": "string"
    },
    "replayed": false,
    "created_at": "2026-01-01T00:00:00Z",
    "paid_at": "2026-01-01T00:00:00Z"
  },
  "plan": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "product_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "status": "provisioning",
    "ips": 0,
    "period_days": 0,
    "expires_at": "2026-01-01T00:00:00Z",
    "subscription_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "created_at": "2026-01-01T00:00:00Z",
    "auth": {
      "mode": "credentials",
      "allowed_ips": [
        "string"
      ]
    },
    "replacements_left": 0,
    "locations": [
      {
        "country": "US",
        "region": "CA",
        "ips": 0
      }
    ]
  }
}
{
  "order": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "status": "pending",
    "service": "string",
    "product": "string",
    "action": "new",
    "total": 0,
    "currency": "usd",
    "payment": {
      "method": "balance",
      "card_id": "string"
    },
    "plan_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "action_url": "https://example.com",
    "error": {
      "code": "insufficient_balance",
      "message": "string"
    },
    "replayed": false,
    "created_at": "2026-01-01T00:00:00Z",
    "paid_at": "2026-01-01T00:00:00Z"
  },
  "plan": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "product_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "status": "provisioning",
    "ips": 0,
    "period_days": 0,
    "expires_at": "2026-01-01T00:00:00Z",
    "subscription_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "created_at": "2026-01-01T00:00:00Z",
    "auth": {
      "mode": "credentials",
      "allowed_ips": [
        "string"
      ]
    },
    "replacements_left": 0,
    "locations": [
      {
        "country": "US",
        "region": "CA",
        "ips": 0
      }
    ]
  }
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
POST/api/v1/isp/plans/{plan}/quotescope: api.static.read

Price an add-on

What POST /plans/{plan}/orders with the same body would charge. 422 promo_code_invalid when the promo code is refused.

Requires the api.static.read scope.

Path
planREQUIRED
string
The plan's id.
Request body
replacementsREQUIRED
integer
How many IP replacements to buy; each one swaps every IP of the plan once.
payment
object | null
The payment method, when its fee should be included.
promo_code
string
A promo code; an invalid one is refused, never silently dropped.
Request
cURL
curl https://api.datafuel.ai/api/v1/isp/plans/{plan}/quote \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer df_live_your_key_here' \
  --data '{
    "replacements": 1,
    "payment": {
      "method": "balance",
      "card_id": "string"
    },
    "promo_code": "string"
  }'
Response
{
  "purchasable": false,
  "issues": [
    {
      "code": "string",
      "message": "string",
      "field": "string",
      "limit": 0
    }
  ],
  "net": 0,
  "discount": 0,
  "tax": 0,
  "fee": 0,
  "total": 0,
  "currency": "usd"
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
POST/api/v1/isp/plans/{plan}/ordersscope: api.static.purchase

Buy an add-on

Buys more IP replacements for a plan you hold, charged straight away.

Requires the api.static.purchase scope. Send a unique Idempotency-Key per order; repeating it with the same body answers the first order instead of charging again.

Path
planREQUIRED
string
The plan's id.
Headers
Idempotency-KeyREQUIRED
string
A unique value per order, sent again only to retry the same order.
Request body
replacementsREQUIRED
integer
How many IP replacements to buy; each one swaps every IP of the plan once.
paymentREQUIRED
object
promo_code
string
A promo code; an invalid one is refused, never silently dropped.
Request
cURL
curl https://api.datafuel.ai/api/v1/isp/plans/{plan}/orders \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer df_live_your_key_here' \
  --header 'Idempotency-Key: your-idempotency-key' \
  --data '{
    "replacements": 1,
    "payment": {
      "method": "balance",
      "card_id": "string"
    },
    "promo_code": "string"
  }'
Response
{
  "order": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "status": "pending",
    "service": "string",
    "product": "string",
    "action": "new",
    "total": 0,
    "currency": "usd",
    "payment": {
      "method": "balance",
      "card_id": "string"
    },
    "plan_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "action_url": "https://example.com",
    "error": {
      "code": "insufficient_balance",
      "message": "string"
    },
    "replayed": false,
    "created_at": "2026-01-01T00:00:00Z",
    "paid_at": "2026-01-01T00:00:00Z"
  },
  "plan": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "product_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "status": "provisioning",
    "ips": 0,
    "period_days": 0,
    "expires_at": "2026-01-01T00:00:00Z",
    "subscription_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "created_at": "2026-01-01T00:00:00Z",
    "auth": {
      "mode": "credentials",
      "allowed_ips": [
        "string"
      ]
    },
    "replacements_left": 0,
    "locations": [
      {
        "country": "US",
        "region": "CA",
        "ips": 0
      }
    ]
  }
}
{
  "order": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "status": "pending",
    "service": "string",
    "product": "string",
    "action": "new",
    "total": 0,
    "currency": "usd",
    "payment": {
      "method": "balance",
      "card_id": "string"
    },
    "plan_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "action_url": "https://example.com",
    "error": {
      "code": "insufficient_balance",
      "message": "string"
    },
    "replayed": false,
    "created_at": "2026-01-01T00:00:00Z",
    "paid_at": "2026-01-01T00:00:00Z"
  },
  "plan": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "product_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "status": "provisioning",
    "ips": 0,
    "period_days": 0,
    "expires_at": "2026-01-01T00:00:00Z",
    "subscription_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "created_at": "2026-01-01T00:00:00Z",
    "auth": {
      "mode": "credentials",
      "allowed_ips": [
        "string"
      ]
    },
    "replacements_left": 0,
    "locations": [
      {
        "country": "US",
        "region": "CA",
        "ips": 0
      }
    ]
  }
}
{
  "order": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "status": "pending",
    "service": "string",
    "product": "string",
    "action": "new",
    "total": 0,
    "currency": "usd",
    "payment": {
      "method": "balance",
      "card_id": "string"
    },
    "plan_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "action_url": "https://example.com",
    "error": {
      "code": "insufficient_balance",
      "message": "string"
    },
    "replayed": false,
    "created_at": "2026-01-01T00:00:00Z",
    "paid_at": "2026-01-01T00:00:00Z"
  },
  "plan": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "product_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "status": "provisioning",
    "ips": 0,
    "period_days": 0,
    "expires_at": "2026-01-01T00:00:00Z",
    "subscription_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "created_at": "2026-01-01T00:00:00Z",
    "auth": {
      "mode": "credentials",
      "allowed_ips": [
        "string"
      ]
    },
    "replacements_left": 0,
    "locations": [
      {
        "country": "US",
        "region": "CA",
        "ips": 0
      }
    ]
  }
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}
{
  "error": "string",
  "message": "string",
  "meta": {}
}