Для партнёров

Partner API

Покупайте и управляйте хостингом, бизнес-почтой и VPS-серверами своих клиентов из собственных систем — с оплатой из партнёрского баланса по партнёрским ценам.

Базовый URL
https://api.rivervo.com/api/partner/v1

API-ключи и вебхук вы настраиваете сами в разделе «Партнёр» панели Rivervo. OpenAPI 3.1 (JSON)

Техническая документация и справочник методов — на английском языке, как и сами ответы API.

Руководство

Аутентификация

Create an API key in the Partner section of the Rivervo panel. The key is shown once — keep it on your server, never in a browser or a mobile app. Send it on every call:

http
Authorization: Bearer 12|3c9f…
  • Requests and answers are JSON. Amounts are integer US cents (6300 = $63.00); dates are ISO 8601.
  • The key works only on the Partner API (not in the customer panel), and the Partner API accepts no other token.
  • If your account has an IP allowlist, calls from other addresses get 403 ip_not_allowed. A suspended partner account gets 403 partner_inactive.
  • A leaked key: revoke it in the panel and create a new one.
bash
curl https://api.rivervo.com/api/partner/v1/me \
  -H "Authorization: Bearer $RIVERVO_API_KEY"

Idempotency-Key

Every call that changes something (POST, PUT, PATCH, DELETE) must carry an Idempotency-Key header — your own unique value for this change, 1–128 characters of letters, digits, - _ . :. Your order or invoice number works well.

http
Idempotency-Key: inv-2026-0042
  • Same key + same request → the first answer again, with the header Idempotent-Replayed: true. Never a second charge, so a timeout is safe to retry.
  • Same key + a different request → 409 idempotency_conflict. While the first is still running → 409 idempotency_in_progress.
  • No key → 400 idempotency_key_required.
  • Secrets (a new password, a sign-in link, a root password) are only in the first answer; a replay returns them as null.

Ошибки

Every error has the same shape:

json
{"error": {
  "code": "insufficient_funds",
  "message": "Not enough partner balance: this costs 63.00 USD, available 10.00 USD (balance plus credit limit)."
}}
HTTPcodemeaning
400idempotency_key_required, bad_requestFix the request.
401unauthenticatedMissing or wrong API key.
402insufficient_fundsThe partner balance does not cover it; nothing is charged.
403forbidden, ip_not_allowed, partner_inactiveNot allowed for this key, this IP address or this partner account.
404not_foundNot yours, or does not exist.
409idempotency_conflict, idempotency_in_progress, conflictThe Idempotency-Key was used for another request, or the first one is still running.
410not_availableThe feature is not available for this service.
422validation_failed (+ fields), refusedValid JSON that cannot be done; the message says why.
422out_of_stockPOST /vps: the location has no room for the plan right now — see VPS availability.
429rate_limitedSlow down; wait for the Retry-After seconds.
502upstream_failedCould not be done right now; nothing is charged — try again later.
500internal_errorOur fault; we are told automatically.

validation_failed adds fields — the field names with their messages. A failed change still has an order (status: failed with error), also returned in the error answer under order.

Заказы и асинхронные операции

Every change becomes an order, returned next to the result:

json
{"data": {…},
 "order": {"id": 812, "action": "hosting.create", "status": "processing",
   "idempotency_key": "inv-2026-0042", "resource": {"type": "hosting", "id": 3301},
   "charged_cents": 6300, "retail_cents": 9000, "currency": "USD",
   "error": null, "created_at": "…", "completed_at": null}}

Creating a hosting account or a server takes a little while: the answer is 202 Accepted with the order in processing. It becomes completed when the service is ready, or failed. Follow it with GET /orders/{id} or, better, with the webhooks. GET /orders?status=processing lists the ones still running.

bash
curl -X POST https://api.rivervo.com/api/partner/v1/hosting \
  -H "Authorization: Bearer $RIVERVO_API_KEY" \
  -H "Idempotency-Key: client-417-hosting" \
  -H "Content-Type: application/json" \
  -d '{"domain": "client.az", "plan_id": 2, "term_months": 12}'

# 202 Accepted → later:
curl https://api.rivervo.com/api/partner/v1/orders/812 \
  -H "Authorization: Bearer $RIVERVO_API_KEY"

Партнёрский баланс

  • Every purchase and renewal through the API is paid from your partner balance at your partner price. GET /me shows the balance, the credit limit and your discounts.
  • If available_cents (balance plus the credit allowed) does not cover a purchase: 402 insufficient_funds, nothing is charged.
  • Services bought from the partner balance renew by themselves from it, 24 hours before they end, at the partner price. If the balance cannot cover a renewal, nothing is charged, you are told, and the service stops at the end of its paid period.
  • GET /balance/transactions?from=2026-11-01&to=2026-11-30 — every movement, newest first, with our retail price next to what you paid.

Цены

GET /prices returns everything you can buy with our retail price and your partner price, so you can compute and publish your own prices. Retail already includes our term discounts (a hosting year, yearly email); your discount is applied on top: partner_cents = round(retail_cents × (100 − discount) / 100).

json
{"data": {
  "currency": "USD", "updated_at": "2026-11-08T10:00:00+04:00",
  "discounts_pct": {"hosting": 30, "mail": 30, "vps": 10, "domains": 0},
  "hosting": [{"id": 2, "name": "Rapids", "terms": [
    {"months": 1, "retail_cents": 900, "partner_cents": 630},
    {"months": 12, "retail_cents": 9000, "partner_cents": 6300}]}],
  "mail": [{"plan": "professional-mail", "name": "Rivervo Mail — Professional",
    "per_mailbox": {"monthly": {"retail_cents": 300, "partner_cents": 210},
                    "yearly": {"retail_cents": 3060, "partner_cents": 2142}}}],
  "vps": [{"id": 5, "name": "Brook", "cpu": 2, "ram_gb": 4, "disk_gb": 40,
    "locations": ["de-nuremberg", "de-falkenstein", "fi-helsinki"],
    "available_locations": ["de-nuremberg", "fi-helsinki"],
    "monthly": {"retail_cents": 749, "partner_cents": 674}}],
  "domains": [{"tld": "com", "register": {"1y": {"retail_cents": 1299, "partner_cents": 1299}}}]
}}

The answer has an ETag and Cache-Control: private, max-age=300. Send If-None-Match with the last ETag and you get 304 Not Modified while nothing changed — so you can poll often and update your site only when our prices move:

js
// Run every few minutes (cron). Re-publishes your prices only when ours changed.
let etag = await store.get('rivervo_prices_etag');
const res = await fetch('https://api.rivervo.com/api/partner/v1/prices', {
  headers: {
    Authorization: `Bearer ${process.env.RIVERVO_API_KEY}`,
    ...(etag ? { 'If-None-Match': etag } : {}),
  },
});
if (res.status === 304) return;                 // nothing changed
const { data } = await res.json();
for (const plan of data.hosting) {
  for (const term of plan.terms) {
    // your price: our partner price plus your margin, in cents
    const yours = Math.ceil(term.partner_cents * 1.25);
    await store.setPrice(`hosting-${plan.id}-${term.months}m`, yours);
  }
}
await store.set('rivervo_prices_etag', res.headers.get('ETag'));

Catalog helpers for your order forms: GET /catalog/hosting-plans, GET /catalog/mail-plans, GET /catalog/vps-plans, GET /catalog/regions, GET /catalog/os.

Наличие VPS

Each server plan in GET /catalog/vps-plans and GET /prices has locations (where we sell it) and available_locations (where it can be made right now; refreshed every 5 minutes). GET /catalog/vps-availability returns the same availability on its own — a light call to check before showing a location to your client.

  • A location in locations but not in available_locations has no room now: POST /vps there answers 422 out_of_stock and nothing is charged.
  • To buy it anyway, send "wait": true. The server is paid now, gets status: waiting_for_room and waiting_until, and is made as soon as room appears — the order stays processing, then you get order.completed.
  • If no room appears by waiting_until (14 days), the payment goes back to the partner balance and the order fails with out_of_stock. Deleting a server that is still waiting cancels it and returns the payment.
bash
curl -X POST https://api.rivervo.com/api/partner/v1/vps \
  -H "Authorization: Bearer $RIVERVO_API_KEY" \
  -H "Idempotency-Key: client-417-vps" \
  -H "Content-Type: application/json" \
  -d '{"plan_id": 5, "location": "de-falkenstein", "os": "ubuntu-24.04",
       "ssh_public_key": "ssh-ed25519 AAAA... me@pc", "wait": true}'

