POSTlive

Register or rotate the partner callback endpoint

Resolves and validates a public HTTPS destination before registration. Private, loopback, link-local, metadata, failed-DNS, and mixed-address targets are rejected; delivery revalidates and pins DNS.

/api/v2/webhooks/endpointscreateOrRotateWebhookEndpointV2

Authentication and authority

Send one of the allowed bearer credential roles. Alternatives are OR; credentials named within one alternative are AND.

platformOrchestratorBearer

Credential bound to the platform_orchestrator role.

Parameters

NameLocationRequirementSchema
Idempotency-KeyheaderRequired{"type":"string","minLength":8,"maxLength":200}

Request body

Required request body.

application/json

{
  "$ref": "#/components/schemas/PartnerWebhookEndpointInput",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "maxLength": 2000
    },
    "rotateFromEndpointId": {
      "type": "string"
    },
    "overlapSeconds": {
      "type": "integer",
      "minimum": 60,
      "maximum": 86400
    }
  },
  "dependentRequired": {
    "rotateFromEndpointId": [
      "overlapSeconds"
    ],
    "overlapSeconds": [
      "rotateFromEndpointId"
    ]
  }
}

Responses

201

Versioned data envelope.

application/json

{
  "type": "object",
  "required": [
    "data",
    "requestId"
  ],
  "properties": {
    "data": {},
    "requestId": {
      "type": "string"
    }
  }
}
default

RFC 9457 style problem response.

application/problem+json

{
  "$ref": "#/components/schemas/Problem",
  "type": "object",
  "required": [
    "type",
    "title",
    "status",
    "code",
    "detail",
    "requestId"
  ],
  "properties": {
    "type": {
      "type": "string",
      "format": "uri"
    },
    "title": {
      "type": "string"
    },
    "status": {
      "type": "integer"
    },
    "code": {
      "type": "string"
    },
    "detail": {
      "type": "string"
    },
    "requestId": {
      "type": "string"
    }
  }
}

Example response

Successful response

{
  "data": {},
  "requestId": "requestId_test"
}

Usage notes

  • Responses reflect the current authoritative resource state.
  • Send a unique Idempotency-Key. An exact retry returns the stored result; reusing the key with a different request fails.
  • The request is accepted only when its credential, authority, case state, and resource preconditions are satisfied.

Likely next action: Inspect callback delivery history