POST
v1.1.0stable

Renew Device Membership

Batch update device membership expiry with flexible matching and renewal modes.

POST/api/device/membership/renew
Афіша:API Key
Ліміт:30/minute

Параметри запиту

Всі параметри можуть бути передані через Query або тіло

ПараметрТипПотрібніОпис
token
stringПотрібні
User API token
Приклад: your_api_token_here
mode
stringДодатково
Renew mode: extend, set, or permanent. Defaults to set when expire_time is provided, otherwise extend
extendsetpermanent
Приклад: extend
base
stringДодатково
Extend base: auto, current, or now
autocurrentnow
Приклад: auto
days
numberДодатково
Days to add in extend mode
Приклад: 30
seconds
numberДодатково
Seconds to add in extend mode. Higher priority than days
Приклад: 2592000
duration
stringДодатково
Duration expression: 30d, 12h, 60m, or 3600s
Приклад: 30d
expire_time
numberДодатково
New expiry timestamp for set mode, seconds or milliseconds. 0 means permanent
Приклад: 1772267945
kid
stringДодатково
Single device KID
Приклад: KID001
udid
stringДодатково
Single device UDID
Приклад: 00008030-001234567890002E
kids
arrayДодатково
Device KID array. Comma/space/newline separated strings are also supported
Приклад: KID001,KID002
udids
arrayДодатково
Device UDID array. If one UDID has multiple certificates, match=all updates all by default. Comma/space/newline separated strings are also supported
Приклад: 00008030-001234567890002E
items
arrayДодатково
Advanced batch items. Each item can include kid or udid and override mode/base/days/seconds/duration/expire_time
Приклад: [{"kid":"KID001","mode":"extend","days":30},{"udid":"00008030-001234567890002E","mode":"permanent"}]
match
stringДодатково
Multiple match handling: all, first, or error. Default all
allfirsterror
Приклад: all
continue_on_error
booleanДодатково
Whether to continue after an item fails. Default true
Приклад: true

Відправити

ПараметрТипПотрібніОпис
code
numberПотрібні
Status code: 1=request processed
Приклад: 1
data.total
numberПотрібні
Number of requested device items
Приклад: 2
data.success
numberПотрібні
Successful renewal count
Приклад: 2
data.failed
numberПотрібні
Failed renewal count
Приклад: 0
data.results[].kid
stringПотрібні
Device KID
Приклад: KID001
data.results[].old_expire_time
numberПотрібні
Previous membership expiry timestamp. 0 means permanent
Приклад: 1769675945
data.results[].new_expire_time
numberПотрібні
New membership expiry timestamp. 0 means permanent
Приклад: 1772267945
data.results[].new_expire_at
stringПотрібні
Formatted new expiry time
Приклад: 2026-02-28 15:04:05
Приклад відповіді
{
"code":1,
"msg":"Device membership renewal processed",
"time":1769675945,
"data":
{
"total":2,
"processed_results":2,
"success":2,
"failed":0,
"continue_on_error":true,
"match":"all",
"results":
[
{
"index":0,
"kid":"KID001",
"udid":"00008030-001234567890002E",
"success":true,
"code":1,
"msg":"续期成功",
"old_expire_time":1769675945,
"new_expire_time":1772267945,
"old_expire_at":"2026-01-29 15:04:05",
"new_expire_at":"2026-02-28 15:04:05",
"changed":true,
"matched_count":1
}
,
{
"index":1,
"kid":"KID002",
"udid":"00008030-009876543210002E",
"success":true,
"code":1,
"msg":"续期成功",
"old_expire_time":0,
"new_expire_time":0,
"old_expire_at":"permanent",
"new_expire_at":"permanent",
"changed":false,
"matched_count":1
}
]
}
,
"ip":"192.168.1.100",
"ysucc":"Ysucc"
}

Batch extend 30 days by KID

Use comma-separated kids with extend mode

Batch extend 30 days by KID
{
"token":"your_api_token_here",
"kids":"KID001,KID002",
"mode":"extend",
"days":30
}

Batch extend by UDID

For scenarios where only UDIDs are available. Multiple certificates under one UDID are updated by default

