Create Program
Creates a new program with validated incentive type, resolver, currency, and engagement types.
Last updated: April 9, 2026
Create Program
POST /siren/v1/programs
Creates a new program. Validates the provided incentive type, incentive resolver type, currency unit, and engagement types against their respective registries before persisting.
Request Body:
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Display name |
description | string | Yes | Human-readable description |
incentiveType | string | Yes | Must be a registered incentive type |
incentiveResolverType | string | Yes | Must be a registered incentive resolver type |
units | string | Yes | Must be a registered currency identifier |
status | string | Yes | Initial status: active or inactive |
engagementTypes | object | Yes | Map of engagement type keys to their configuration values |
Example Request:
{
"name": "Standard Affiliate Program",
"description": "Earn commission on every referred sale.",
"incentiveType": "commission",
"incentiveResolverType": "percentage",
"units": "USD",
"status": "active",
"engagementTypes": {
"link_click": { "value": "100" }
}
}
Example Response:
{
"id": 1,
"name": "Standard Affiliate Program",
"description": "Earn commission on every referred sale.",
"incentiveType": "commission",
"incentiveResolverType": "percentage",
"status": "active",
"units": "USD",
"dateCreated": "2026-04-08T12:00:00Z",
"dateModified": "2026-04-08T12:00:00Z"
}
Events: Broadcasts ProgramActionEvent (action: Create) after success.