Developer Resources

Okara API

Programmatically modify, sign, and customize IPA files with our powerful REST API.

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
ParameterTypeDescription
ipafileRequired The IPA file to modify
app_namestringCustom display name for the app
bundle_idstringCustom bundle identifier
versionstringCustom app version
min_iosstringMinimum iOS version (e.g., "15.0")
tweaks[]filesOne or more .dylib, .deb, or .framework files to inject
remove_pluginsboolComprehensive cleanup: removes extensions, Watch app, and UISupportedDevices
remove_watchboolRemove Apple Watch companion app
remove_device_limitboolRemove minimum iOS version restriction (UISupportedDevices)
enable_filesboolEnable Files app integration (File Sharing)
fakesignboolApply 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"
}
FieldDescription
download_urlRelative URL to download the modified IPA
full_urlFull absolute URL for direct download
expires_atISO 8601 timestamp when the download expires (3 days)
what_changedArray of applied modifications

Error Handling

Error Response
{
  "success": false,
  "error": "Error description here"
}
HTTP CodeDescription
400Bad request - missing or invalid parameters
401Unauthorized - invalid or missing API key
500Server error - modification failed