REST API
API Hivesigner міститься за адресою https://hivesigner.com/api/. Він повертає обліковий запис користувача, який увійшов, надсилає за нього операції публікації, обмінює коди на токени й перелічує застосунки, що користуються Hivesigner. Ця сторінка описує кожну кінцеву точку з її запитами, відповідями й помилками.
Запити й автентифікація
- Базова адреса:
https://hivesigner.com/api/. Кожна кінцева точка нижче подана відносноhttps://hivesigner.com. - Токен: надсилайте його в заголовку
Authorizationяк є:Authorization: ACCESS_TOKEN. ПрефіксBearerтеж приймається. Ви також можете надіслати його якaccess_tokenу рядку запиту або в тілі, але заголовок тримає токен поза URL-адресами й журналами. - Тіла: JSON із
Content-Type: application/jsonабо форма (application/x-www-form-urlencoded). - Відповіді: JSON.
- Браузери: API дозволяє міждоменні запити, тож вебзастосунок може викликати його напряму.
Щоб отримати токен, див. Вхід через OAuth2. Про те, що містить токен, див. Токени.
Помилки
Відповідь з помилкою має статус помилки HTTP і таке тіло:
{
"error": "invalid_scope",
"error_description": "The access_token scope does not allow the following operation(s): transfer"
}
| Статус | error |
Коли |
|---|---|---|
| 401 | invalid_grant |
Токена немає або він недійсний, або він не того виду для цієї кінцевої точки («The token has invalid role»). На /api/oauth2/token також «The code or secret is not valid». |
| 401 | invalid_scope |
/api/broadcast: операція, якої токен не дозволяє. В описі названо операції. |
| 401 | unauthorized_client |
/api/broadcast: операція, автором якої не є користувач токена, account_update2, що торкається ключів, відсутній дозвіл на повноваження публікації або обліковий запис, який не вдалося завантажити. Опис каже, що саме. |
| 500 | server_error |
/api/broadcast: мережа Hive відхилила транзакцію. error_description несе її повідомлення. |
| 503 | unavailable |
/api/apps: каталог ще будується. |
GET /api/me
Повертає обліковий запис, якому належить токен. Використовуйте це, щоб дізнатися, хто ввійшов, або щоб перевірити токен.
- Методи:
GETабоPOST. - Токен: токен доступу, зокрема токен
login, у якому названо застосунок.
curl https://hivesigner.com/api/me -H 'Authorization: ACCESS_TOKEN'
Скорочена відповідь:
{
"user": "alice",
"_id": "alice",
"name": "alice",
"account": { "id": 1370484, "name": "alice" },
"scope": [
"vote",
"comment",
"delete_comment",
"comment_options",
"custom_json",
"claim_reward_balance",
"account_update2"
],
"user_metadata": { "profile": { "name": "Alice", "version": 2 } }
}
| Поле | Що означає |
|---|---|
user |
Ім’я користувача Hive, якому належить токен. _id і name повторюють його. |
account |
Увесь обліковий запис у тому вигляді, у якому його повертає condenser_api.get_accounts Hive. |
scope |
Що дозволяє токен: ["login"] для токена входу, інакше операції, які приймає /api/broadcast. |
user_metadata |
Метадані профілю облікового запису, розібрані з JSON. |
/api/me не називає застосунок, для якого створено токен. Щоб це перевірити, розкодуйте токен: див. Запитайте API.
POST /api/broadcast
Підписує операції публікації для користувача токена ключем публікації @hivesigner і надсилає їх у Hive.
- Метод:
POST. - Токен: токен доступу
posting, з потоку з токеном або з потоку з кодом. - Що має бути до того: користувач надав обліковому запису вашого застосунку повноваження публікації (це робить екран згоди), а обліковий запис вашого застосунку надав повноваження публікації @hivesigner.
- Тіло:
{ "operations": [...] }, де кожна операція це[name, fields], як у блокчейні Hive. Усі операції одного запиту потрапляють в одну транзакцію.
POST /api/broadcast HTTP/1.1
Host: hivesigner.com
Authorization: ACCESS_TOKEN
Content-Type: application/json
{
"operations": [
["vote", { "voter": "alice", "author": "bob", "permlink": "my-first-post", "weight": 10000 }]
]
}
Той самий запит через curl:
curl -X POST https://hivesigner.com/api/broadcast \
-H 'Authorization: ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"operations":[["vote",{"voter":"alice","author":"bob","permlink":"my-first-post","weight":10000}]]}'
Підписка це операція custom_json:
{
"operations": [
["custom_json", {
"required_auths": [],
"required_posting_auths": ["alice"],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"alice\",\"following\":\"bob\",\"what\":[\"blog\"]}]"
}]
]
}
API відповідає, щойно вузол Hive прийняв транзакцію. result.id це ID транзакції:
{
"result": { "id": "TRANSACTION_ID" }
}
Коли мережа відхиляє транзакцію, відповіддю є 500 із server_error. Її error_description несе повідомлення мережі, а response несе необроблену помилку.
Що приймає broadcast
Токен публікації дозволяє API надсилати лише ці операції й жодних інших. У кожній із них користувач токена має бути обліковим записом у вказаному полі:
| Операція | Користувач токена має бути |
|---|---|
vote |
voter |
comment |
author |
delete_comment |
author |
comment_options |
author |
custom_json |
Першим обліковим записом у required_posting_auths |
claim_reward_balance |
account |
account_update2 |
account |
- Будь-яку іншу операцію відхилено з
invalid_scope. Токенloginне дозволяє жодної операції. - Операцію для іншого облікового запису відхилено з
unauthorized_client. Токен надсилає транзакції лише за свого користувача. account_update2може змінювати лише метадані облікового запису. Операцію з полемowner,activeчиpostingвідхилено зunauthorized_client.custom_json: лишайтеrequired_authsпорожнім. API підписує повноваженнями публікації, тож операція, якій потрібні активні повноваження, зазнає невдачі в мережі.
Перекази та інші операції з гаманцем потребують активного ключа користувача. Надсилайте їх натомість як посилання для підпису.
POST /api/oauth2/token
Обмінює код на токени або токен оновлення на нові токени. Викликайте це лише зі свого сервера. Див. Потік з кодом.
- Метод:
POST, зі значеннями в тілі. - Тіло:
codeіclient_secretабоrefresh_tokenіclient_secret. - Заголовки: не надсилайте заголовок
Authorization.
curl -X POST https://hivesigner.com/api/oauth2/token \
-H 'Content-Type: application/json' \
-d '{"code": "CODE", "client_secret": "CLIENT_SECRET"}'
{
"access_token": "ACCESS_TOKEN",
"refresh_token": "REFRESH_TOKEN",
"expires_in": 604800,
"username": "alice"
}
Кожен виклик повертає новий токен доступу й новий токен оновлення. Обидва підписані @hivesigner. expires_in це час життя токена доступу в секундах (7 днів).
Помилки: 401 invalid_grant. Опис це «The token has invalid role», коли надіслане значення не є дійсним кодом чи токеном оновлення. Це «The code or secret is not valid», коли код або секрет не збігається.
POST /api/oauth2/token/revoke
Повідомляє Hivesigner, що користувач вийшов із вашого застосунку. Токен ваш застосунок відкидає сам.
- Метод:
POST. - Токен: токен доступу, у заголовку
Authorization.
curl -X POST https://hivesigner.com/api/oauth2/token/revoke -H 'Authorization: ACCESS_TOKEN'
{ "success": true }
revokeToken() із JavaScript SDK робить цей виклик і потім забуває токен. Щоб назавжди прибрати доступ вашого застосунку, користувач прибирає його на https://hivesigner.com/authorized-apps. Див. Вихід і прибирання доступу.
GET /api/apps
Публічний каталог застосунків: застосунки, які надсилають транзакції через Hivesigner, упорядковані за кількістю людей, які ними користуються. Токен не потрібен. https://hivesigner.com/apps показує той самий перелік.
curl https://hivesigner.com/api/apps
{
"updated_at": "2026-09-19T06:00:00.000Z",
"building": false,
"window_days": 7,
"featured": ["myapp"],
"apps": [
{
"username": "myapp",
"name": "My App",
"about": "A short description from the app's profile.",
"website": "https://myapp.example",
"site": "ok",
"users": 412,
"requests": 9310,
"first_seen": "2026-08-01",
"last_seen": "2026-09-19",
"new": false
}
]
}
| Поле | Що означає |
|---|---|
updated_at |
Коли каталог востаннє було побудовано. |
building |
true, доки перша побудова не має даних. apps тоді порожній. |
window_days |
Скільки днів охоплює впорядкування. |
featured |
Імена користувачів, які показуються першими, у цьому порядку. |
apps[].username |
Обліковий запис застосунку. |
apps[].name, about |
З профілю облікового запису застосунку або null. |
apps[].website |
Вебсайт із профілю, коли він відповідає на власному домені. Інакше null. |
apps[].site |
Результат перевірки вебсайту: ok, no_website, invalid, redirected, blocked або unreachable. Запис зі значенням redirected також має redirects_to. |
apps[].users |
Щоденні унікальні користувачі, підсумовані за період. |
apps[].requests |
Успішні запити до API, зроблені для застосунку за період. |
apps[].first_seen, last_seen |
Перший день, коли Hivesigner записав застосунок, і останній день, коли ним користувалися, або null. |
apps[].new |
true, коли застосунок уперше з’явився в межах періоду. |
Відповідь може кешуватися до 5 хвилин. Доки каталог не побудовано вперше, API відповідає 503 з unavailable. Спробуйте пізніше.
Назви й описи публікує кожен обліковий запис застосунку сам. Hivesigner їх не перевіряє.