Вебхуки

Set your webhook URL (https) and get its signing secret in the Partner section of the panel. We send a POST with JSON:

json
{"id": "whd_k3j…", "event": "order.completed",
 "created_at": "2026-11-08T12:00:00+04:00", "data": {"order": {…}}}
  • Events: order.completed, order.failed, balance.low (data: stage below_75 | below_120 | limit, balance_cents, credit_limit_cents, available_cents).
  • Headers: X-Rivervo-Event, X-Rivervo-Delivery (the id), X-Rivervo-Signature — lowercase hex HMAC-SHA256 of the raw body with your secret.
  • Answer any 2xx within 10 seconds; otherwise we retry after 1 min, 5 min, 15 min, 1 h and 6 h. Use id to ignore repeats.

PHP

php
$body = file_get_contents('php://input');
$expected = hash_hmac('sha256', $body, getenv('RIVERVO_WEBHOOK_SECRET'));
if (!hash_equals($expected, $_SERVER['HTTP_X_RIVERVO_SIGNATURE'] ?? '')) {
    http_response_code(401);
    exit;
}
$event = json_decode($body, true);
// $event['id'] — ignore deliveries you have already handled
http_response_code(200);

Node.js (Express)

js
const crypto = require('crypto');

app.post('/hooks/rivervo', express.raw({ type: 'application/json' }), (req, res) => {
  const expected = crypto
    .createHmac('sha256', process.env.RIVERVO_WEBHOOK_SECRET)
    .update(req.body)
    .digest('hex');
  const got = req.get('X-Rivervo-Signature') || '';
  if (got.length !== expected.length ||
      !crypto.timingSafeEqual(Buffer.from(got), Buffer.from(expected))) {
    return res.sendStatus(401);
  }
  const event = JSON.parse(req.body.toString('utf8'));
  // event.id — ignore deliveries you have already handled
  res.sendStatus(200);
});

Лимиты запросов

  • 120 requests a minute per partner account, of them 30 changes (POST, PUT, PATCH, DELETE).
  • Over the limit: 429 rate_limited with a Retry-After header in seconds. Wait that long and retry with the same Idempotency-Key.
  • Cache GET /prices and the catalog (see Prices) instead of asking on every page view of your site.
Справочник API

Справочник API

Сформирован из OpenAPI-описания API. Каждому изменению нужен заголовок Idempotency-Key; суммы — целые центы США. Версия 1.0.0

Account

GET/me

The partner, its balance and discounts

Ответы
200 OKПоля
  • dataPartnerобязательно
    • idinteger
    • namestring
    • emailstring
    • statusstring
    • currencystring
    • balance_centsinteger
    • credit_allowedboolean
    • credit_limit_centsinteger
    • available_centsinteger
    • discounts_pctobject
      • hostingnumber
      • mailnumber
      • vpsnumber
      • domainsnumber
401403404429 Ошибки — формат и коды ошибок
Пример
curl
curl https://api.rivervo.com/api/partner/v1/me \
  -H "Authorization: Bearer $RIVERVO_API_KEY"
GET/balance/transactions

Partner balance movements (newest first)

Параметры
  • fromquerystring (date)
  • toquerystring (date)
  • pagequeryinteger
  • per_pagequeryinteger
Ответы
200 OKПоля
  • dataarray of Transaction
    • idinteger
    • typestring
    • amount_centsinteger
    • retail_centsinteger | null
    • balance_after_centsinteger | null
    • currencystring
    • resourceobject | null
      • typestring
      • idinteger
    • receipt_nostring | null
    • created_atstring (date-time) | null
  • metaPageMeta
    • totalinteger
    • per_pageinteger
    • current_pageinteger
    • last_pageinteger
401403404429 Ошибки — формат и коды ошибок
Пример
curl
curl https://api.rivervo.com/api/partner/v1/balance/transactions \
  -H "Authorization: Bearer $RIVERVO_API_KEY"

Catalog

GET/prices

Every price for you: retail and partner, per term and region (cache it; ETag / If-None-Match)

Ответы
200 OKПоля
  • dataPriceListобязательно
    • currencystring
    • updated_atstring (date-time) | null
    • discounts_pctobject
    • hostingarray of object
      • idinteger
      • namestring
      • termsarray of object
        • monthsinteger
        • retail_centsinteger
        • partner_centsinteger
    • mailarray of object
      • planstring
      • namestring
      • mailbox_quota_gbinteger
      • min_mailboxesinteger
      • per_mailboxobject
        • monthlyPrice | null
          • retail_centsinteger
          • partner_centsinteger
        • yearlyPrice
          • retail_centsinteger
          • partner_centsinteger
      • extra_storage_per_gb_per_mailboxobject
        • monthlyPrice
          • retail_centsinteger
          • partner_centsinteger
        • yearlyPrice
          • retail_centsinteger
          • partner_centsinteger
    • vpsarray of object
      • idinteger
      • namestring
      • cpuinteger
      • ram_gbnumber
      • disk_gbinteger
      • traffic_tbnumber
      • cpu_typestring

        Значения: shared · dedicated

      • archstring

        Значения: x86 · arm

      • regionstring
      • locationsarray of string

        Where the plan is sold.

      • available_locationsarray of string

        Where it can be made right now (in GET /catalog/vps-plans and GET /prices only; refreshed every 5 minutes). Elsewhere in `locations` POST /vps answers out_of_stock unless "wait": true.

      • monthlyPrice
        • retail_centsinteger
        • partner_centsinteger
    • vps_addonsobject
      • backupsobject
        • percent_of_planinteger
        • notestring
      • volume_per_gb_monthlyPrice
        • retail_centsinteger
        • partner_centsinteger
      • monitoring_monthlyPrice
        • retail_centsinteger
        • partner_centsinteger
    • domainsarray of object
      • tldstring
      • registerobject
        • 1yPrice
          • retail_centsinteger
          • partner_centsinteger
        • 2yPrice
          • retail_centsinteger
          • partner_centsinteger
        • 3yPrice
          • retail_centsinteger
          • partner_centsinteger
      • renew_1yPrice
        • retail_centsinteger
        • partner_centsinteger
      • transfer_1yPrice
        • retail_centsinteger
        • partner_centsinteger
401403404429 Ошибки — формат и коды ошибок
Пример
curl
curl https://api.rivervo.com/api/partner/v1/prices \
  -H "Authorization: Bearer $RIVERVO_API_KEY"
GET/catalog/regions

Regions and locations for servers

Ответы
200 OKПоля
  • dataarray of Regionобязательно
    • idstring
    • namestring
    • locationsarray of object
      • idstring
      • countrystring
      • citystring
401403404429 Ошибки — формат и коды ошибок
Пример
curl
curl https://api.rivervo.com/api/partner/v1/catalog/regions \
  -H "Authorization: Bearer $RIVERVO_API_KEY"
GET/catalog/os

Operating systems for servers

Ответы
200 OKПоля
  • dataarray of objectобязательно
    • idstring

      Значения: ubuntu-24.04 · ubuntu-22.04 · debian-12 · debian-11 · centos-stream-9 · centos-stream-10 · rocky-9 · rocky-10 · almalinux-9 · almalinux-10 · fedora-43 · opensuse-16

401403404429 Ошибки — формат и коды ошибок
Пример
curl
curl https://api.rivervo.com/api/partner/v1/catalog/os \
  -H "Authorization: Bearer $RIVERVO_API_KEY"
GET/catalog/vps-plans

Server plans

Ответы
200 OKПоля
  • dataarray of VpsPlanобязательно
    • idinteger
    • namestring
    • cpuinteger
    • ram_gbnumber
    • disk_gbinteger
    • traffic_tbnumber
    • cpu_typestring

      Значения: shared · dedicated

    • archstring

      Значения: x86 · arm

    • regionstring
    • locationsarray of string

      Where the plan is sold.

    • available_locationsarray of string

      Where it can be made right now (in GET /catalog/vps-plans and GET /prices only; refreshed every 5 minutes). Elsewhere in `locations` POST /vps answers out_of_stock unless "wait": true.

401403404429 Ошибки — формат и коды ошибок
Пример
curl
curl https://api.rivervo.com/api/partner/v1/catalog/vps-plans \
  -H "Authorization: Bearer $RIVERVO_API_KEY"
GET/catalog/vps-availability

