Get App details
GET /openapi/v1/apps/{appId}?publishTag=production
Authorization: Bearer <API_KEY>
Request parameters
| Parameter | Location | Type | Required | Description |
|---|---|---|---|---|
appId | Path | string | Yes | App ID |
publishTag | Query | string | No | Release Tag: production or test; mutually exclusive with publishVersion |
publishVersion | Query | integer | No | Exact immutable version, minimum 1; mutually exclusive with publishTag |
appId is the string returned by List published Apps, or one provided by the platform or App publisher. With no selector, the API resolves production. Supplying both selectors, an invalid Tag, or a version below 1 returns INVALID_REQUEST. An App, Tag, or version that is unavailable to the caller returns APP_NOT_FOUND.
The success status is HTTP 200.
Success response example
200success on success1production or test currently associated with the resolved version; null when it has no TaginputJson when creating a Runtext, image, video, audio, or settinginputJsonsetting default matches options[].value; omitted when not declaredinputJson when creating a Runtext, image, video, audio, or settinginputJsoninputJson when creating a Runtext, image, video, audio, or settinginputJson{value,label} choices for a setting input. Model options also include supported parameter lists. Older releases may return primitive arrayssetting default matches options[].value; omitted when not declaredtext, image, video, or audio00publishVersionis the exact immutable version returned. A default or Tag-based request may resolve to another version after a Tag switch; an exact-version request does not drift.- Exact-version requests also return
publishTag. If bothproductionandtestpoint to the version, the value isproduction; if neither does, the value isnulland the field is not omitted. steps[].nodeKeyassociates App detail steps with Run results. It is stable only for the currentappIdandpublishVersion, and must not be used as an authorization credential or resource access parameter.- A
settinginput'soptions,defaultValue, and priced combinations are frozen with thepublishVersion. Submit the selected option'svalue, without converting numbers to strings or submitting the entire option object. - Parameters with
type: "prompt"are omitted frominputsandexamples.inputJson. OpenAPI runs automatically use the Prompt default from the selected release; callers neither submit nor override it. A regulartextparameter namedpromptremains a text input. inputs[].defaultValueis returned only when the publisher declared a public default.- Omit an optional media key when no value is supplied; the server treats it as empty media and does not restore the publisher's original output.
examples.inputJsoncan be used directly as the starting point for a Run. Without an explicit example, the server generates one only from safe defaults and it may be empty.inputPreviewandoutputPrevieware omitted when not configured.
Models and dependent settings
Model selectors also use type: "setting". Each option contains a numeric model ID, its display name, and the parameters supported by that model:
{
"options": [{
"value": 11,
"label": "Model A",
"aspectRatios": ["9:16", "16:9", "1:1", "3:4", "4:3", "21:9"],
"resolutions": ["720P", "1080P"],
"qualities": [],
"durations": [5, 10]
}],
"defaultValue": 11
}
aspectRatios, resolutions, qualities, and durations list supported aspect ratios, resolutions, qualities, and durations. An empty array means that parameter is unsupported. This is a format example; use the actual options from the selected release. Names and capability lists are frozen with the publication and are returned even when only the model is exposed as an input.
Other settings also use {value,label} options. Submit only value; model IDs remain numeric. Historical releases may retain primitive options with optionLabels, so readers should support both formats. The new format no longer returns a separate optionLabels map.
Dependent settings may include dependsOn: {"inputKey":"model","cases":[{"value":11,"enabled":true,"options":[{"value":"720P","label":"720P"}],"defaultValue":"720P"},{"value":22,"enabled":false,"options":[]}]}. inputKey identifies the model input in this App. Use the selected model's case for valid options and defaults. Top-level options is their union, not permission to combine incompatible values. A case with enabled:false has no default and accepts no input. A statically unavailable setting may also expose top-level enabled:false. This metadata is frozen with the publication.