Proteside Docs
Endpoint referencePolicies

Create a policy

POST
/policies

Authorization

bearerAuth
headerAuthorizationBearer <token>

API token created in Settings → API. Scopes are attached to the token; each operation lists its required scope in x-scope.

Query Parameters

org_id?string

Partners only (orgs:manage): act on this child organization. May also be sent as org_id in JSON bodies.

Formatuuid

Header Parameters

Idempotency-Key?string

Replays the original response for 24 h

Length1 <= length <= 255

Request Body

application/json
  1. body
name*string
Length2 <= length <= 120
description?string
Lengthlength <= 1000
store_id?string

Omit for an organization-level policy

Formatuuid
mode?string
Default"recommend"
Value in"recommend""auto"
priority?integer
Range1 <= value <= 10000
Default100
match?
conditions?
action*string
Value in"authorize""needs_review""block"
justification_template?string
Lengthlength <= 1000
expires_days?|
Range1 <= value <= 3650
active?boolean
Defaulttrue

Response Body

Policy

application/json
  1. response
id?string
Formatuuid
org_id?string
Formatuuid
store_id?|
Formatuuid
name?string
description?string|null
version?integer
active?boolean
mode?string
Value in"recommend""auto"
priority?integer

Lower = evaluated first; first match decides

match?
conditions?
action?string
Value in"authorize""needs_review""block"
justification_template?|

Supports {domain} {vendor} {path}

expires_days?integer|null
is_default?boolean
created_at?string
Formatdate-time
updated_at?string
Formatdate-time
curl -X POST "https://example.com/policies" \  -H "Content-Type: application/json" \  -d '{    "name": "Analytics approved by marketing",    "match": {      "origin": "known_vendor",      "category": [        "analytics"      ]    },    "conditions": {      "no_sensitive_field_access": true,      "not_in_threat_list": true    },    "action": "authorize",    "mode": "recommend",    "priority": 60,    "justification_template": "{vendor} analytics ({domain}) — no access to payment fields in the last 30 days.",    "expires_days": 90  }'
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",  "store_id": "7fe87115-950c-4ae8-bd7e-970406bc9ac0",  "name": "string",  "description": "string",  "version": 0,  "active": true,  "mode": "recommend",  "priority": 0,  "match": {    "origin": "first_party",    "domain": [      "string"    ],    "path_glob": [      "string"    ],    "category": [      "string"    ],    "vendor_id": [      "string"    ]  },  "conditions": {    "same_origin": true,    "prevalence_min": 0,    "no_sensitive_field_access": true,    "not_in_threat_list": true,    "in_threat_list": true,    "store_provider": true,    "max_size_kb": 0,    "has_integrity_attr": true  },  "action": "authorize",  "justification_template": "string",  "expires_days": 0,  "is_default": true,  "created_at": "2019-08-24T14:15:22Z",  "updated_at": "2019-08-24T14:15:22Z"}