Skip to content

Create a draft incentive rule version

Requires ADMIN. conditionJson validated as a condition tree at publish time.

projectId
required
string

Project (tenant) identifier. Row-level tenant isolation is enforced on every query.

Media typeapplication/json
object
campaignId
required
string
>= 1 characters
conditionJson
required

Condition tree (all/any/not + fact conditions); validated at publish.

effectsJson
required
Array<object>
object
type
required
string
props
cooldownSeconds
integer
0
notes
string

Created draft version.

Media typeapplication/json
object
version
object
id
string
projectId
string
campaignId
string
version
integer
conditionJson
string
effectsJson
string
rulesHash
string
status
string
cooldownSeconds
integer
createdAt
string
publishedAt
string | null

Missing/invalid path input (e.g. projectId) or invalid JSON body.

Media typeapplication/json
object
error
required

Human-readable error message.

string
message
string
Examplegenerated
json
{
"error": "example",
"message": "example"
}

Not authenticated (401 via requireAuthenticated) or insufficient project role (403).

Media typeapplication/json
object
error
required

Human-readable error message.

string
message
string
Examplegenerated
json
{
"error": "example",
"message": "example"
}

Campaign not found in project (error=campaign_not_found).

Media typeapplication/json
object
error
required

Human-readable error message.

string
message
string
Examplegenerated
json
{
"error": "example",
"message": "example"
}

Duplicate rules content hash (error=duplicate_rules).

Media typeapplication/json
object
error
required

Human-readable error message.

string
message
string
Examplegenerated
json
{
"error": "example",
"message": "example"
}

Zod validation failed (error=‘参数校验失败’ with issues[]).

Media typeapplication/json
object
error
required
string
issues
Array<object>
object
path
string
message
string
details
Array<object>
object
key
additional properties
any
key
additional properties
any
Example
json
{
"error": "参数校验失败"
}