PLATFORM RC-102 — Admin auth + access boundaries (v1) (rc102)

Download OpenAPI specification:

Contract-only OpenAPI for admin-only webhooks operator surfaces.

This RC pins:

  • the admin-only path prefix: /v1/webhooks/admin/**
  • required scopes per operation via x-required-scopes
  • pinned 401/403 responses and admin error codes

Pause subscription (admin)

path Parameters
subscription_id
required
string

Responses

Response samples

Content type
application/json
{
  • "accepted": true,
  • "subscription_id": "string"
}

Resume subscription (admin)

path Parameters
subscription_id
required
string

Responses

Response samples

Content type
application/json
{
  • "accepted": true,
  • "subscription_id": "string"
}

Force-disable subscription (admin)

path Parameters
subscription_id
required
string

Responses

Response samples

Content type
application/json
{
  • "accepted": true,
  • "subscription_id": "string"
}

Redrive a single delivery_id (admin)

path Parameters
delivery_id
required
string
Request Body schema: application/json
required
merchant_id
required
string
reason
required
string

Responses

Request samples

Content type
application/json
{
  • "merchant_id": "string",
  • "reason": "string"
}

Response samples

Content type
application/json
{
  • "accepted": true,
  • "redrive_id": "string",
  • "enqueued_count": 0,
  • "skipped_count": 0,
  • "skipped_reasons": [
    ]
}

Redrive a bounded window (admin)

Request Body schema: application/json
required
merchant_id
required
string
subscription_id
string or null
from_ts
required
string <date-time>
to_ts
required
string <date-time>
max_deliveries
required
integer
reason
required
string

Responses

Request samples

Content type
application/json
{
  • "merchant_id": "string",
  • "subscription_id": "string",
  • "from_ts": "2019-08-24T14:15:22Z",
  • "to_ts": "2019-08-24T14:15:22Z",
  • "max_deliveries": 0,
  • "reason": "string"
}

Response samples

Content type
application/json
{
  • "accepted": true,
  • "redrive_id": "string",
  • "enqueued_count": 0,
  • "skipped_count": 0,
  • "skipped_reasons": [
    ]
}

DLQ stats (admin)

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "by_terminal_reason_code": {
    },
  • "oldest_last_attempt_at": "string",
  • "newest_last_attempt_at": "string"
}

Compact DLQ (admin)

Request Body schema: application/json
required
retention_days
required
integer

Responses

Request samples

Content type
application/json
{
  • "retention_days": 0
}

Response samples

Content type
application/json
{
  • "accepted": true,
  • "retained_count": 0,
  • "deleted_count": 0
}

Redrive DLQ records (admin)

Request Body schema: application/json
required
merchant_id
required
string
subscription_id
string or null
max_deliveries
required
integer <= 500
reason
required
string

Responses

Request samples

Content type
application/json
{
  • "merchant_id": "string",
  • "subscription_id": "string",
  • "max_deliveries": 500,
  • "reason": "string"
}

Response samples

Content type
application/json
{
  • "accepted": true,
  • "redrive_id": "string",
  • "enqueued_count": 0,
  • "skipped_count": 0,
  • "skipped_reasons": [
    ]
}