Skip to content

A Shadow Sweep plan was created

POST

Delivered as a CloudEvents 1.0 envelope whose data is a ShadowSweepPlan. Batched ≤ 20 per delivery as a JSON array; signed with Sweep-Signature.

Media typeapplication/json
Array
object
specversion
required
string
Allowed values: 1.0
id
required

Prefixed ULID (evt_…)

string
/^evt_[0-9A-HJKMNP-TV-Z]{26}$/
source
required
type
required

Event type from events.json, e.g. sweep.execution.completed

string
time
required
string format: date-time
subject

Primary resource id

string
datacontenttype
string
Allowed values: application/json
data
required
object
key
additional properties
sweepsimulated

CloudEvents extension: true in developer test mode.

boolean
type
required
Allowed value: sweep.plan.created
data
required

A Shadow Sweep plan: a low-cost logical preflight built from metadata, hashes and provider revision markers. Never mutates provider state.

object
planId
required

Prefixed ULID (pln_…)

string
/^pln_[0-9A-HJKMNP-TV-Z]{26}$/
planVersion
required
string
Allowed values: 1
tenantId
required
string
userId
required
string
actor
required
object
type
required
string
Allowed values: user sweep_automation developer_application external_agent service connector
principalId
required
string
delegatingUserId
One of:
string
applicationId
One of:
string
agentId
One of:
string
grantId
One of:
string
intent
required
string
Allowed values: sweep rescue restore migrate export unsubscribe simulation
operationClasses
required
Array<string>
Allowed values: discover preserve write remove restore migrate monitor automate billable_execute
simulated
required
boolean
createdAt
required
string format: date-time
expiresAt
required
string format: date-time
sourceMarkers
required
Array<object>
object
provider
required
string
Allowed values: google_gmail google_drive microsoft_outlook microsoft_onedrive dropbox apple_local s3_compatible trusty_vault simulated
sourceId
required
string
kind
required
string
Allowed values: history_id delta_token page_token cursor etag snapshot_hash none
value
required
string
observedAt
required
string format: date-time
objects
required
Array<object>
object
assetId
required

Prefixed ULID (ast_…)

string
/^ast_[0-9A-HJKMNP-TV-Z]{26}$/
sourceId
required

Prefixed ULID (src_…)

string
/^src_[0-9A-HJKMNP-TV-Z]{26}$/
provider
required
string
Allowed values: google_gmail google_drive microsoft_outlook microsoft_onedrive dropbox apple_local s3_compatible trusty_vault simulated
providerObjectId
required
string
expectedVersion
One of:
string
expectedSizeBytes
required
integer
expectedSha256
One of:
string
storageClass
string
Allowed values: preserve likely_removable review promotional duplicate large_attachment cold recent protected_by_rule
actions
required
Array<string>
>= 1 items
Allowed values: preserve trash restore copy move unsubscribe noop
preservationElected
required
boolean
excluded
Array<object>
object
assetId
required

Prefixed ULID (ast_…)

string
/^ast_[0-9A-HJKMNP-TV-Z]{26}$/
reason
required
string
Allowed values: low_confidence policy_exclusion protected_by_rule unsupported_capability over_grant_limit recent shared
detail
string
destination
One of:
object
destinationId
required
string
provider
required
string
Allowed values: google_gmail google_drive microsoft_outlook microsoft_onedrive dropbox apple_local s3_compatible trusty_vault simulated
label
required
string
external
boolean
pathTemplate
One of:
string
metadataMapping
object
key
additional properties
string
permissionMapping
string
Allowed values: preserve_where_supported drop owner_only
knownLossiness
Array<string>
preservationRequired
required
boolean
projection
required
object
objectCount
required
integer
bytesToPreserve
required
integer
bytesToRemove
required
integer
bytesToTransfer
required
integer
projectedReclaimBytes
required
integer
projectedQuota
required
Array<object>
object
sourceId
required
string
usedBytesAfter
required
integer
limitBytes
One of:
integer
percentAfter
One of:
number
policy
One of:
object
policyVersion
required
string
decision
required
string
Allowed values: allow deny step_up_required
reasons
required
Array<string>
requiredApprovals
Array<string>
Allowed values: human_user developer_owner ceiling_increase scope_step_up
decisionId
string
meter
One of:
object
rateCardVersion
required
string
currency
required
string
Allowed values: usd
lines
required
Array<object>
object
meter
required
string
quantity
required
number
unit
required
string
estimatedCents
required
integer
includedInAllowance
required
boolean
estimatedCents
required
integer
includedAllowanceApplied
required
boolean
withinStandingEnvelope
One of:
boolean
state
required
string
Allowed values: draft validated authorized committing committed executed partially_executed stale expired rejected cancelled
hash

Deterministic SHA-256 over material fields; any material change produces a new hash and requires fresh authorization.

string
authorization
One of:
object
authorizedAt
required
string format: date-time
authorizedBy
required
string
actionDecisionId
required
string
commercialAuthorizationId
One of:
string
planHashAtAuthorization
required
string

Acknowledge with any 2xx within 10 seconds