Skip to content
Proud to collaborate with Microsoft for Startups

apphost.addon.object.put ​

Upload an attachment onto this site's MinIO PVC. Requires an end-user principal and a visible conversation row (membership RLS). Not data.appdata.document.*. No kubeconfig. No secrets in output.

Overview ​

PropertyValue
Workflow typeDag
LibraryApp-apphost
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
site_uuiduuidYes——
conversation_uuiduuidYes——
namestringYes——
database_slugstringNo——
conversation_tablestringNo——
addonstringNobuzz—
body_b64stringYes——
content_typestringNo——

Output Schema ​

FieldTypeRequiredDefaultDescription
site_uuiduuidNo——
conversation_uuiduuidNo——
namestringNo——
database_slugstringNo——
conversation_tablestringNo——
addonstringNo——
body_b64stringNo——
content_typestringNo——
resolvejsonNo——
authorizejsonNo——
memberjsonNo——
secrets_keyjsonNo——
secrets_materialjsonNo——
putjsonNo——
ackjsonNo——
failure_reasonstringNo—Engine-stamped failure reason
failure_typestringNo—Stable failure classification
failed_actionstringNo—Action that failed
failed_at_statestringNo—State when the workflow failed
failed_stepjsonNo—Failed DAG step envelope
failed_layerjsonNo—Failed DAG layer envelope
errorstringNo—Engine-stamped exception message
error_typestringNo—Engine-stamped exception class name
compensation_triggerjsonNo——
comp_queuejsonNo——
comp_current_layerjsonNo——
comp_retry_countjsonNo——

DAG Layers ​

#LayerStepsCompensation
1resolveapphost.addon.resolveapphost.web.ack
2authorizeapphost.addon.object.authorizeapphost.web.ack
3memberdata.appdata.record.readapphost.web.ack
4secrets_keyidentity.key.queryapphost.web.ack
5secrets_materialidentity.key.materializeapphost.web.ack
6putapphost.addon.object.put-execute—

Execution Flow ​

Compensation ​

When any layer fails, its compensation steps run in reverse order to roll back the work completed so far.

Sub-workflows ​

Sub-workflowStep name
apphost.addon.resolveresolve
apphost.addon.object.authorizeauthorize
data.appdata.record.readmember
identity.key.querysecrets_key
identity.key.materializesecrets_material
apphost.addon.object.put-executeput
apphost.web.ackack

Outcomes ​

OutcomeTypeDescriptionState Data Keys
storedSUCCESSObject stored on site MinIOkey, checksum
failedFAILUREApphost workflow failedfailure_reason

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "apphost.addon.object.put",
  "initial_data": {
    "site_uuid": "value",
    "conversation_uuid": "value",
    "name": "value",
    "body_b64": "value"
  }
}