Developer Resources
Okara API
Programmatically modify, sign, and customize IPA files with our powerful REST API.
Navigation
Authentication
All API requests require authentication via the X-API-Key header.
Get your API key: Dashboard → API Access
Example Request Header
X-API-Key: your_64_character_api_key_here
POST
/api/v1/modify
Submit an IPA file for modification. Processes synchronously and returns the download URL directly.
Request Parameters multipart/form-data
| Parameter | Type | Description |
|---|---|---|
ipa | file | Required The IPA file to modify |
app_name | string | Custom display name for the app |
bundle_id | string | Custom bundle identifier |
version | string | Custom app version |
min_ios | string | Minimum iOS version (e.g., "15.0") |
tweaks[] | files | One or more .dylib, .deb, or .framework files to inject |
remove_plugins | bool | Comprehensive cleanup: removes extensions, Watch app, and UISupportedDevices |
remove_watch | bool | Remove Apple Watch companion app |
remove_device_limit | bool | Remove minimum iOS version restriction (UISupportedDevices) |
enable_files | bool | Enable Files app integration (File Sharing) |
fakesign | bool | Apply fake signature (for AppSync/TrollStore) |
Example: Basic Rename
curl -X POST https://okara.nabzclan.vip/api/v1/modify \
-H "X-API-Key: YOUR_API_KEY" \
-F "[email protected]" \
-F "app_name=Custom Name"
Example: Inject Multiple Tweaks
curl -X POST https://okara.nabzclan.vip/api/v1/modify \
-H "X-API-Key: YOUR_API_KEY" \
-F "[email protected]" \
-F "tweaks[][email protected]" \
-F "tweaks[][email protected]" \
-F "tweaks[][email protected]" \
-F "fakesign=true"
POST
/api/v1/sign-cococloud
Modify an IPA and sign it using your CocoCloud Enterprise Certificate. Requires a configured CocoCloud API Key.
Same parameters as
/modify, but fakesign is ignored (always uses real certificate).
Example Request
curl -X POST https://okara.nabzclan.vip/api/v1/sign-cococloud \
-H "X-API-Key: YOUR_OKARA_KEY" \
-F "[email protected]" \
-F "app_name=Signed App" \
-F "remove_plugins=true"
Additional Response Fields
Returns standard response plus certificate info:
{
"success": true,
"certificate_info": {
"cert_name": "Tianjin University...",
"cer_status": "Revoked",
"revoked_from": "2025-11-19..."
},
"install_url": "itms-services://...",
...
}
POST
/api/v1/sign-custom
Modify an IPA and sign it using your own P12 Certificate and Provisioning Profile via CocoCloud.
Requires
ipa, p12, provision, and password. Supports all modification options.
Example Request
curl -X POST https://okara.nabzclan.vip/api/v1/sign-custom \
-H "X-API-Key: YOUR_OKARA_KEY" \
-F "[email protected]" \
-F "[email protected]" \
-F "[email protected]" \
-F "password=secret" \
-F "app_name=Custom App"
Response Format
Success Response 200
{
"success": true,
"job_id": "abc-123-def-456",
"download_url": "/downloads/api/8/abc-123-def-456.ipa",
"full_url": "https://okara.nabzclan.vip/downloads/api/8/abc-123-def-456.ipa",
"file_name": "MyApp_modified.ipa",
"expires_at": "2025-12-09T20:35:09+00:00",
"what_changed": [
"bundle_id",
"min_ios",
"remove_plugins"
],
"message": "IPA modified successfully"
}
| Field | Description |
|---|---|
download_url | Relative URL to download the modified IPA |
full_url | Full absolute URL for direct download |
expires_at | ISO 8601 timestamp when the download expires (3 days) |
what_changed | Array of applied modifications |
Error Handling
Error Response
{
"success": false,
"error": "Error description here"
}
| HTTP Code | Description |
|---|---|
400 | Bad request - missing or invalid parameters |
401 | Unauthorized - invalid or missing API key |
500 | Server error - modification failed |