How an edited, unsaved set-up would move contacts between bands (nothing is saved)
POST
/api/v1/workspaces/{workspace}/scoring/preview
package main
import ( "fmt" "strings" "net/http" "io")
func main() {
url := "https://reputecast.example.com/api/v1/workspaces/acme-newsletter/scoring/preview"
payload := strings.NewReader("{ \"config\": { \"bands\": { \"hotFrom\": 1, \"warmFrom\": 1 }, \"decay\": { \"afterWeeks\": 1, \"enabled\": true, \"percent\": 1 }, \"rules\": [ { \"cap\": { \"kind\": \"none\", \"points\": 1 }, \"contains\": \"example\", \"enabled\": true, \"event\": \"example\", \"field\": \"example\", \"formId\": \"example\", \"id\": \"example\", \"kind\": \"open\", \"listId\": \"example\", \"op\": \"is_one_of\", \"points\": 1, \"values\": [ \"example\" ] } ] } }")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>") req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close() body, _ := io.ReadAll(res.Body)
fmt.Println(res) fmt.Println(string(body))
}const url = 'https://reputecast.example.com/api/v1/workspaces/acme-newsletter/scoring/preview';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"config":{"bands":{"hotFrom":1,"warmFrom":1},"decay":{"afterWeeks":1,"enabled":true,"percent":1},"rules":[{"cap":{"kind":"none","points":1},"contains":"example","enabled":true,"event":"example","field":"example","formId":"example","id":"example","kind":"open","listId":"example","op":"is_one_of","points":1,"values":["example"]}]}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://reputecast.example.com/api/v1/workspaces/acme-newsletter/scoring/preview \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "config": { "bands": { "hotFrom": 1, "warmFrom": 1 }, "decay": { "afterWeeks": 1, "enabled": true, "percent": 1 }, "rules": [ { "cap": { "kind": "none", "points": 1 }, "contains": "example", "enabled": true, "event": "example", "field": "example", "formId": "example", "id": "example", "kind": "open", "listId": "example", "op": "is_one_of", "points": 1, "values": [ "example" ] } ] } }'Permission: scoring:edit
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”workspace
required
Workspace slug
string
Workspace slug
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
config
required
object
bands
required
object
hotFrom
required
integer format: int64
warmFrom
required
integer format: int64
decay
required
object
afterWeeks
required
integer format: int64
enabled
required
boolean
percent
required
integer format: int64
rules
required
Array<object>
object
cap
required
object
kind
required
string
points
integer format: int64
contains
string
enabled
required
boolean
event
string
field
string
formId
string
id
required
Kept across versions; new rules get one when saved
string
kind
required
string
listId
string
op
string
points
required
integer format: int64
values
Array<string>
Responses
Section titled “Responses”OK
Media typeapplication/json
object
automations
required
Array<object>
object
crossed
required
integer format: int64
direction
required
string
id
required
string
name
required
string
started
required
integer format: int64
threshold
required
integer format: int64
bandsAfter
required
object
cold
required
integer format: int64
hot
required
integer format: int64
warm
required
integer format: int64
bandsBefore
required
object
cold
required
integer format: int64
hot
required
integer format: int64
warm
required
integer format: int64
changed
required
integer format: int64
contacts
required
integer format: int64
current
required
Array<object>
object
contacts
required
integer format: int64
from
required
integer format: int64
to
required
integer format: int64
durationMs
required
integer format: int64
estimated
required
boolean
fieldMatches
required
object
key
additional properties
integer format: int64
moves
required
Array<object>
object
count
required
integer format: int64
from
required
string
to
required
string
rescored
required
integer format: int64
spread
required
Array<object>
object
contacts
required
integer format: int64
from
required
integer format: int64
to
required
integer format: int64
Example
{ "automations": [ { "direction": "rises" } ], "moves": [ { "from": "cold", "to": "cold" } ]}default
Section titled “default”Error
Media typeapplication/problem+json
object
code
Stable error code, e.g. permission_denied
string
detail
A human-readable explanation specific to this occurrence of the problem.
string
errors
Optional list of individual error details
Array<object>
object
location
Where the error occurred, e.g. ‘body.items[3].tags’ or ‘path.thing-id’
string
message
Error message text
string
value
The value at the given location
helpers
Members who hold the missing permission
Array<string>
instance
A URI reference that identifies the specific occurrence of the problem.
string format: uri
meta
object
key
additional properties
permission
The missing permission key
string
status
HTTP status code
integer format: int64
title
A short, human-readable summary of the problem type. This value should not change between occurrences of the error.
string
type
A URI reference to human-readable documentation for the error.
string format: uri
Example
{ "detail": "Property foo is required but is missing.", "instance": "https://example.com/error-log/abc123", "status": 400, "title": "Bad Request", "type": "about:blank"}