Add Device V2
Unified single-device add API. Switch between instant and reservation mode with one parameter while keeping legacy APIs available.
/api/adddevice/v2Request Parameters
All parameters can be passed via Query or Body
| Parameter | Type | Required | Description |
|---|---|---|---|
token | string | Required | User API token Example: your_api_token_here |
udid | string | Required | Device UDID (must be 25 or 40 characters) Example: 00008030-001234567890ABCD |
mode | string | Optional | Add mode: instant or review. Default is instant instantreview Example: instant |
add_mode | string | Optional | Alias of mode. Takes priority over mode instantreview Example: review |
force | boolean | Optional | Force add flag. true/1/yes/y/on skips force-period and existing-device short-circuit checks Example: true |
warranty | string | Optional | Warranty type: 0/1/2/3/4/6. review mode does not support 4/6 012346 Example: 1 |
shtype | string | Optional | Legacy alias of warranty, used only when warranty is empty 012346 Example: 1 |
type | string | Optional | Pool type: 0=public, 1=private. Defaults follow legacy API logic 01 Example: 0 |
deviceType | string | Optional | Device type: iphone or ipad. Default iphone iphoneipad Example: iphone |
beizhu | string | Optional | Remark Example: 测试设备 |
code | string | Optional | Activation code (optional) Example: ABC123XYZ |
Response
| Parameter | Type | Required | Description |
|---|---|---|---|
code | number | Required | Status code: 1=success, 0=failure Example: 1 |
msg | string | Required | Response message Example: 添加成功 |
data.id | string | Required | Certificate ID / reservation ID Example: AB12CD34 |
data.mobileprovision | string | Required | Base64 mobileprovision. May be empty while review is pending Example: Base64EncodedString... |
data.p12 | string | Required | Base64 P12 certificate Example: Base64EncodedString... |
Error Codes
000Response Language
Customize the API response language with the X-Lang header. The code examples below automatically use your current site language.
X-Lang: enzh, en, zh-TW, vi, arAccept-Language is also supported; X-Lang takes priority. Unsupported languages fall back to English.
Code Examples
curl -X POST "https://testypro.iwai.cc,https://cer.xyul.cn,https://cer.iwai.cc/api/adddevice/v2" \
-H "X-Lang: en" \
-H "Content-Type: application/json" \
-d '{
"token": "your_api_token_here",
"udid": "00008030-001234567890ABCD",
"mode": "instant",
"add_mode": "review",
"force": true,
"warranty": "1",
"shtype": "1",
"type": "0",
"deviceType": "iphone",
"beizhu": "测试设备",
"code": "ABC123XYZ"
}'Notes
- Legacy /api/adddevice and /api/addyydevice remain available and compatible
- mode=instant reuses instant add logic; mode=review reuses reservation/review add logic
- Query, x-www-form-urlencoded, and JSON body are supported; JSON body is recommended for V2
- force=true only skips local force-period/existing short-circuit checks. Apple may still reject duplicates
- review mode still follows reservation API restrictions, e.g. warranty=4/6 is unsupported
Try it in Console
Fill in the parameters below and send a request to test. Requests only go to this site's API; the URL is locked and cannot be changed, and your current login cookie is included.
https://testypro.iwai.cc/api/adddevice/v2?token=your_api_token_here&udid=00008030-001234567890ABCD&mode=instant&add_mode=review&force=true&warranty=1&shtype=1&type=0&deviceType=iphone&beizhu=%E6%B5%8B%E8%AF%95%E8%AE%BE%E5%A4%87&code=ABC123XYZLocked to this siteUser API token
Device UDID (must be 25 or 40 characters)
Add mode: instant or review. Default is instant
Alias of mode. Takes priority over mode
Force add flag. true/1/yes/y/on skips force-period and existing-device short-circuit checks
Warranty type: 0/1/2/3/4/6. review mode does not support 4/6
Legacy alias of warranty, used only when warranty is empty
Pool type: 0=public, 1=private. Defaults follow legacy API logic
Device type: iphone or ipad. Default iphone
Remark
Activation code (optional)