Skip to content
Proud to collaborate with Microsoft for Startups

subscription.trial.convert-and-provision ​

Convert a trial to paid subscription, provision keys and seats, and reconcile entitlements.

Convert a trial to paid subscription, provision keys and seats, and reconcile entitlements.

Overview ​

PropertyValue
Workflow typeDag
LibraryApp-subscription
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
workflow_run_idstringNo—DAG-stamped parent run id.
organization_uuiduuidYes—Organization UUID for tenant isolation.
actorstringNo—User or service actor initiating the workflow.
idempotency_keystringNo—Caller-supplied idempotency key for safe retries.
dry_runbooleanNo—Validate and plan without mutating external resources.
trial_subscription_uuiduuidYes—Trial subscription UUID.
target_planstringYes—Target paid plan.
payment_method_refstringNo—Payment method reference.
seat_countintegerNo—Seat count to provision.

Output Schema ​

FieldTypeRequiredDefaultDescription
organization_uuiduuidNo—Organization uuid.
workflow_run_uuiduuidNo—Workflow run uuid.
statusstringNo—Status.
summaryjsonNo—Summary.
resource_refsjsonNo—Resource refs.
warningslistNo—Warnings.
completed_atstringNo—Completed at.
compensation_triggerstringNo—Compensation trigger.
compensation_resultsjsonNo—Compensation results.
data_subscription_plan_listjsonNo—Output state_data from DAG step data_subscription_plan_list.
subscription_checkoutjsonNo—Output state_data from DAG step subscription_checkout.
subscription_seat_changejsonNo—Output state_data from DAG step subscription_seat_change.
subscription_key_provisionjsonNo—Output state_data from DAG step subscription_key_provision.
subscription_syncjsonNo—Output state_data from DAG step subscription_sync.
failure_reasonstringNo—Failure reason.
failed_stepjsonNo—Failed step.
failed_layerjsonNo—Failed layer.
failed_at_statestringNo—Failed at state.
errorstringNo—Error.
error_typestringNo—Error type.
failed_atstringNo—Failed at.

DAG Layers ​

#LayerStepsCompensation
101_data_subscription_plan_listdata.subscription.plan.list—
202_subscription_checkoutsubscription.checkout—
303_subscription_seat_changesubscription.seat_change—
404_subscription_key_provisionsubscription.key_provision—
505_subscription_syncsubscription.sync—

Execution Flow ​

Sub-workflows ​

Sub-workflowStep name
data.subscription.plan.listdata_subscription_plan_list
subscription.checkoutsubscription_checkout
subscription.seat_changesubscription_seat_change
subscription.key_provisionsubscription_key_provision
subscription.syncsubscription_sync

API Usage ​

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

{
  "workflow_type": "subscription.trial.convert-and-provision",
  "initial_data": {
    "organization_uuid": "value",
    "trial_subscription_uuid": "value",
    "target_plan": "value"
  }
}