Siren

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:

FieldTypeRequiredDescription
namestringYesDisplay name
descriptionstringYesHuman-readable description
incentiveTypestringYesMust be a registered incentive type
incentiveResolverTypestringYesMust be a registered incentive resolver type
unitsstringYesMust be a registered currency identifier
statusstringYesInitial status: active or inactive
engagementTypesobjectYesMap 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.