Where each server plan can be made right now (refreshed every 5 minutes)

Ответы
200 OKПоля
  • dataarray of object
    • plan_idinteger
    • namestring
    • available_locationsarray of string

      Значения: de-nuremberg · de-falkenstein · fi-helsinki · us-east · us-west · sg-singapore

  • cached_atstring (date-time)

    When the stock was taken; it is kept 5 minutes.

401403404429 Ошибки — формат и коды ошибок
Пример
curl
curl https://api.rivervo.com/api/partner/v1/catalog/vps-availability \
  -H "Authorization: Bearer $RIVERVO_API_KEY"
GET/catalog/hosting-plans

Hosting plans and terms

Ответы
200 OKПоля
  • dataarray of object
    • idinteger
    • namestring
  • terms_monthsarray of integer
401403404429 Ошибки — формат и коды ошибок
Пример
curl
curl https://api.rivervo.com/api/partner/v1/catalog/hosting-plans \
  -H "Authorization: Bearer $RIVERVO_API_KEY"
GET/catalog/mail-plans

Email plans

Ответы
200 OKПоля
  • dataarray of objectобязательно
    • planstring
    • namestring
    • mailbox_quota_gbinteger
    • min_mailboxesinteger
    • monthlyboolean
401403404429 Ошибки — формат и коды ошибок
Пример
curl
curl https://api.rivervo.com/api/partner/v1/catalog/mail-plans \
  -H "Authorization: Bearer $RIVERVO_API_KEY"

Orders

GET/orders

Your orders (every change you made through the API)

Параметры
  • statusquerystring

    Значения: processing · completed · failed

  • pagequeryinteger
  • per_pagequeryinteger
Ответы
200 OKПоля
  • dataarray of Order
    • idinteger
    • actionstring
    • statusstring

      Значения: processing · completed · failed

    • idempotency_keystring
    • resourceobject | null
      • typestring
      • idinteger
    • charged_centsinteger | null
    • retail_centsinteger | null
    • currencystring
    • errorobject | null
      • codestring
      • messagestring
    • created_atstring (date-time) | null
    • completed_atstring (date-time) | null
  • metaPageMeta
    • totalinteger
    • per_pageinteger
    • current_pageinteger
    • last_pageinteger
401403404429 Ошибки — формат и коды ошибок
Пример
curl
curl https://api.rivervo.com/api/partner/v1/orders \
  -H "Authorization: Bearer $RIVERVO_API_KEY"
GET/orders/{id}

One order

Параметры
  • idpathintegerобязательно

    The order id.

Ответы
200 OKПоля
  • dataOrderобязательно
    • idinteger
    • actionstring
    • statusstring

      Значения: processing · completed · failed

    • idempotency_keystring
    • resourceobject | null
      • typestring
      • idinteger
    • charged_centsinteger | null
    • retail_centsinteger | null
    • currencystring
    • errorobject | null
      • codestring
      • messagestring
    • created_atstring (date-time) | null
    • completed_atstring (date-time) | null
401403404429 Ошибки — формат и коды ошибок
Пример
curl
curl https://api.rivervo.com/api/partner/v1/orders/812 \
  -H "Authorization: Bearer $RIVERVO_API_KEY"

Hosting

GET/hosting

Your hosting accounts

Параметры
  • pagequeryinteger
  • per_pagequeryinteger
Ответы
200 OKПоля
  • dataarray of Hosting
    • idinteger
    • domainstring
    • usernamestring
    • planobject | null
      • idinteger
      • namestring
    • term_monthsinteger | null
    • statusstring

      Значения: provisioning · active · expired · suspended · deleted

    • paid_untilstring (date-time) | null
    • renews_from_partner_balanceboolean
    • created_atstring (date-time) | null
  • metaPageMeta
    • totalinteger
    • per_pageinteger
    • current_pageinteger
    • last_pageinteger
401403404429 Ошибки — формат и коды ошибок
Пример
curl
curl https://api.rivervo.com/api/partner/v1/hosting \
  -H "Authorization: Bearer $RIVERVO_API_KEY"
POST/hosting

Create a hosting account (paid from the partner balance)

Параметры
  • Idempotency-Keyheaderstringобязательно

    Your unique key for this change (1–128 of A–Z a–z 0–9 - _ . :). The same key with the same request returns the first answer (header Idempotent-Replayed: true) and never charges twice; with another request: 409 idempotency_conflict.

Тело запроса application/json
  • domainstringобязательно
  • plan_idintegerобязательно
  • term_monthsintegerобязательно
Ответы
202 Accepted: the order is processing; follow it with GET /orders/{id} or the webhook.Поля
  • dataHosting
    • idinteger
    • domainstring
    • usernamestring
    • planobject | null
      • idinteger
      • namestring
    • term_monthsinteger | null
    • statusstring

      Значения: provisioning · active · expired · suspended · deleted

    • paid_untilstring (date-time) | null
    • renews_from_partner_balanceboolean
    • created_atstring (date-time) | null
  • orderOrder
    • idinteger
    • actionstring
    • statusstring

      Значения: processing · completed · failed

    • idempotency_keystring
    • resourceobject | null
      • typestring
      • idinteger
    • charged_centsinteger | null
    • retail_centsinteger | null
    • currencystring
    • errorobject | null
      • codestring
      • messagestring
    • created_atstring (date-time) | null
    • completed_atstring (date-time) | null
400401402403404409422429502 Ошибки — формат и коды ошибок
Пример
curl
curl -X POST https://api.rivervo.com/api/partner/v1/hosting \
  -H "Authorization: Bearer $RIVERVO_API_KEY" \
  -H "Idempotency-Key: order-1042" \
  -H "Content-Type: application/json" \
  -d '{
    "domain": "client.az",
    "plan_id": 2,
    "term_months": 12
  }'
GET/hosting/{id}

One hosting account

Параметры
  • idpathintegerобязательно

    The hosting id.

Ответы
200 OKПоля
  • dataHostingобязательно
    • idinteger
    • domainstring
    • usernamestring
    • planobject | null
      • idinteger
      • namestring
    • term_monthsinteger | null
    • statusstring

      Значения: provisioning · active · expired · suspended · deleted

    • paid_untilstring (date-time) | null
    • renews_from_partner_balanceboolean
    • created_atstring (date-time) | null
401403404429 Ошибки — формат и коды ошибок
Пример
curl
curl https://api.rivervo.com/api/partner/v1/hosting/812 \
  -H "Authorization: Bearer $RIVERVO_API_KEY"
DELETE/hosting/{id}

Delete a hosting account (no refund)

Параметры
  • Idempotency-Keyheaderstringобязательно

    Your unique key for this change (1–128 of A–Z a–z 0–9 - _ . :). The same key with the same request returns the first answer (header Idempotent-Replayed: true) and never charges twice; with another request: 409 idempotency_conflict.

  • idpathintegerобязательно

    The hosting id.

Ответы
200 OKПоля
  • dataobject
    • idinteger
    • deletedboolean
  • orderOrder
    • idinteger
    • actionstring
    • statusstring

      Значения: processing · completed · failed

    • idempotency_keystring
    • resourceobject | null
      • typestring
      • idinteger
    • charged_centsinteger | null
    • retail_centsinteger | null
    • currencystring
    • errorobject | null
      • codestring
      • messagestring
    • created_atstring (date-time) | null
    • completed_atstring (date-time) | null
400401402403404409422429502 Ошибки — формат и коды ошибок
Пример
curl
curl -X DELETE https://api.rivervo.com/api/partner/v1/hosting/812 \
  -H "Authorization: Bearer $RIVERVO_API_KEY" \
  -H "Idempotency-Key: order-1042"
POST/hosting/{id}/renew

Renew (default: its own term)

Параметры
  • Idempotency-Keyheaderstringобязательно

    Your unique key for this change (1–128 of A–Z a–z 0–9 - _ . :). The same key with the same request returns the first answer (header Idempotent-Replayed: true) and never charges twice; with another request: 409 idempotency_conflict.

  • idpathintegerобязательно

    The hosting id.

Тело запроса application/json
  • term_monthsinteger
