MaxDay AI
API consoleAPI v1

Get App details

GET/openapi/v1/apps/{appId}
GET /openapi/v1/apps/{appId}?publishTag=production
Authorization: Bearer <API_KEY>

Request parameters

ParameterLocationTypeRequiredDescription
appIdPathstringYesApp ID
publishTagQuerystringNoRelease Tag: production or test; mutually exclusive with publishVersion
publishVersionQueryintegerNoExact 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

{
"code": 200,
"message": "success",
"data": {
"schemaVersion": 1,
"appId": "APP_ID",
"name": "Fashion Video Generator",
"description": "Generate a video from a character reference and prompt",
"publishVersion": 3,
"publishTag": "production",
"estimatedPrice": "3.25000000",
"inputs": [
{
"key": "prompt",
"name": "Prompt",
"description": "Describe the video to generate",
"type": "text",
"required": true,
"defaultValue": "A cinematic fashion video"
},
{
"key": "reference_image",
"name": "Character reference",
"description": "Used to preserve the character's appearance",
"type": "image",
"required": true
},
{
"key": "duration",
"name": "Duration",
"description": "Choose from the durations frozen in this release",
"type": "setting",
"required": true,
"options": [-1, 10],
"defaultValue": -1
}
],
"outputs": [
{
"key": "final_video",
"name": "Final video",
"description": "The generated video",
"type": "video"
}
],
"steps": [
{
"stepIndex": 0,
"nodeKey": "node-character-image",
"nodeType": "image",
"name": "Generate character image",
"estimatedPrice": "1.86040938"
},
{
"stepIndex": 1,
"nodeKey": "node-video",
"nodeType": "video",
"name": "Generate video",
"estimatedPrice": "1.38959062"
}
],
"examples": {
"inputJson": {
"prompt": "A cinematic fashion video",
"reference_image": {
"url": "https://example.com/ref.png"
},
"duration": -1
},
"inputPreview": {
"url": "https://example.com/in.png",
"thumbnailUrl": "https://example.com/in-sm.png",
"mimeType": "image/png",
"width": 1024,
"height": 1024
},
"outputPreview": {
"url": "https://example.com/out.mp4",
"thumbnailUrl": "https://example.com/out.jpg",
"mimeType": "video/mp4",
"width": 1080,
"height": 1920
}
}
}
}
integerProtocol field, currently fixed at 200
stringFixed at success on success
objectPublic details of the App's current published version
integerVersion of the public App details schema, currently 1
stringApp ID
stringApp name
stringDescription of the App's purpose
integerCurrent published version
string/nullproduction or test currently associated with the resolved version; null when it has no Tag
decimal stringEstimated Credit price of the current version, with exactly 8 decimal places
arrayInputs declared by the current published version
stringParameter key to place in inputJson when creating a Run
stringDisplay name of the input
stringInput description
stringInput type: text, image, video, audio, or setting
booleanWhether the input is required; optional media keys may be omitted from inputJson
string/numberPublic default; a setting default is always a member of options; omitted when not declared
stringParameter key to place in inputJson when creating a Run
stringDisplay name of the input
stringInput description
stringInput type: text, image, video, audio, or setting
booleanWhether the input is required; optional media keys may be omitted from inputJson
stringParameter key to place in inputJson when creating a Run
stringDisplay name of the input
stringInput description
stringInput type: text, image, video, audio, or setting
booleanWhether the input is required; optional media keys may be omitted from inputJson
array<string\number>`
string/numberPublic default; a setting default is always a member of options; omitted when not declared
arrayFinal outputs declared by the current published version
stringOutput key
stringDisplay name of the output
stringOutput description
stringOutput type: text, image, video, or audio
arrayPublic execution steps declared by the current published version
integerStep order, starting at 0
stringStable identifier used to associate a step within the current published version
stringStep type
stringStep display name
decimal stringEstimated Credit price of the step, with exactly 8 decimal places
integerStep order, starting at 0
stringStable identifier used to associate a step within the current published version
stringStep type
stringStep display name
decimal stringEstimated Credit price of the step, with exactly 8 decimal places
objectInput and result examples provided by the publisher
objectComplete input example that can be used as the starting point for a Run
stringText input value for the example App
objectMedia input object for the example App
stringAbsolute HTTPS URL of the example media
numberFrozen duration option for the example App
objectInput preview media; omitted when not configured
stringOriginal input preview URL
stringInput preview thumbnail URL
stringInput preview MIME type
integerInput preview width in pixels
integerInput preview height in pixels
objectOutput preview media; omitted when not configured
stringOriginal output preview URL
stringOutput preview thumbnail URL
stringOutput preview MIME type
integerOutput preview width in pixels
integerOutput preview height in pixels
  • publishVersion is 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 both production and test point to the version, the value is production; if neither does, the value is null and the field is not omitted.
  • steps[].nodeKey associates App detail steps with Run results. It is stable only for the current appId and publishVersion, and must not be used as an authorization credential or resource access parameter.
  • A setting input's options, defaultValue, and priced combinations are frozen with the publishVersion. Submit one option without converting numbers to strings.
  • inputs[].defaultValue is 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.inputJson can 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.
  • inputPreview and outputPreview are omitted when not configured.