Raw schema
{
"type": "object",
"properties": {
"template_id": {
"type": "string",
"enum": [
"diabetes_pharma_initiation_30day",
"general_wellness_daily",
"heart_pharma_initiation_30day",
"hypertension_lifestyle_90day",
"quit_smoking_90day",
"relapse_prevention_90day",
"weight_glp1_initiation_30day"
],
"description": "One of the live Signal templates. Read the signal://catalog resource for each template's required audience_tags + patient_context. On a production key a clinical template 422s if its required tags/context are missing β pre-satisfy them from the catalog. A free sandbox (Discovery) key always cues the curated sandbox corpus."
},
"attributes": {
"type": "object",
"description": "De-identified patient context. v1 accepts free-form jsonb; future templates will enforce schemas."
},
"audience_tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Subset of the 14-tag B5/B6 schema. See list_sandbox_topics for sample topic labels."
},
"delivery_mode": {
"type": "string",
"enum": [
"display"
],
"default": "display",
"description": "v1 is Display-only; Deliver-mode unlocks at Per-Episode tier after BAA."
},
"feedback_timeout_days": {
"type": "integer",
"default": 14
},
"idempotency_key": {
"type": "string",
"format": "uuid",
"description": "Optional. Stripe-style create idempotency: a retried create with the same key returns the ORIGINAL stream instead of minting (and billing) a second one. Forwarded as the Idempotency-Key request header. UUID v4 recommended."
}
},
"required": [
"template_id"
],
"additionalProperties": true
}