Skip to content
Proud to collaborate with Microsoft for Startups

apphost.addon.object.sign-get ​

Mint a short-lived GET URL for an attachment on this site's MinIO PVC. Requires an end-user principal and a visible conversation row. Not data.appdata.document.*.

Overview ​

PropertyValue
Workflow typeDag
LibraryApp-apphost
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
site_uuiduuidYes——
conversation_uuiduuidYes——
namestringYes——
database_slugstringNo——
conversation_tablestringNo——
addonstringNobuzz—
ttl_secondsintegerNo——

Output Schema ​

FieldTypeRequiredDefaultDescription
site_uuiduuidNo——
conversation_uuiduuidNo——
namestringNo——
database_slugstringNo——
conversation_tablestringNo——
addonstringNo——
ttl_secondsintegerNo——
resolvejsonNo——
authorizejsonNo——
memberjsonNo——
secrets_keyjsonNo——
secrets_materialjsonNo——
signedjsonNo——
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
6signapphost.addon.object.sign-get-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.sign-get-executesigned
apphost.web.ackack

Outcomes ​

OutcomeTypeDescriptionState Data Keys
signedSUCCESSSigned GET URL mintedurl
failedFAILUREApphost workflow failedfailure_reason

API Usage ​

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

{
  "workflow_type": "apphost.addon.object.sign-get",
  "initial_data": {
    "site_uuid": "value",
    "conversation_uuid": "value",
    "name": "value"
  }
}