Skip to content

The approval policy and what it matches today

GET
/api/v1/workspaces/{workspace}/approval-policy
curl --request GET \
--url https://reputecast.example.com/api/v1/workspaces/acme-newsletter/approval-policy \
--header 'Authorization: Bearer <token>'

Permission: campaigns:view

workspace
required

Workspace slug

string
/^[a-z0-9][a-z0-9-]{1,62}$/

Workspace slug

OK

Media typeapplication/json
object
approvers
required
Array<object>
object
color
required
string
email
required
string
id
required
string
initials
required
string
name
required
string
presence
string
role
required
string
bypassCount
required
integer format: int64
canManage
required
boolean
clientSignoff
object
agency
required
string
approvers
required
Array<string>
staff
required
Array<string>
matches
required
object
approvalLists
required
Array<string>
lacksSend
required
Array<string>
lacksSendRoles
required
Array<string>
warming
required
string
pending
required
Array<object>
object
audience
required
integer format: int64
author
required
object
color
required
string
email
required
string
id
required
string
initials
required
string
name
required
string
presence
string
role
required
string
id
required
string
name
required
string
requestedAt
required
string format: date-time
policy
required
object
approvalLists
required
boolean
approvalsRequired
required
integer format: int64
>= 1 <= 2
audienceMin
required
object
enabled
required
boolean
n
required
integer format: int64
>= 1 <= 100000000
authorLacksSend
required
boolean
automationPublish
required
boolean
channelCost
object
amount
required
number format: double
>= 0.01 <= 1000000
enabled
required
boolean
clientSignoff
object
automations
required
boolean
enabled
required
boolean
emergencyBypass
required
boolean
newProviderDays
required
integer format: int64
>= 1 <= 90
postPublish
required
boolean
readyWithWarnings
required
boolean
transactionalPublish
required
boolean
warmingProvider
required
boolean
reason
string

Example generated

{
"approvers": [
{
"color": "example",
"email": "example",
"id": "example",
"initials": "example",
"name": "example",
"presence": "example",
"role": "example"
}
],
"bypassCount": 1,
"canManage": true,
"clientSignoff": {
"agency": "example",
"approvers": [
"example"
],
"staff": [
"example"
]
},
"matches": {
"approvalLists": [
"example"
],
"lacksSend": [
"example"
],
"lacksSendRoles": [
"example"
],
"warming": "example"
},
"pending": [
{
"audience": 1,
"author": {
"color": "example",
"email": "example",
"id": "example",
"initials": "example",
"name": "example",
"presence": "example",
"role": "example"
},
"id": "example",
"name": "example",
"requestedAt": "2026-04-15T12:00:00Z"
}
],
"policy": {
"approvalLists": true,
"approvalsRequired": 1,
"audienceMin": {
"enabled": true,
"n": 1
},
"authorLacksSend": true,
"automationPublish": true,
"channelCost": {
"amount": 1,
"enabled": true
},
"clientSignoff": {
"automations": true,
"enabled": true
},
"emergencyBypass": true,
"newProviderDays": 1,
"postPublish": true,
"readyWithWarnings": true,
"transactionalPublish": true,
"warmingProvider": true
},
"reason": "example"
}

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
default: about:blank

Example

{
"detail": "Property foo is required but is missing.",
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "about:blank"
}