Ответы
200 OKПоля
  • dataHosting
    • idinteger
    • domainstring
    • usernamestring
    • planobject | null
      • idinteger
      • namestring
    • term_monthsinteger | null
    • statusstring

      Значения: provisioning · active · expired · suspended · deleted

    • paid_untilstring (date-time) | null
    • renews_from_partner_balanceboolean
    • created_atstring (date-time) | null
  • orderOrder
    • idinteger
    • actionstring
    • statusstring

      Значения: processing · completed · failed

    • idempotency_keystring
    • resourceobject | null
      • typestring
      • idinteger
    • charged_centsinteger | null
    • retail_centsinteger | null
    • currencystring
    • errorobject | null
      • codestring
      • messagestring
    • created_atstring (date-time) | null
    • completed_atstring (date-time) | null
400401402403404409422429502 Ошибки — формат и коды ошибок
Пример
curl
curl -X POST https://api.rivervo.com/api/partner/v1/hosting/812/renew \
  -H "Authorization: Bearer $RIVERVO_API_KEY" \
  -H "Idempotency-Key: order-1042" \
  -H "Content-Type: application/json" \
  -d '{
    "term_months": 12
  }'
POST/hosting/{id}/change-plan

Change plan (charged now)

Параметры
  • Idempotency-Keyheaderstringобязательно

    Your unique key for this change (1–128 of A–Z a–z 0–9 - _ . :). The same key with the same request returns the first answer (header Idempotent-Replayed: true) and never charges twice; with another request: 409 idempotency_conflict.

  • idpathintegerобязательно

    The hosting id.

Тело запроса application/json
  • plan_idintegerобязательно
  • term_monthsintegerобязательно
Ответы
200 OKПоля
  • dataHosting
    • idinteger
    • domainstring
    • usernamestring
    • planobject | null
      • idinteger
      • namestring
    • term_monthsinteger | null
    • statusstring

      Значения: provisioning · active · expired · suspended · deleted

    • paid_untilstring (date-time) | null
    • renews_from_partner_balanceboolean
    • created_atstring (date-time) | null
  • orderOrder
    • idinteger
    • actionstring
    • statusstring

      Значения: processing · completed · failed

    • idempotency_keystring
    • resourceobject | null
      • typestring
      • idinteger
    • charged_centsinteger | null
    • retail_centsinteger | null
    • currencystring
    • errorobject | null
      • codestring
      • messagestring
    • created_atstring (date-time) | null
    • completed_atstring (date-time) | null
400401402403404409422429502 Ошибки — формат и коды ошибок
Пример
curl
curl -X POST https://api.rivervo.com/api/partner/v1/hosting/812/change-plan \
  -H "Authorization: Bearer $RIVERVO_API_KEY" \
  -H "Idempotency-Key: order-1042" \
  -H "Content-Type: application/json" \
  -d '{
    "plan_id": 2,
    "term_months": 12
  }'
POST/hosting/{id}/reset-password

New password for the hosting account (shown in this answer only)

Параметры
  • Idempotency-Keyheaderstringобязательно

    Your unique key for this change (1–128 of A–Z a–z 0–9 - _ . :). The same key with the same request returns the first answer (header Idempotent-Replayed: true) and never charges twice; with another request: 409 idempotency_conflict.

  • idpathintegerобязательно

    The hosting id.

Ответы
200 OKПоля
  • dataobject
    • usernamestring
    • passwordstring
  • orderOrder
    • idinteger
    • actionstring
    • statusstring

      Значения: processing · completed · failed

    • idempotency_keystring
    • resourceobject | null
      • typestring
      • idinteger
    • charged_centsinteger | null
    • retail_centsinteger | null
    • currencystring
    • errorobject | null
      • codestring
      • messagestring
    • created_atstring (date-time) | null
    • completed_atstring (date-time) | null
400401402403404409422429502 Ошибки — формат и коды ошибок
Пример
curl
curl -X POST https://api.rivervo.com/api/partner/v1/hosting/812/reset-password \
  -H "Authorization: Bearer $RIVERVO_API_KEY" \
  -H "Idempotency-Key: order-1042"

Servers

GET/vps

Your servers

Параметры
  • pagequeryinteger
  • per_pagequeryinteger
Ответы
200 OKПоля
  • dataarray of Vps
    • idinteger
    • hostnamestring
    • planVpsPlan
      • idinteger
      • namestring
      • cpuinteger
      • ram_gbnumber
      • disk_gbinteger
      • traffic_tbnumber
      • cpu_typestring

        Значения: shared · dedicated

      • archstring

        Значения: x86 · arm

      • regionstring
      • locationsarray of string

        Where the plan is sold.

      • available_locationsarray of string

        Where it can be made right now (in GET /catalog/vps-plans and GET /prices only; refreshed every 5 minutes). Elsewhere in `locations` POST /vps answers out_of_stock unless "wait": true.

    • locationobject | null
      • idstring
      • regionstring
      • countrystring
      • citystring
    • osstring
    • statusstring

      provisioning, waiting_for_room, active, suspended, archived …

    • waiting_untilstring (date-time) | null

      Only while waiting_for_room: refunded if no room appears by then.

    • ipv4string | null
    • ipv6string | null
    • reverse_dnsstring | null

      The name the server's addresses resolve back to (<name>.rivervo.app); null until it is set.

    • paid_untilstring (date-time) | null
    • renews_from_partner_balanceboolean
    • root_passwordstring

      Only in the rebuild answer.

    • created_atstring (date-time) | null
  • metaPageMeta
    • totalinteger
    • per_pageinteger
    • current_pageinteger
    • last_pageinteger
401403404429 Ошибки — формат и коды ошибок
Пример
curl
curl https://api.rivervo.com/api/partner/v1/vps \
  -H "Authorization: Bearer $RIVERVO_API_KEY"
POST/vps

Create a server (one month, paid from the partner balance)

Параметры
  • Idempotency-Keyheaderstringобязательно

    Your unique key for this change (1–128 of A–Z a–z 0–9 - _ . :). The same key with the same request returns the first answer (header Idempotent-Replayed: true) and never charges twice; with another request: 409 idempotency_conflict.

Тело запроса application/json
  • plan_idintegerобязательно
  • locationstringобязательно

    Значения: de-nuremberg · de-falkenstein · fi-helsinki · us-east · us-west · sg-singapore

  • osstring

    Значения: ubuntu-24.04 · ubuntu-22.04 · debian-12 · debian-11 · centos-stream-9 · centos-stream-10 · rocky-9 · rocky-10 · almalinux-9 · almalinux-10 · fedora-43 · opensuse-16

  • ssh_public_keystring
  • waitboolean

    The location has no room now (out_of_stock): buy anyway; the server is made as soon as there is room (status waiting_for_room until then, the order stays processing). If no room appears by waiting_until, the payment is returned to the partner balance and the order fails with out_of_stock.

    По умолчанию: false

Ответы
202 Accepted: the order is processing; follow it with GET /orders/{id} or the webhook.Поля
  • dataVps
    • idinteger
    • hostnamestring
    • planVpsPlan
      • idinteger
      • namestring
      • cpuinteger
      • ram_gbnumber
      • disk_gbinteger
      • traffic_tbnumber
      • cpu_typestring

        Значения: shared · dedicated

      • archstring

        Значения: x86 · arm

      • regionstring
      • locationsarray of string

        Where the plan is sold.

      • available_locationsarray of string

        Where it can be made right now (in GET /catalog/vps-plans and GET /prices only; refreshed every 5 minutes). Elsewhere in `locations` POST /vps answers out_of_stock unless "wait": true.

    • locationobject | null
      • idstring
      • regionstring
      • countrystring
      • citystring
    • osstring
    • statusstring

      provisioning, waiting_for_room, active, suspended, archived …

    • waiting_untilstring (date-time) | null

      Only while waiting_for_room: refunded if no room appears by then.

    • ipv4string | null
    • ipv6string | null
    • reverse_dnsstring | null

      The name the server's addresses resolve back to (<name>.rivervo.app); null until it is set.

    • paid_untilstring (date-time) | null
    • renews_from_partner_balanceboolean
    • root_passwordstring

      Only in the rebuild answer.

    • created_atstring (date-time) | null
  • orderOrder
    • idinteger
    • actionstring
    • statusstring

      Значения: processing · completed · failed

    • idempotency_keystring
    • resourceobject | null
      • typestring
      • idinteger
    • charged_centsinteger | null
    • retail_centsinteger | null
    • currencystring
    • errorobject | null
      • codestring
      • messagestring
    • created_atstring (date-time) | null
    • completed_atstring (date-time) | null
