Skip to main content
POST
Publish data app (deprecated)
Deprecated. Submissions now go through the portal contract import wizard (backed by the assemble-contract endpoint) or the three-step chain (save workspace → create build → create release). This endpoint remains for the built-in console and existing tests; removal will be scheduled separately.
POST https://api-datahub.octoparse.com/v1/data-apps Authentication: API key required (Authorization: Bearer <API Key>). One-shot publish sugar for api-type (declarative) apps: internally an atomic chain of create identity → save workspace → create build → create release. Submit means publish. Version is decided by the publish action: by default the patch segment of the current max version increments by one (first is 0.1.0). The submission neither needs nor carries a version number (this path ignores identity.version). To set an explicit version, use create release in the three-step chain. code-type does not use this sugar: image builds are asynchronous, so “submit and publish” does not hold. Namespace is inferred from auth: identity.app_name in the manifest is only the app name; the app lands under the publisher’s own (user, app name). app_id is minted once and survives username or app-name changes; external references are always two-segment. Releases are immutable: publishing again appends a new version and never overwrites an old one. Two name gates run before publish: the account must have a username (400); historical ownership of (username, app name) must be yours — after a username transfer, names the predecessor used enter a 30-day freeze (409).

Request

Request body

string
required
Raw manifest text.
object
Attached files.
object
Map of secret names to plaintext values.

Example request

Response

200 success

The payload is wrapped in data. Fields:
string
required
App name.
string
Publisher username.
string
Published version number.
string
object
required
string[]
string

Errors

Error responses use {"error": {code, category, message, retryable}}. See Errors.

Client libraries

The Python and JavaScript SDKs do not wrap this endpoint yet. Call REST directly.