Batch extend by UDID
{
"token":"your_api_token_here",
"udids":"00008030-001234567890002E,00008030-009876543210002E",
"mode":"extend",
"duration":"60d"
}

Set explicit expiry time

Use mode=set to set an explicit membership expiry timestamp

Set explicit expiry time
{
"token":"your_api_token_here",
"kid":"KID001",
"mode":"set",
"expire_time":1772267945
}

Set permanent

Use mode=permanent to make membership permanent

Set permanent
{
"token":"your_api_token_here",
"kid":"KID001",
"mode":"permanent"
}

Per-device strategy

Each item can override global renewal options

Per-device strategy
{
"token":"your_api_token_here",
"items":
[
{
"kid":"KID001",
"mode":"extend",
"days":30
}
,
{
"kid":"KID002",
"mode":"set",
"expire_time":1772267945
}
,
{
"udid":"00008030-001234567890002E",
"mode":"permanent"
}
]
}

Only update latest match for a UDID

With match=first, only the latest matched certificate under the same UDID is updated

Only update latest match for a UDID
{
"token":"your_api_token_here",
"udid":"00008030-001234567890002E",
"mode":"extend",
"days":30,
"match":"first"
}

Коди помилок

Коди помилок4 визначено
12
Token is required
Missing token parameter
20
Please provide at least one device
Missing kid, kids, udid, udids, or items
21
Invalid mode, valid values: extend/set/permanent
Invalid renewal mode

Мова відповіді

Налаштуйте мову відповіді API з заголовком X-Lang. Приклади коду нижче автоматично використовуйте мову поточного сайту.

Рекомендований заголовок
X-Lang: uk
Підтримувані мови
zh, en, zh-TW, vi, ar, es, ru

За підтримки X-Lang бере на себе пріоритет. Непідтримувані мови слідувати мовою сайту.

Приклади коду

curl -X POST "https://testypro.iwai.cc,https://cer.xyul.cn,https://cer.iwai.cc/api/device/membership/renew" \
  -H "X-Lang: uk" \
  -H "Content-Type: application/json" \
  -d '{
    "token": "your_api_token_here",
    "mode": "extend",
    "base": "auto",
    "days": 30,
    "seconds": 2592000,
    "duration": "30d",
    "expire_time": 1772267945,
    "kid": "KID001",
    "udid": "00008030-001234567890002E",
    "kids": "KID001,KID002",
    "udids": "00008030-001234567890002E",
    "items": [
      {
        "kid": "KID001",
        "mode": "extend",
        "days": 30
      },
      {
        "udid": "00008030-001234567890002E",
        "mode": "permanent"
      }
    ],
    "match": "all",
    "continue_on_error": true
  }'

Нотатки

  • 该接口仅更新设备会员/证书下载权益到期时间,不会重新签名或扣款
  • 0 表示永久有效;extend 遇到永久有效设备时默认保持永久,可用 base=now 强制改为从当前时间延长
  • UDID 命中多条证书时默认 match=all 全部更新,可传 first 或 error 改变行为
  • 支持 JSON 请求,也支持表单参数;表单 items 可传 JSON 数组字符串

Спробуйте в Консоль

Заповнювати параметри нижче і відправити запит на тест. Запити тільки перейти до цього API сайту; URL-адреса заблокована і не може бути змінена, і ваш поточний логін cookie включено.

POSThttps://testypro.iwai.cc/api/device/membership/renewЗаблоковано на цей сайт
stringПотрібні

User API token

string

Renew mode: extend, set, or permanent. Defaults to set when expire_time is provided, otherwise extend

string

Extend base: auto, current, or now

number

Days to add in extend mode

number

Seconds to add in extend mode. Higher priority than days

string

Duration expression: 30d, 12h, 60m, or 3600s

number

New expiry timestamp for set mode, seconds or milliseconds. 0 means permanent

string

Single device KID

string

Single device UDID

array

Device KID array. Comma/space/newline separated strings are also supported

array

Device UDID array. If one UDID has multiple certificates, match=all updates all by default. Comma/space/newline separated strings are also supported

array

Advanced batch items. Each item can include kid or udid and override mode/base/days/seconds/duration/expire_time

string

Multiple match handling: all, first, or error. Default all

boolean

Whether to continue after an item fails. Default true