Skip to main content

Start a durable RSVP-TE group operation

POST
/tasks/{id}/rsvp/batch/start

Saves 1-64 members before dispatch and returns 202. Ordinary groups send Start, Stop, PCEP delegation, guarded MBB or periodic MBB once. leaf-pair-prune/graft preflight exactly one primary and detour P2MP tree, then dispatch in a safe order; a failed or uncertain first action leaves the second not-sent. path-apply carries distinct per-LSP Path members; topology-apply carries complete creates or receipt-guarded deletes. mixed-apply can combine Path, topology and per-agent stream create/delete members (64 total); stream deletes run first, then Path, topology and stream creates. Each stream member supplies its own task-owned agent and runtime generation. The parent persists each child only after native receipt and profile CAS. A lost reply is recovered by query; an interrupted Core never resends a mutation. Explicit resume copies only a proven unsent suffix.

Contract

Parameter
Value
Sectiontasks
AuthenticationCookieAuth
Consumesapplication/json
Producesapplication/json

Parameters

2 parameters

Name
Location
Required
Type
Description
idpathyesintegerCanonical positive task ID
requestbodyyesobjectAgent, operation ID, profile revision, action, up to 64 identities or Path/topology/stream members, and action options; at most 64 KiB
  • {
      "action": "start",
      "admin-members": [
        {
          "enabled": true,
          "identity": {
            "accept-detour": true,
            "endpoint": "<string>",
            "ext-tunnel-id": "<string>",
            "instance": 0,
            "kind": "p2p",
            "lsp-id": 0,
            "p2mp-id": 0,
            "send-detour": true,
            "sender": "<string>",
            "tunnel-id": 0
          },
          "ingress": true
        }
      ],
      "agent": "<string>",
      "expected-profile-revision": "<string>",
      "identities": [
        {
          "accept-detour": true,
          "endpoint": "<string>",
          "ext-tunnel-id": "<string>",
          "instance": 0,
          "kind": "p2p",
          "lsp-id": 0,
          "p2mp-id": 0,
          "send-detour": true,
          "sender": "<string>",
          "tunnel-id": 0
        }
      ],
      "operation-id": "<string>",
      "options": {},
      "path-members": [
        {
          "identity": {
            "accept-detour": true,
            "endpoint": "<string>",
            "ext-tunnel-id": "<string>",
            "instance": 0,
            "kind": "p2p",
            "lsp-id": 0,
            "p2mp-id": 0,
            "send-detour": true,
            "sender": "<string>",
            "tunnel-id": 0
          },
          "mbb": {
            "expected-mbb-attempts": 0,
            "lsp-id-end": 0,
            "lsp-id-start": 0,
            "new-lsp-id": 0,
            "retire-delay-ms": 0,
            "setup-timeout-ms": 0,
            "switch-delay-ms": 0
          },
          "path": {}
        }
      ],
      "runtime-generation": "<string>",
      "stream-members": [
        {
          "action": "create",
          "agent": "<string>",
          "expected-create-operation-id": "<string>",
          "flow-id": 0,
          "identity": {
            "accept-detour": true,
            "endpoint": "<string>",
            "ext-tunnel-id": "<string>",
            "instance": 0,
            "kind": "p2p",
            "lsp-id": 0,
            "p2mp-id": 0,
            "send-detour": true,
            "sender": "<string>",
            "tunnel-id": 0
          },
          "rsvp-wire-flow-id": 0,
          "runtime-generation": "<string>",
          "stream": {},
          "stream-name": "<string>"
        }
      ],
      "topology-members": [
        {
          "action": "create",
          "expected-create-operation-id": "<string>",
          "identity": {
            "accept-detour": true,
            "endpoint": "<string>",
            "ext-tunnel-id": "<string>",
            "instance": 0,
            "kind": "p2p",
            "lsp-id": 0,
            "p2mp-id": 0,
            "send-detour": true,
            "sender": "<string>",
            "tunnel-id": 0
          },
          "lsp": {}
        }
      ]
    }

Responses

8 responses

Status
Description
Type
202
Persisted operationobject
400
Invalid request or identityobject
401
Session requiredobject
403
Agent not registered for this taskobject
404
Task not foundobject
409
Task, profile or operation conflictobject
500
Database failureobject
502
Invalid registered agent addressobject
  • {
      "action": "<string>",
      "agent": "<string>",
      "created-at": "<string>",
      "cursor": 0,
      "members": [
        {
          "agent": "<string>",
          "child-operation-id": "<string>",
          "identity": {},
          "mode": "<string>",
          "observed-at": "<string>",
          "phase": "<string>",
          "reason": "<string>",
          "runtime-generation": "<string>",
          "status": "<string>"
        }
      ],
      "operation-id": "<string>",
      "profile-revision": "<string>",
      "resume-of": "<string>",
      "status": "<string>",
      "task-id": 0,
      "terminal": true,
      "updated-at": "<string>"
    }
  • {
      "data": {},
      "error": "<string>"
    }
  • {
      "data": {},
      "error": "<string>"
    }
  • {
      "data": {},
      "error": "<string>"
    }
  • {
      "data": {},
      "error": "<string>"
    }
  • {
      "data": {},
      "error": "<string>"
    }
  • {
      "data": {},
      "error": "<string>"
    }
  • {
      "data": {},
      "error": "<string>"
    }