Inbound

Replace an inbound policy (optional optimistic concurrency with `version`)

put/inbound-policies/{id}

Request

  • Base URL: https://api.oveyon.com/v1
  • URL: https://api.oveyon.com/v1/inbound-policies/{id}
  • Auth: HTTP bearer

Path parameters

idinteger required

Request body

namestring required

Unique in the account.

action'hold' | 'mute' | 'tag' | 'restrict_channels' | 'pass' | 'notify' required

hold holds for a human decision (notified like the quarantine); mute stores without dispatching or notifying (released the same way); tag adds tags and CONTINUES; notify pings the account Telegram and CONTINUES; restrict_channels delivers only to the listed channels; pass stops the policy chain (it does not bypass the mailbox quarantine).

actionParamsobject nullable

tag: { tags: [1..5, lowercase, [a-z0-9_.:-]] }. restrict_channels: { channels: [{ assocId } | { type: webhook|telegram|slack|forward }] } — assocId is the mailbox↔channel link from GET /v1/inbound/routes/{id}. notify: { note?: string ≤ 200 }. Others: none.

versioninteger

PUT only, optional: the version you read. A different current version answers 409 inbound_policy_version_conflict instead of overwriting.

Response

Updated

idinteger
namestring
positioninteger

Evaluation order (0 = first).

actionstring
actionParamsobject nullable
pausedboolean

New policies are born PAUSED at the end of the order: nothing changes until you unpause.

pausedAtstring date-time nullable
versioninteger
readableboolean

false = the stored policy can no longer be interpreted and is SKIPPED at arrival until fixed.

effectiveActionTodaystring nullable

List only. What it does TODAY: tag when hold/mute/restrict_channels degrade (platform switch off, or the held cap reached). null when paused.

degradedReason'hold_disabled' | 'hold_limit' | 'null' nullable

Why the action TODAY is a tag: the platform switch is off (hold_disabled) or the policy already holds its cap (hold_limit). null while paused or unreadable (readable: false) — such a policy is not evaluated.

matches30dinteger
lastMatchedAtstring date-time nullable
heldNowinteger

Messages this policy holds right now (cap 200 per policy).

createdBystring nullable
updatedBystring nullable
createdAtstring date-time
updatedAtstring date-time nullable

Changes

No recorded changes to this operation across all 1 revision of this API.