400401402403404409422429502 Ошибки — формат и коды ошибок
Пример
curl
curl -X POST https://api.rivervo.com/api/partner/v1/vps \
  -H "Authorization: Bearer $RIVERVO_API_KEY" \
  -H "Idempotency-Key: order-1042" \
  -H "Content-Type: application/json" \
  -d '{
    "plan_id": 2,
    "location": "de-nuremberg",
    "os": "ubuntu-24.04",
    "ssh_public_key": "ssh-ed25519 AAAA... me@pc",
    "wait": false
  }'
GET/vps/{id}

One server

Параметры
  • idpathintegerобязательно

    The server id.

Ответы
200 OKПоля
  • dataVpsобязательно
    • idinteger
    • hostnamestring
    • planVpsPlan
      • idinteger
      • namestring
      • cpuinteger
      • ram_gbnumber
      • disk_gbinteger
      • traffic_tbnumber
      • cpu_typestring

        Значения: shared · dedicated

      • archstring

        Значения: x86 · arm

      • regionstring
      • locationsarray of string

        Where the plan is sold.

      • available_locationsarray of string

        Where it can be made right now (in GET /catalog/vps-plans and GET /prices only; refreshed every 5 minutes). Elsewhere in `locations` POST /vps answers out_of_stock unless "wait": true.

    • locationobject | null
      • idstring
      • regionstring
      • countrystring
      • citystring
    • osstring
    • statusstring

      provisioning, waiting_for_room, active, suspended, archived …

    • waiting_untilstring (date-time) | null

      Only while waiting_for_room: refunded if no room appears by then.

    • ipv4string | null
    • ipv6string | null
    • reverse_dnsstring | null

      The name the server's addresses resolve back to (<name>.rivervo.app); null until it is set.

    • paid_untilstring (date-time) | null
    • renews_from_partner_balanceboolean
    • root_passwordstring

      Only in the rebuild answer.

    • created_atstring (date-time) | null
401403404429 Ошибки — формат и коды ошибок
Пример
curl
curl https://api.rivervo.com/api/partner/v1/vps/812 \
  -H "Authorization: Bearer $RIVERVO_API_KEY"
DELETE/vps/{id}

Delete a server (no refund)

Параметры
  • Idempotency-Keyheaderstringобязательно

    Your unique key for this change (1–128 of A–Z a–z 0–9 - _ . :). The same key with the same request returns the first answer (header Idempotent-Replayed: true) and never charges twice; with another request: 409 idempotency_conflict.

  • idpathintegerобязательно

    The server id.

Ответы
200 OKПоля
  • dataobject
    • idinteger
    • deletedboolean
  • orderOrder
    • idinteger
    • actionstring
    • statusstring

      Значения: processing · completed · failed

    • idempotency_keystring
    • resourceobject | null
      • typestring
      • idinteger
    • charged_centsinteger | null
    • retail_centsinteger | null
    • currencystring
    • errorobject | null
      • codestring
      • messagestring
    • created_atstring (date-time) | null
    • completed_atstring (date-time) | null
400401402403404409422429502 Ошибки — формат и коды ошибок
Пример
curl
curl -X DELETE https://api.rivervo.com/api/partner/v1/vps/812 \
  -H "Authorization: Bearer $RIVERVO_API_KEY" \
  -H "Idempotency-Key: order-1042"
POST/vps/{id}/power/{action}

Power on, off (graceful) or reboot

Параметры
  • Idempotency-Keyheaderstringобязательно

    Your unique key for this change (1–128 of A–Z a–z 0–9 - _ . :). The same key with the same request returns the first answer (header Idempotent-Replayed: true) and never charges twice; with another request: 409 idempotency_conflict.

  • idpathintegerобязательно

    The server id.

  • actionpathstringобязательно

    Значения: on · off · reboot

Ответы
200 OKПоля
  • dataVps
    • idinteger
    • hostnamestring
    • planVpsPlan
      • idinteger
      • namestring
      • cpuinteger
      • ram_gbnumber
      • disk_gbinteger
      • traffic_tbnumber
      • cpu_typestring

        Значения: shared · dedicated

      • archstring

        Значения: x86 · arm

      • regionstring
      • locationsarray of string

        Where the plan is sold.

      • available_locationsarray of string

        Where it can be made right now (in GET /catalog/vps-plans and GET /prices only; refreshed every 5 minutes). Elsewhere in `locations` POST /vps answers out_of_stock unless "wait": true.

    • locationobject | null
      • idstring
      • regionstring
      • countrystring
      • citystring
    • osstring
    • statusstring

      provisioning, waiting_for_room, active, suspended, archived …

    • waiting_untilstring (date-time) | null

      Only while waiting_for_room: refunded if no room appears by then.

    • ipv4string | null
    • ipv6string | null
    • reverse_dnsstring | null

      The name the server's addresses resolve back to (<name>.rivervo.app); null until it is set.

    • paid_untilstring (date-time) | null
    • renews_from_partner_balanceboolean
    • root_passwordstring

      Only in the rebuild answer.

    • created_atstring (date-time) | null
  • orderOrder
    • idinteger
    • actionstring
    • statusstring

      Значения: processing · completed · failed

    • idempotency_keystring
    • resourceobject | null
      • typestring
      • idinteger
    • charged_centsinteger | null
    • retail_centsinteger | null
    • currencystring
    • errorobject | null
      • codestring
      • messagestring
    • created_atstring (date-time) | null
    • completed_atstring (date-time) | null
400401402403404409422429502 Ошибки — формат и коды ошибок
Пример
curl
curl -X POST https://api.rivervo.com/api/partner/v1/vps/812/power/on \
  -H "Authorization: Bearer $RIVERVO_API_KEY" \
  -H "Idempotency-Key: order-1042"
POST/vps/{id}/rebuild

Reinstall the server from its image (data lost; the new root password is in this answer only)

Параметры
  • Idempotency-Keyheaderstringобязательно

    Your unique key for this change (1–128 of A–Z a–z 0–9 - _ . :). The same key with the same request returns the first answer (header Idempotent-Replayed: true) and never charges twice; with another request: 409 idempotency_conflict.

  • idpathintegerобязательно

    The server id.

Ответы
200 OKПоля
  • dataVps
    • idinteger
    • hostnamestring
    • planVpsPlan
      • idinteger
      • namestring
      • cpuinteger
      • ram_gbnumber
      • disk_gbinteger
      • traffic_tbnumber
      • cpu_typestring

        Значения: shared · dedicated

      • archstring

        Значения: x86 · arm

      • regionstring
      • locationsarray of string

        Where the plan is sold.

      • available_locationsarray of string

        Where it can be made right now (in GET /catalog/vps-plans and GET /prices only; refreshed every 5 minutes). Elsewhere in `locations` POST /vps answers out_of_stock unless "wait": true.

    • locationobject | null
      • idstring
      • regionstring
      • countrystring
      • citystring
    • osstring
    • statusstring

      provisioning, waiting_for_room, active, suspended, archived …

    • waiting_untilstring (date-time) | null

      Only while waiting_for_room: refunded if no room appears by then.

    • ipv4string | null
    • ipv6string | null
    • reverse_dnsstring | null

      The name the server's addresses resolve back to (<name>.rivervo.app); null until it is set.

    • paid_untilstring (date-time) | null
    • renews_from_partner_balanceboolean
    • root_passwordstring

      Only in the rebuild answer.

    • created_atstring (date-time) | null
  • orderOrder
    • idinteger
    • actionstring
    • statusstring

      Значения: processing · completed · failed

    • idempotency_keystring
    • resourceobject | null
      • typestring
      • idinteger
    • charged_centsinteger | null
    • retail_centsinteger | null
    • currencystring
    • errorobject | null
      • codestring
      • messagestring
    • created_atstring (date-time) | null
    • completed_atstring (date-time) | null
400401402403404409422429502 Ошибки — формат и коды ошибок
Пример
curl
curl -X POST https://api.rivervo.com/api/partner/v1/vps/812/rebuild \
  -H "Authorization: Bearer $RIVERVO_API_KEY" \
  -H "Idempotency-Key: order-1042"
POST/vps/{id}/renew

Renew one month (plan and add-ons)

Параметры
  • Idempotency-Keyheaderstringобязательно

    Your unique key for this change (1–128 of A–Z a–z 0–9 - _ . :). The same key with the same request returns the first answer (header Idempotent-Replayed: true) and never charges twice; with another request: 409 idempotency_conflict.

  • idpathintegerобязательно

    The server id.

