Business API generation returns direct import text by default. Two optional flags control protection and delivery independently.
Choose a delivery mode
cloud_protected |
export_to_cloud |
Result |
|---|---|---|
| false | false | Direct importable configuration text; no configuration/share records are saved |
| true | false | Protected import text; the server stores the protection material |
| false | true | A cloud share link; the server stores the exported content and share metadata |
| true | true | A cloud share link containing protected import text; both mechanisms apply |
Cloud Protect controls how protected configuration text is opened. Cloud export controls how it is delivered. Neither creates an editable panel configuration.
Create a cloud link
Add these fields to the top-level JSON in the generation guide:
{
"export_to_cloud": true,
"expiry": 60,
"is_one_time_import": true
}
This fragment must be combined with the required name and your connection resources. Do not send it as the entire generation request.
The response is still text/plain, now containing an app configuration share link. Preserve the entire returned link, including its scheme, and give it to the app's import flow; it is not a Client API URL. expiry is a duration in minutes from generation, not a Unix timestamp or a configuration expiration date. Omit it for no explicit share expiration. One-time import is false by default; when enabled, the server consumes the share when it releases the content to an authorized import request. It does not wait for the app to confirm local storage, so a lost response can consume the share. A later fetch returns 409; an expired share returns 410.
Share content must fit the installation's maximum cloud export size. An oversized export returns 413; the generation quota has already been consumed.
Enable Cloud Protect
Add "cloud_protected": true to the same request. The app retrieves the material needed to import through its signed device flow. Protection records can be affected by server cleanup policies; direct protected text is not a promise of permanent offline availability.
Three different expiration concepts
| Setting | Applies to |
|---|---|
Generation expiry |
Availability of a cloud share, measured in minutes |
settings.restrictions.expires_at |
The generated configuration's own expiration, an absolute UTC time |
Cloud access record expire_date |
A saved configuration's password/device access record, expressed as YYYY-MM-DD |
Set the configuration's own restriction when you want it to expire after it has been imported. Expiring a share only limits retrieval of the share.