Получите API-ключ
Напишите в поддержку и сохраните выданный токен на сервере.
Для интеграции нужен API-ключ. Получить его можно у команды iDeploy в Telegram.
Напишите в поддержку и сохраните выданный токен на сервере.
Передавайте токен в заголовке Authorization.
Выполните тестовый запрос перед регистрацией устройства.
Не добавляйте его в мобильное приложение, frontend-код или публичный репозиторий.
Все запросы отправляются по HTTPS. Текущая версия API включена в базовый адрес.
Добавляйте API-ключ в каждый защищённый запрос. Схема авторизации чувствительна к регистру.
Bearer YOUR_API_KEYПравильноAuthorization: Bearer eyJ...
НеправильноAuthorization: YOUR_API_KEY
/balance/Возвращает остаток сертификатов каждого типа для текущего пользователя.
curl https://api2.ipalinks.ru/v2/balance/ \
-H "Authorization: Bearer $API_KEY"
import requests
response = requests.get(
"https://api2.ipalinks.ru/v2/balance/",
headers={"Authorization": f"Bearer {API_KEY}"},
)
balance = response.json()["balance"]
const response = await fetch(
"https://api2.ipalinks.ru/v2/balance/",
{ headers: { Authorization: `Bearer ${API_KEY}` } },
);
const { balance } = await response.json();
{
"user_id": 123456789,
"balance": {
"standard": 4,
"premium_standard": 1,
"instant": 2,
"mac": 0,
"ipad": 0,
"super": 1,
"super_7": 0,
"super_30": 0,
"super_90": 0,
"super_365": 0
}
}/devices/Регистрирует Apple-устройство по UDID и списывает один сертификат выбранного типа.
udid*stringUDID устройства, буквы, цифры и дефисkind*enumТип сертификата: STANDARD, INSTANT, SUPER7 и другиеcurl -X POST https://api2.ipalinks.ru/v2/devices/ \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"udid": "00008110-001234567890001E",
"kind": "STANDARD"
}'
response = requests.post(
"https://api2.ipalinks.ru/v2/devices/",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"udid": "00008110-001234567890001E",
"kind": "STANDARD",
},
)
device = response.json()
const response = await fetch(
"https://api2.ipalinks.ru/v2/devices/",
{
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${API_KEY}`,
},
body: JSON.stringify({
udid: "00008110-001234567890001E",
kind: "STANDARD",
}),
},
);
{
"id": 841,
"udid": "00008110-001234567890001E",
"account_id": "A1B2C3D4E5",
"account_name": "iDeploy",
"status": "ENABLED",
"registration_date": "2026-09-06T10:15:00",
"cert": null,
"balance": { "standard": 3, "instant": 2 },
"warranty_expired_at": "2026-12-05T10:15:00"
}Если сертификат ещё готовится, повторите запрос статуса устройства. Не отправляйте повторную регистрацию.
/devices/{udid}Возвращает все активные сертификаты, зарегистрированные для указанного UDID.
curl https://api2.ipalinks.ru/v2/devices/00008110-001234567890001E \
-H "Authorization: Bearer $API_KEY"PROCESSINGРегистрация обрабатываетсяENABLEDСертификат готовREVOKEDСертификат отозванEXPIREDСрок действия истёк/download-certificate/{device_id}/{udid}.zipСкачивает ZIP-архив с P12, provisioning profile и файлом пароля после готовности сертификата.
curl -O https://api2.ipalinks.ru/v2/download-certificate/841/00008110-001234567890001E.zipНайдите доступный Apple Developer аккаунт по имени.
/certificates/?name={name}Поиск доступных аккаунтов по имени
Создавайте собственные каталоги приложений и управляйте их содержимым.
/repositories/Создать пустой репозиторий
/repositories/{repo_id}Получить репозиторий и приложения
/repositories/{repo_id}Добавить приложение
/repositories/{repo_id}/{app_id}Удалить приложение
{
"name": "My App",
"bundle_id": "com.example.myapp",
"version": "1.0.0",
"icon": "BASE64_ENCODED_IMAGE",
"ipa_link": "https://example.com/app.ipa"
}/shortenerСоздаёт короткую страницу установки приложения в экосистеме iDeploy.
{
"url": "itms-services://?action=download-manifest&url=...",
"icon": "https://example.com/icon.png",
"redirect": "https://example.com/success",
"app_info": {
"name": "My App",
"bundle_id": "com.example.myapp",
"cert": "iPhone Distribution"
},
"channel_subscribe": "https://t.me/example"
}Типы, которые API возвращает при успешном выполнении запросов. Поля с отметкой nullable могут содержать null.
GET /balance/
standard, premium_standard, instant, mac, ipad, super, super_7, super_30, super_90, super_365 — целые числа.
POST /devices/
idintegerID регистрации, используется для скачивания
udidstringUDID устройства
account_idstringTeam ID Apple Developer аккаунта
account_namestringНазвание аккаунта
statusDeviceStatusТекущий статус регистрации
registration_datedatetimeДата регистрации в ISO 8601
certEncodedCertificate nullableP12 и provisioning profiles, если уже готовы
balanceBalanceБаланс после списания сертификата
warranty_expired_atdatetime nullableДата окончания гарантии
GET /devices/{udid}
udidstringЗапрошенный UDID
certificatesCertificate[]Активные регистрации устройства
id: integer · account_id: string · account_name: string · status: DeviceStatus · registration_time: datetime · revocation_time: datetime | null · cert: EncodedCertificate | null · warranty_expired_at: datetime | null
p12: string · provision: string · provision_1: string | null · provision_2: string | null. Содержимое файлов передаётся в Base64.
GET /certificates/
teamIdstringTeam ID аккаунта
namestringИмя владельца аккаунта
isSuperbooleanПризнак аккаунта Super
accounts: AccountResponse[] — результат поиска по имени.
GET /repositories/{repo_id}
idstringИдентификатор репозитория
appsApp[]Приложения в репозитории
id: string · name: string · bundle_id: string · version: string · icon: string (Base64) · ipa_link: string.
POST /shortener
urlstring · URIГотовая короткая ссылка iDeploy
При ошибке API возвращает подходящий HTTP-код и JSON с полем detail.
400Bad RequestНекорректный UDID или параметры401UnauthorizedОтсутствует или неверен API-ключ403ForbiddenНедостаточный баланс или нет доступа404Not FoundРесурс не найден409ConflictСертификаты выбранного типа закончились422Validation ErrorТело запроса не прошло валидациюПолучите API-ключ и подключите Apple-сервисы к своему продукту.
Введите запрос: например, «UDID», «баланс» или «репозиторий».