Ответы
200 OKПоля
  • dataVps
    • idinteger
    • hostnamestring
    • planVpsPlan
      • idinteger
      • namestring
      • cpuinteger
      • ram_gbnumber
      • disk_gbinteger
      • traffic_tbnumber
      • cpu_typestring

        Значения: shared · dedicated

      • archstring

        Значения: x86 · arm

      • regionstring
      • locationsarray of string

        Where the plan is sold.

      • available_locationsarray of string

        Where it can be made right now (in GET /catalog/vps-plans and GET /prices only; refreshed every 5 minutes). Elsewhere in `locations` POST /vps answers out_of_stock unless "wait": true.

    • locationobject | null
      • idstring
      • regionstring
      • countrystring
      • citystring
    • osstring
    • statusstring

      provisioning, waiting_for_room, active, suspended, archived …

    • waiting_untilstring (date-time) | null

      Only while waiting_for_room: refunded if no room appears by then.

    • ipv4string | null
    • ipv6string | null
    • reverse_dnsstring | null

      The name the server's addresses resolve back to (<name>.rivervo.app); null until it is set.

    • paid_untilstring (date-time) | null
    • renews_from_partner_balanceboolean
    • root_passwordstring

      Only in the rebuild answer.

    • created_atstring (date-time) | null
  • orderOrder
    • idinteger
    • actionstring
    • statusstring

      Значения: processing · completed · failed

    • idempotency_keystring
    • resourceobject | null
      • typestring
      • idinteger
    • charged_centsinteger | null
    • retail_centsinteger | null
    • currencystring
    • errorobject | null
      • codestring
      • messagestring
    • created_atstring (date-time) | null
    • completed_atstring (date-time) | null
400401402403404409422429502 Ошибки — формат и коды ошибок
Пример
curl
curl -X POST https://api.rivervo.com/api/partner/v1/vps/812/renew \
  -H "Authorization: Bearer $RIVERVO_API_KEY" \
  -H "Idempotency-Key: order-1042"

Email

GET/mail/subscription

Your email subscription (one per account, shared by all its domains)

Ответы
200 OKПоля
  • dataMailSubscription | nullобязательно
    • idinteger
    • planobject | null
      • keystring
      • namestring
      • mailbox_quota_gbinteger
    • periodstring
    • mailboxes_paidinteger
    • mailboxes_usedinteger
    • extra_storage_gb_per_mailboxinteger
    • statusstring
    • paid_untilstring (date-time) | null
    • renews_from_partner_balanceboolean
    • domainsarray of MailDomain
      • idinteger
      • domainstring
      • statusstring
      • dns_verifiedboolean
      • mailboxesinteger
      • created_atstring (date-time) | null
    • created_atstring (date-time) | null
401403404429 Ошибки — формат и коды ошибок
Пример
curl
curl https://api.rivervo.com/api/partner/v1/mail/subscription \
  -H "Authorization: Bearer $RIVERVO_API_KEY"
POST/mail/subscription

Buy the email subscription (paid now from the partner balance)

Параметры
  • Idempotency-Keyheaderstringобязательно

    Your unique key for this change (1–128 of A–Z a–z 0–9 - _ . :). The same key with the same request returns the first answer (header Idempotent-Replayed: true) and never charges twice; with another request: 409 idempotency_conflict.

Тело запроса application/json
  • planstringобязательно
  • periodstringобязательно

    Значения: monthly · yearly

  • mailboxesintegerобязательно
  • domainstring
Ответы
201 OKПоля
  • dataMailSubscription
    • idinteger
    • planobject | null
      • keystring
      • namestring
      • mailbox_quota_gbinteger
    • periodstring
    • mailboxes_paidinteger
    • mailboxes_usedinteger
    • extra_storage_gb_per_mailboxinteger
    • statusstring
    • paid_untilstring (date-time) | null
    • renews_from_partner_balanceboolean
    • domainsarray of MailDomain
      • idinteger
      • domainstring
      • statusstring
      • dns_verifiedboolean
      • mailboxesinteger
      • created_atstring (date-time) | null
    • created_atstring (date-time) | null
  • orderOrder
    • idinteger
    • actionstring
    • statusstring

      Значения: processing · completed · failed

    • idempotency_keystring
    • resourceobject | null
      • typestring
      • idinteger
    • charged_centsinteger | null
    • retail_centsinteger | null
    • currencystring
    • errorobject | null
      • codestring
      • messagestring
    • created_atstring (date-time) | null
    • completed_atstring (date-time) | null
400401402403404409422429502 Ошибки — формат и коды ошибок
Пример
curl
curl -X POST https://api.rivervo.com/api/partner/v1/mail/subscription \
  -H "Authorization: Bearer $RIVERVO_API_KEY" \
  -H "Idempotency-Key: order-1042" \
  -H "Content-Type: application/json" \
  -d '{
    "plan": "string",
    "period": "monthly",
    "mailboxes": 10,
    "domain": "client.az"
  }'
POST/mail/subscription/renew

Renew the email subscription

Параметры
  • Idempotency-Keyheaderstringобязательно

    Your unique key for this change (1–128 of A–Z a–z 0–9 - _ . :). The same key with the same request returns the first answer (header Idempotent-Replayed: true) and never charges twice; with another request: 409 idempotency_conflict.

Тело запроса application/json
  • periodstring

    Значения: monthly · yearly

Ответы
200 OKПоля
  • dataMailSubscription
    • idinteger
    • planobject | null
      • keystring
      • namestring
      • mailbox_quota_gbinteger
    • periodstring
    • mailboxes_paidinteger
    • mailboxes_usedinteger
    • extra_storage_gb_per_mailboxinteger
    • statusstring
    • paid_untilstring (date-time) | null
    • renews_from_partner_balanceboolean
    • domainsarray of MailDomain
      • idinteger
      • domainstring
      • statusstring
      • dns_verifiedboolean
      • mailboxesinteger
      • created_atstring (date-time) | null
    • created_atstring (date-time) | null
  • orderOrder
    • idinteger
    • actionstring
    • statusstring

      Значения: processing · completed · failed

    • idempotency_keystring
    • resourceobject | null
      • typestring
      • idinteger
    • charged_centsinteger | null
    • retail_centsinteger | null
    • currencystring
    • errorobject | null
      • codestring
      • messagestring
    • created_atstring (date-time) | null
    • completed_atstring (date-time) | null
400401402403404409422429502 Ошибки — формат и коды ошибок
Пример
curl
curl -X POST https://api.rivervo.com/api/partner/v1/mail/subscription/renew \
  -H "Authorization: Bearer $RIVERVO_API_KEY" \
  -H "Idempotency-Key: order-1042" \
  -H "Content-Type: application/json" \
  -d '{
    "period": "monthly"
  }'
PUT/mail/subscription/mailboxes

Set the number of paid mailboxes (more: charged for the rest of the period)

Параметры
  • Idempotency-Keyheaderstringобязательно

    Your unique key for this change (1–128 of A–Z a–z 0–9 - _ . :). The same key with the same request returns the first answer (header Idempotent-Replayed: true) and never charges twice; with another request: 409 idempotency_conflict.

Тело запроса application/json
  • mailboxesintegerобязательно
Ответы
200 OKПоля
  • dataMailSubscription
    • idinteger
    • planobject | null
      • keystring
      • namestring
      • mailbox_quota_gbinteger
    • periodstring
    • mailboxes_paidinteger
    • mailboxes_usedinteger
    • extra_storage_gb_per_mailboxinteger
    • statusstring
    • paid_untilstring (date-time) | null
    • renews_from_partner_balanceboolean
    • domainsarray of MailDomain
      • idinteger
      • domainstring
      • statusstring
      • dns_verifiedboolean
      • mailboxesinteger
      • created_atstring (date-time) | null
    • created_atstring (date-time) | null
  • orderOrder
    • idinteger
    • actionstring
    • statusstring

      Значения: processing · completed · failed

    • idempotency_keystring
    • resourceobject | null
      • typestring
      • idinteger
    • charged_centsinteger | null
    • retail_centsinteger | null
    • currencystring
    • errorobject | null
      • codestring
      • messagestring
    • created_atstring (date-time) | null
    • completed_atstring (date-time) | null
400401402403404409422429502 Ошибки — формат и коды ошибок
Пример
curl
curl -X PUT https://api.rivervo.com/api/partner/v1/mail/subscription/mailboxes \
  -H "Authorization: Bearer $RIVERVO_API_KEY" \
  -H "Idempotency-Key: order-1042" \
  -H "Content-Type: application/json" \
  -d '{
    "mailboxes": 10
  }'
