m.MeowMeow Developers
ENOpenAPI ↗
API REFERENCE

Точная котировка

POST/api/v1/quotes

Работает только с данными вашего аккаунта. Передавайте API-ключ в заголовке Authorization. Ответы возвращаются в JSON.

Запрос

В BASE_URL укажите HTTPS-адрес этого сайта, в API_KEY — свой секретный ключ. RESOURCE_ID замените идентификатором из ответа API.

cURL
curl --request POST "${BASE_URL}/api/v1/quotes" \
  --header "Authorization: Bearer $API_KEY" \
  --header "Content-Type: application/json" \
  --header "Idempotency-Key: YOUR_UNIQUE_ACTION_UUID" \
  --data '{"names": ["example.com"], "kind": "registration", "period": 1, "category": "basic", "configuration": {"mode": "skip"}}'

Заголовки и параметры

Authorizationобязательно

Bearer YOUR_API_KEY

Idempotency-Keyheader · stringобязательно

Уникальный ключ действия. При повторе используйте то же значение и тот же JSON.

JSON body

registration
namesarrayобязательно

Доменные имена. Только ваши домены при продлении.

minItems: 1 · maxItems: 50

kindstring

Тип действия; выбирайте нужный вариант ниже.

enum: ["registration", "renewal"] · default: "registration"

categorystring

Категория цены: basic или protected.

enum: ["basic", "protected"] · default: "basic"

periodinteger

Срок в годах: регистрация 1; продление — доступные renewal_periods домена.

default: 1 · minimum: 1 · maximum: 10

configurationobject

Начальная настройка после регистрации.

configuration.modestring

skip — без настройки; a — IP; ns — свои NS; cloudflare — подключение Cloudflare.

enum: ["skip", "a", "ns", "cloudflare"]

configuration.ipstring

Публичный IPv4-адрес вашего сервера.

configuration.nameserversarray

Имена серверов DNS, не IP-адреса.

minItems: 2 · maxItems: 20

Ответ

202 означает «принято», а не «выполнено». Проверяйте состояние заказа или операции. При неизвестном результате не создавайте повторную покупку. Суммы — десятичные строки в USD, даты — ISO 8601.
request_idstringобязательно

Идентификатор для восстановления результата после сетевого сбоя.

idstringобязательно
kindstring

Тип действия; выбирайте нужный вариант ниже.

statusstringобязательно

Текущее состояние. Принятое задание ещё не означает успех.

periodinteger

Срок в годах: регистрация 1; продление — доступные renewal_periods домена.

categorystring

Категория цены: basic или protected.

currencyobject

const: "USD"

totalstringобязательно

Десятичная строка в USD; не используйте float для расчётов.

pattern: "^\\d+(\\.\\d+)?$"

prime_pricedboolean

Учтена ли скидка Prime в котировке.

expires_atstring | null
created_atstring | null
itemsarrayобязательно
items[].domainstringобязательно
items[].pricestringобязательно

Десятичная строка в USD; не используйте float для расчётов.

pattern: "^\\d+(\\.\\d+)?$"

items[].statusstringобязательно

Текущее состояние. Принятое задание ещё не означает успех.

Пример структуры ответа · условные значения
JSON
{
  "request_id": "00000000-0000-4000-8000-000000000001",
  "id": "00000000-0000-4000-8000-000000000001",
  "kind": "string",
  "status": "string",
  "period": 1,
  "category": "string",
  "currency": "USD",
  "total": "0.00",
  "prime_priced": false,
  "expires_at": "2026-10-02T12:00:00Z",
  "created_at": "2026-10-02T12:00:00Z",
  "items": [
    {
      "domain": "string",
      "price": "0.00",
      "status": "string"
    }
  ]
}

Ошибки и статусы

error.code · error.message · request_id

401

Ключ неверен или отозван.

404

Ресурс не найден в вашем аккаунте.

409

Конфликт ключа повтора или запрос ещё выполняется.

422

Неверные параметры или условия операции, включая баланс.

500

Результат может быть неизвестен. Проверьте запрос.

503

Временно недоступно. Учитывайте Retry-After.