Skip to content

Validate and publish a draft rule version (draft → active)

Requires ADMIN. Validates condition tree, effects, and cross-tenant poolIds.

projectId
required
string

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

id
required
string

Published (active) 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"
}

Resource not found (or cross-tenant — same 404).

Media typeapplication/json
object
error
required

Human-readable error message.

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

Not draft (error=invalid_state) or active-version conflict (error=active_version_conflict).

Media typeapplication/json
object
error
required

Human-readable error message.

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

Invalid condition JSON/tree, effects, or cross-tenant pool (error in [invalid_condition_json, invalid_condition_tree, invalid_effects_json, invalid_effects, cross_tenant_pool]).

Media typeapplication/json
object
error
required

Human-readable error message.

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