PUT/mail/subscription/storage

Extra storage on every mailbox (GB)

Параметры
  • Idempotency-Keyheaderstringобязательно

    Your unique key for this change (1–128 of A–Z a–z 0–9 - _ . :). The same key with the same request returns the first answer (header Idempotent-Replayed: true) and never charges twice; with another request: 409 idempotency_conflict.

Тело запроса application/json
  • gb_per_mailboxintegerобязательно
Ответы
200 OKПоля
  • dataMailSubscription
    • idinteger
    • planobject | null
      • keystring
      • namestring
      • mailbox_quota_gbinteger
    • periodstring
    • mailboxes_paidinteger
    • mailboxes_usedinteger
    • extra_storage_gb_per_mailboxinteger
    • statusstring
    • paid_untilstring (date-time) | null
    • renews_from_partner_balanceboolean
    • domainsarray of MailDomain
      • idinteger
      • domainstring
      • statusstring
      • dns_verifiedboolean
      • mailboxesinteger
      • created_atstring (date-time) | null
    • created_atstring (date-time) | null
  • orderOrder
    • idinteger
    • actionstring
    • statusstring

      Значения: processing · completed · failed

    • idempotency_keystring
    • resourceobject | null
      • typestring
      • idinteger
    • charged_centsinteger | null
    • retail_centsinteger | null
    • currencystring
    • errorobject | null
      • codestring
      • messagestring
    • created_atstring (date-time) | null
    • completed_atstring (date-time) | null
400401402403404409422429502 Ошибки — формат и коды ошибок
Пример
curl
curl -X PUT https://api.rivervo.com/api/partner/v1/mail/subscription/storage \
  -H "Authorization: Bearer $RIVERVO_API_KEY" \
  -H "Idempotency-Key: order-1042" \
  -H "Content-Type: application/json" \
  -d '{
    "gb_per_mailbox": 5
  }'
GET/mail/domains

Domains on your email subscription

Параметры
  • pagequeryinteger
  • per_pagequeryinteger
Ответы
200 OKПоля
  • dataarray of MailDomain
    • idinteger
    • domainstring
    • statusstring
    • dns_verifiedboolean
    • mailboxesinteger
    • created_atstring (date-time) | null
  • metaPageMeta
    • totalinteger
    • per_pageinteger
    • current_pageinteger
    • last_pageinteger
401403404429 Ошибки — формат и коды ошибок
Пример
curl
curl https://api.rivervo.com/api/partner/v1/mail/domains \
  -H "Authorization: Bearer $RIVERVO_API_KEY"
POST/mail/domains

Add a client domain

Параметры
  • Idempotency-Keyheaderstringобязательно

    Your unique key for this change (1–128 of A–Z a–z 0–9 - _ . :). The same key with the same request returns the first answer (header Idempotent-Replayed: true) and never charges twice; with another request: 409 idempotency_conflict.

Тело запроса application/json
  • domainstringобязательно
Ответы
201 OKПоля
  • dataMailDomain
    • idinteger
    • domainstring
    • statusstring
    • dns_verifiedboolean
    • mailboxesinteger
    • created_atstring (date-time) | null
  • orderOrder
    • idinteger
    • actionstring
    • statusstring

      Значения: processing · completed · failed

    • idempotency_keystring
    • resourceobject | null
      • typestring
      • idinteger
    • charged_centsinteger | null
    • retail_centsinteger | null
    • currencystring
    • errorobject | null
      • codestring
      • messagestring
    • created_atstring (date-time) | null
    • completed_atstring (date-time) | null
400401402403404409422429502 Ошибки — формат и коды ошибок
Пример
curl
curl -X POST https://api.rivervo.com/api/partner/v1/mail/domains \
  -H "Authorization: Bearer $RIVERVO_API_KEY" \
  -H "Idempotency-Key: order-1042" \
  -H "Content-Type: application/json" \
  -d '{
    "domain": "client.az"
  }'
GET/mail/domains/{id}

One email domain

Параметры
  • idpathintegerобязательно

    The email domain id.

Ответы
200 OKПоля
  • dataMailDomainобязательно
    • idinteger
    • domainstring
    • statusstring
    • dns_verifiedboolean
    • mailboxesinteger
    • created_atstring (date-time) | null
401403404429 Ошибки — формат и коды ошибок
Пример
curl
curl https://api.rivervo.com/api/partner/v1/mail/domains/812 \
  -H "Authorization: Bearer $RIVERVO_API_KEY"
DELETE/mail/domains/{id}

Remove a domain with its mailboxes and mail

Параметры
  • Idempotency-Keyheaderstringобязательно

    Your unique key for this change (1–128 of A–Z a–z 0–9 - _ . :). The same key with the same request returns the first answer (header Idempotent-Replayed: true) and never charges twice; with another request: 409 idempotency_conflict.

  • idpathintegerобязательно

    The email domain id.

Ответы
200 OKПоля
  • dataobject
    • idinteger
    • deletedboolean
  • orderOrder
    • idinteger
    • actionstring
    • statusstring

      Значения: processing · completed · failed

    • idempotency_keystring
    • resourceobject | null
      • typestring
      • idinteger
    • charged_centsinteger | null
    • retail_centsinteger | null
    • currencystring
    • errorobject | null
      • codestring
      • messagestring
    • created_atstring (date-time) | null
    • completed_atstring (date-time) | null
400401402403404409422429502 Ошибки — формат и коды ошибок
Пример
curl
curl -X DELETE https://api.rivervo.com/api/partner/v1/mail/domains/812 \
  -H "Authorization: Bearer $RIVERVO_API_KEY" \
  -H "Idempotency-Key: order-1042"
GET/mail/domains/{id}/dns

DNS records the domain needs and the mail settings for clients

Параметры
  • idpathintegerобязательно

    The email domain id.

  • refreshqueryboolean
Ответы
200 OKПоля
  • dataMailDnsобязательно
    • domainstring
    • statusstring

      Значения: pending · partial · verified

    • recordsarray of object
      • typestring
      • hoststring | null
      • valuestring | null
      • priorityinteger | null
      • purposestring | null
      • availableboolean

        false: ask support for this record.

    • settingsobject
      • imap_hoststring | null
      • imap_portinteger | null
      • smtp_hoststring | null
      • smtp_portinteger | null
      • webmail_urlstring | null
    • verified_atstring (date-time) | null
401403404429 Ошибки — формат и коды ошибок
Пример
curl
curl https://api.rivervo.com/api/partner/v1/mail/domains/812/dns \
  -H "Authorization: Bearer $RIVERVO_API_KEY"
GET/mail/domains/{id}/mailboxes

Mailboxes of a domain

Параметры
  • idpathintegerобязательно

    The email domain id.

  • pagequeryinteger
  • per_pagequeryinteger
Ответы
200 OKПоля
  • dataarray of Mailbox
    • idinteger
    • addressstring
    • first_namestring | null
    • last_namestring | null
    • quota_gbinteger | null
    • statusstring
    • created_atstring (date-time) | null
  • metaPageMeta
    • totalinteger
    • per_pageinteger
    • current_pageinteger
    • last_pageinteger
401403404429 Ошибки — формат и коды ошибок
Пример
curl
curl https://api.rivervo.com/api/partner/v1/mail/domains/812/mailboxes \
  -H "Authorization: Bearer $RIVERVO_API_KEY"
POST/mail/domains/{id}/mailboxes

Create a mailbox

Параметры
  • Idempotency-Keyheaderstringобязательно

    Your unique key for this change (1–128 of A–Z a–z 0–9 - _ . :). The same key with the same request returns the first answer (header Idempotent-Replayed: true) and never charges twice; with another request: 409 idempotency_conflict.

  • idpathintegerобязательно

    The email domain id.

Тело запроса application/json
  • local_partstringобязательно
  • passwordstringобязательно
  • first_namestring
  • last_namestring
Ответы
201 OKПоля
  • dataMailbox
    • idinteger
    • addressstring
    • first_namestring | null
    • last_namestring | null
    • quota_gbinteger | null
    • statusstring
    • created_atstring (date-time) | null
  • orderOrder
    • idinteger
    • actionstring
    • statusstring

      Значения: processing · completed · failed

    • idempotency_keystring
    • resourceobject | null
      • typestring
      • idinteger
    • charged_centsinteger | null
    • retail_centsinteger | null
    • currencystring
    • errorobject | null
      • codestring
      • messagestring
    • created_atstring (date-time) | null
    • completed_atstring (date-time) | null
