Розробникам

domain.dot API

Стабільний версіонований HTTP API для перевірки доступності .dot, пошуку в кураторському каталозі, оформлення попередніх замовлень зі збереженою карткою та керування картками й вебхуками. JSON на вході, JSON на виході.

Завантажити OpenAPI (JSON) Отримати ключ API

Base URL https://domain.dot/api/v1

Автентифікація

Надсилайте ключ API як токен Bearer. Створюйте ключі та керуйте ними в налаштуваннях облікового запису — повний ключ показується лише один раз під час створення, тож зберігайте його в надійному місці.

Authorization: Bearer dpk_live_<selector>_<secret>

Ключі мають вигляд dpk_<env>_<selector>_<secret>, де env — це live або test.

Активна сесія в браузері може викликати ті самі ендпоінти; для операцій запису з автентифікацією через сесію додатково потрібен заголовок X-CSRF-Token. Для запитів із токеном Bearer він не потрібен.

Області доступу та ліміти запитів

Кожен ключ має набір областей доступу. Виклик має здійснюватися ключем, що містить потрібну для ендпоінта область. Ліміти запитів застосовуються окремо для кожної області та кожного ключа.

Область доступу Надає доступ до Ліміт запитів Рівень
domain.check Check a single .pay domain — availability + pricing 50/sec Публічний
catalog.search AI keyword search against the curated catalog 30/min Публічний
orders.read List + read the account's own orders 60/min Публічний
orders.write Create a pre-order against a saved payment method 10/min Публічний
payment_methods.read List saved cards (Stripe payment methods) 20/min Публічний
payment_methods.write Add (SetupIntent) + remove saved cards 20/min Публічний
account.read Read account profile: email, role, vip_tier, granted scopes 60/min Публічний
webhooks.read List configured webhook endpoints 20/min Публічний
webhooks.write Create + delete webhook endpoints 10/min Публічний
zone_file.download Download the full daily .pay DNS zone-file snapshot 24/day Обмежений
premium.list Paginated registry premium catalogue (incl. reserved/blocked) 60/min Обмежений
registered.list Paginated registered .pay names (from the DNS zone file) + AI brand context 60/min Обмежений

Обмежені області доступу мають подвійний захист: ключ може містити область, але виклики спрацюють лише після того, як адміністратор надасть її вашому обліковому запису. Подайте запит у налаштуваннях облікового запису.

Підтримувані доменні зони

Один акаунт і один API-ключ працюють у всіх зонах нижче — зону визначає базовий URL, який ви викликаєте.

.pay https://domain.pay/api/v1
.latino https://domain.latino/api/v1
.dot https://domain.dot/api/v1

Швидкий старт

Два швидкі виклики для початку:

# Перевірити назву
curl -s https://domain.dot/api/v1/check-domain \
  -H "Authorization: Bearer dpk_live_…" \
  -H "Content-Type: application/json" \
  -d '{"domain":"acme.dot"}'

# Хто я і що я можу робити
curl -s https://domain.dot/api/v1/account \
  -H "Authorization: Bearer dpk_live_…"

Ендпоінти

Усі ендпоінти активні. Схеми запитів і відповідей, параметри та коди станів повністю описані в документі OpenAPI.

Account

GET /account account.read Your profile + the scopes effective for this key.

Domains

POST /check-domain domain.check Availability + pricing for one name in a supported zone. Fast DB-only lookup (no live registry call) — POST /orders re-verifies live.

Catalog

POST /catalog/search catalog.search Keyword search over the curated catalogue.

Orders

GET /orders orders.read List your orders, newest first.
GET /orders/{id} orders.read One order + its customer message thread.
POST /orders orders.write Create a pre-order + charge a saved card (send an Idempotency-Key).

Payment methods

GET /account/payment-methods payment_methods.read List saved cards.
POST /account/payment-methods payment_methods.write Start a Stripe SetupIntent to add a card.
DELETE /account/payment-methods/{id} payment_methods.write Remove a saved card.

Webhooks

GET /webhooks webhooks.read List webhook endpoints.
POST /webhooks webhooks.write Register an endpoint (signing secret shown once).
DELETE /webhooks/{id} webhooks.write Delete an endpoint.

Restricted

GET /zone-file zone_file.download Daily DNS zone-file snapshot for the zone of the host you call.
GET /premium premium.list Registry premium catalogue.
GET /registered registered.list Registered names in the called zone + AI brand context.

Щоб отримати повний контракт запитів/відповідей, імпортуйте специфікацію OpenAPI: Завантажити OpenAPI (JSON).

Вебхуки

Зареєструйте HTTPS-ендпоінт, і ми надсилатимемо підписані події в міру їх виникнення. Секрет для підпису показується один раз під час створення.

ПодіяОпис
order.createdA new order (pre-order) was created on the account
order.status_changedAn order changed payment status
payment.succeededA payment for an order succeeded
payment.failedA payment for an order failed or was canceled
payment.refundedA charge for an order was refunded
appraisal.completedA domain appraisal for an order finished

Ми надсилаємо конверт події методом POST у форматі JSON:

{
  "id": "evt_…",
  "event": "payment.succeeded",
  "created": "2026-05-28T12:00:00+00:00",
  "data": { "order": { … } }
}

Перевіряйте кожну доставку, повторно обчислюючи HMAC-SHA256 для сирого тіла запиту за допомогою вашого секрету для підпису та порівнюючи його за сталий час:

X-Domain-Pay-Signature: sha256=<HMAC_SHA256(raw_body, signing_secret)>

Відповіді, відмінні від 2xx (або тайм-аути), повторюються з експоненційною затримкою (1 min to 24 h) до 6 спроб. Після 5 поспіль невдалих доставок ендпоінт автоматично вимикається, а власника сповіщають.

Помилки

Усі помилки мають єдину структуру. request_id повертається в кожній помилці — зазначайте його у зверненнях до підтримки.

{ "error": "scope_required", "message": "…", "request_id": "req_ab12…", "scope": "orders.read" }
HTTPerrorЗначення
400invalid_requestMalformed or missing parameters.
401unauthorized / invalid_keyNo or invalid credential.
402card_declined / authentication_requiredPayment failed or needs SCA.
403scope_requiredThe key lacks the endpoint's scope.
403access_not_grantedRestricted scope not yet approved for this account.
403csrf_requiredSession write without a valid X-CSRF-Token.
404not_foundNo such endpoint or resource.
405method_not_allowedWrong HTTP verb.
409request_in_progressAn idempotency key's first request is still in flight.
422idempotency_key_reusedSame idempotency key, different parameters.
422contact_incompleteGA zones: add a registrant contact under /account/contacts first.
423account_lockedAccount is locked — contact support.
429rate_limitedSlow down; see the Retry-After header.
500server_errorOur fault.

Обмежений доступ

Ендпоінти zone-file, premium і registered потребують схваленого дозволу на додаток до області доступу:

  1. Створіть (або майте наявний) ключ API, що містить обмежену область доступу.
  2. У налаштуваннях облікового запису відкрийте розділ «Обмежений доступ до API», виберіть область і поясніть, як ви використовуватимете дані.
  3. Наша команда розгляне запит і надішле вам рішення електронною поштою.
  4. Після схвалення будь-який ключ вашого облікового запису, що містить цю область, зможе одразу її використовувати. Жодного платного рівня — схвалення надається для кожного облікового запису.

Отримати ключ API Завантажити OpenAPI (JSON)