Skip to content
Oclavex is in private preview, available to selected users. Public signup is blocked. Request access at [email protected].

Updates a rating campaign. The supplied targets and offers replace the campaign's existing ones.

PUT
/api/v1/provision/admin/rating-campaigns/{id}
curl --request PUT \
--url https://example.com/api/v1/provision/admin/rating-campaigns/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \
--header 'Content-Type: application/json' \
--data '{ "name": "example", "description": "example", "isEnabled": true, "startsAt": "2026-04-15T12:00:00Z", "endsAt": "2026-04-15T12:00:00Z", "targets": [ { "featureCatalogId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "question": "example", "priority": 1 } ], "offerIds": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ] }'
id
required
string format: uuid

Admin update payload for a rating campaign. Targets and offers are replaced wholesale.

object
name
string
description
null | string
isEnabled
boolean
startsAt
null | string format: date-time
endsAt
null | string format: date-time
targets
Array<object>

One feature a campaign asks about, with the wording and ordering used for it.

object
featureCatalogId

Catalog entry to ask about. The user is only prompted if they are entitled to it.

string format: uuid
question

Question shown for this feature; null or empty falls back to the generic prompt.

null | string
priority

Lower is asked first. Null means no set order — reached by recent usage only.

null | integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
offerIds

Only customers whose entitlement was made from one of these offers are asked. Empty asks every customer.

Array<string>
Examplegenerated
{
"name": "example",
"description": "example",
"isEnabled": true,
"startsAt": "2026-04-15T12:00:00Z",
"endsAt": "2026-04-15T12:00:00Z",
"targets": [
{
"featureCatalogId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"question": "example",
"priority": 1
}
],
"offerIds": [
"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
]
}

OK

A rating campaign: a transient ask (“how is export working out this quarter?”) layered over the permanent feature catalog. A user is prompted about a targeted feature only while the campaign is running, only if they are entitled to that feature, and, when the campaign names offers, only if their entitlement was made from one of them.

object
id
string format: uuid
name
string
description
null | string
isEnabled
boolean
startsAt
null | string format: date-time
endsAt
null | string format: date-time
isRunning

True when the campaign is enabled and the current time is inside its window.

boolean
targets
Array<object>

A campaign target as returned by the admin API, denormalized with the feature’s display fields.

object
featureCatalogId
string format: uuid
featureCode
string
featureName
string
question

Question shown for this feature; null or empty falls back to the generic prompt.

null | string
priority

Lower is asked first. Null means no set order — reached by recent usage only.

null | integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
offers

The offers whose customers are asked. Empty asks every customer.

Array<object>

An offer whose customers a campaign asks, with the offer’s name and version.

object
offerId

The offer. A customer is one of its customers when their entitlement was made from it.

string format: uuid
name

The offer’s name; null when the offer no longer exists.

null | string
version

The offer’s version.

null | string
creationTimeStamp
string format: date-time
lastUpdateTimeStamp
null | string format: date-time
revisionNumber
integer | string format: int32
/^-?(?:0|[1-9]\d*)$/

Bad Request

object
type
null | string
title
null | string
status
null | integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
detail
null | string
instance
null | string

Not Found

object
type
null | string
title
null | string
status
null | integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
detail
null | string
instance
null | string