400401402403404409422429502 Ошибки — формат и коды ошибок
Пример
curl
curl -X POST https://api.rivervo.com/api/partner/v1/mail/domains/812/mailboxes \
  -H "Authorization: Bearer $RIVERVO_API_KEY" \
  -H "Idempotency-Key: order-1042" \
  -H "Content-Type: application/json" \
  -d '{
    "local_part": "info",
    "password": "A-long-secret-1",
    "first_name": "Aysel",
    "last_name": "Mammadova"
  }'
PATCH/mail/mailboxes/{id}

Change a mailbox password or name

Параметры
  • Idempotency-Keyheaderstringобязательно

    Your unique key for this change (1–128 of A–Z a–z 0–9 - _ . :). The same key with the same request returns the first answer (header Idempotent-Replayed: true) and never charges twice; with another request: 409 idempotency_conflict.

  • idpathintegerобязательно

    The mailbox id.

Тело запроса application/json
  • passwordstring
  • first_namestring
  • last_namestring
Ответы
200 OKПоля
  • dataMailbox
    • idinteger
    • addressstring
    • first_namestring | null
    • last_namestring | null
    • quota_gbinteger | null
    • statusstring
    • created_atstring (date-time) | null
  • orderOrder
    • idinteger
    • actionstring
    • statusstring

      Значения: processing · completed · failed

    • idempotency_keystring
    • resourceobject | null
      • typestring
      • idinteger
    • charged_centsinteger | null
    • retail_centsinteger | null
    • currencystring
    • errorobject | null
      • codestring
      • messagestring
    • created_atstring (date-time) | null
    • completed_atstring (date-time) | null
400401402403404409422429502 Ошибки — формат и коды ошибок
Пример
curl
curl -X PATCH https://api.rivervo.com/api/partner/v1/mail/mailboxes/812 \
  -H "Authorization: Bearer $RIVERVO_API_KEY" \
  -H "Idempotency-Key: order-1042" \
  -H "Content-Type: application/json" \
  -d '{
    "password": "A-long-secret-1",
    "first_name": "Aysel",
    "last_name": "Mammadova"
  }'
DELETE/mail/mailboxes/{id}

Delete a mailbox with its mail

Параметры
  • Idempotency-Keyheaderstringобязательно

    Your unique key for this change (1–128 of A–Z a–z 0–9 - _ . :). The same key with the same request returns the first answer (header Idempotent-Replayed: true) and never charges twice; with another request: 409 idempotency_conflict.

  • idpathintegerобязательно

    The mailbox id.

Ответы
200 OKПоля
  • dataobject
    • idinteger
    • deletedboolean
  • orderOrder
    • idinteger
    • actionstring
    • statusstring

      Значения: processing · completed · failed

    • idempotency_keystring
    • resourceobject | null
      • typestring
      • idinteger
    • charged_centsinteger | null
    • retail_centsinteger | null
    • currencystring
    • errorobject | null
      • codestring
      • messagestring
    • created_atstring (date-time) | null
    • completed_atstring (date-time) | null
400401402403404409422429502 Ошибки — формат и коды ошибок
Пример
curl
curl -X DELETE https://api.rivervo.com/api/partner/v1/mail/mailboxes/812 \
  -H "Authorization: Bearer $RIVERVO_API_KEY" \
  -H "Idempotency-Key: order-1042"
GET/mail/domains/{id}/aliases

Aliases and forwards of a domain

Параметры
  • idpathintegerобязательно

    The email domain id.

  • pagequeryinteger
  • per_pagequeryinteger
Ответы
200 OKПоля
  • dataarray of MailAlias
    • idinteger
    • addressstring
    • destinationsarray of string
    • created_atstring (date-time) | null
  • metaPageMeta
    • totalinteger
    • per_pageinteger
    • current_pageinteger
    • last_pageinteger
401403404429 Ошибки — формат и коды ошибок
Пример
curl
curl https://api.rivervo.com/api/partner/v1/mail/domains/812/aliases \
  -H "Authorization: Bearer $RIVERVO_API_KEY"
POST/mail/domains/{id}/aliases

Create an alias or forward

Параметры
  • Idempotency-Keyheaderstringобязательно

    Your unique key for this change (1–128 of A–Z a–z 0–9 - _ . :). The same key with the same request returns the first answer (header Idempotent-Replayed: true) and never charges twice; with another request: 409 idempotency_conflict.

  • idpathintegerобязательно

    The email domain id.

Тело запроса application/json
  • local_partstringобязательно
  • destinationsarray of string (email)обязательно
Ответы
201 OKПоля
  • dataMailAlias
    • idinteger
    • addressstring
    • destinationsarray of string
    • created_atstring (date-time) | null
  • orderOrder
    • idinteger
    • actionstring
    • statusstring

      Значения: processing · completed · failed

    • idempotency_keystring
    • resourceobject | null
      • typestring
      • idinteger
    • charged_centsinteger | null
    • retail_centsinteger | null
    • currencystring
    • errorobject | null
      • codestring
      • messagestring
    • created_atstring (date-time) | null
    • completed_atstring (date-time) | null
400401402403404409422429502 Ошибки — формат и коды ошибок
Пример
curl
curl -X POST https://api.rivervo.com/api/partner/v1/mail/domains/812/aliases \
  -H "Authorization: Bearer $RIVERVO_API_KEY" \
  -H "Idempotency-Key: order-1042" \
  -H "Content-Type: application/json" \
  -d '{
    "local_part": "info",
    "destinations": [
      "office@client.az"
    ]
  }'
DELETE/mail/aliases/{id}

Delete an alias

Параметры
  • Idempotency-Keyheaderstringобязательно

    Your unique key for this change (1–128 of A–Z a–z 0–9 - _ . :). The same key with the same request returns the first answer (header Idempotent-Replayed: true) and never charges twice; with another request: 409 idempotency_conflict.

  • idpathintegerобязательно

    The alias id.

Ответы
200 OKПоля
  • dataobject
    • idinteger
    • deletedboolean
  • orderOrder
    • idinteger
    • actionstring
    • statusstring

      Значения: processing · completed · failed

    • idempotency_keystring
    • resourceobject | null
      • typestring
      • idinteger
    • charged_centsinteger | null
    • retail_centsinteger | null
    • currencystring
    • errorobject | null
      • codestring
      • messagestring
    • created_atstring (date-time) | null
    • completed_atstring (date-time) | null
400401402403404409422429502 Ошибки — формат и коды ошибок
Пример
curl
curl -X DELETE https://api.rivervo.com/api/partner/v1/mail/aliases/812 \
  -H "Authorization: Bearer $RIVERVO_API_KEY" \
  -H "Idempotency-Key: order-1042"

События вебхуков

Что мы отправляем на ваш URL вебхука. Проверка подписи и повторы описаны в разделе «Вебхуки». →

POSTorder.completed

An order finished

СодержимоеПоля
  • idstring
  • eventstring
  • created_atstring (date-time) | null
  • dataobject
    • orderOrder
      • idinteger
      • actionstring
      • statusstring

        Значения: processing · completed · failed

      • idempotency_keystring
      • resourceobject | null
        • typestring
        • idinteger
      • charged_centsinteger | null
      • retail_centsinteger | null
      • currencystring
      • errorobject | null
        • codestring
        • messagestring
      • created_atstring (date-time) | null
      • completed_atstring (date-time) | null
POSTorder.failed

An order failed (nothing charged, or refunded)

СодержимоеПоля
  • idstring
  • eventstring
  • created_atstring (date-time) | null
  • dataobject
    • orderOrder
      • idinteger
      • actionstring
      • statusstring

        Значения: processing · completed · failed

      • idempotency_keystring
      • resourceobject | null
        • typestring
        • idinteger
      • charged_centsinteger | null
      • retail_centsinteger | null
      • currencystring
      • errorobject | null
        • codestring
        • messagestring
      • created_atstring (date-time) | null
      • completed_atstring (date-time) | null
POSTbalance.low

The partner balance crossed a threshold (accounts with credit)

СодержимоеПоля
  • idstring
  • eventstring
  • created_atstring (date-time) | null
  • dataobject
    • stagestring
    • balance_centsinteger
    • credit_limit_centsinteger
    • available_centsinteger
Документация Partner API