Relay
Delegate scoped tasks between published graphs with verified caller identity and cryptographic context.
When to use it
Safely hand off an authenticated support interaction into a dedicated, isolated payment execution workflow.
Supported Operations & Data Contracts
This module operates within published graph systems and task workflows.
delegate · Delegate Task to Sub-Graph (Graph Only)POST /api/v1/modules/relay
Forwards context and parameters to another published component with cryptographic signing.
Input Parameters
| Field | Type | Requirement | Description |
|---|---|---|---|
targetGraphId | UUID | Required | Published system ID of receiving graph. |
targetNodeId | string | Required | Entry node ID inside receiving graph. |
scopes | string[] | Required | Narrowed authorization scopes (e.g. ['sandbox:transfer']). |
Output Fields
| Field | Type | Description |
|---|---|---|
taskId | UUID | Created child task ID in the durable task tree. |
status | string | Child task status (waiting_approval, running, completed). |
Example Request Payload
JSON Request BodyContent-Type: application/json
{
"operation": "delegate",
"input": {
"targetGraphId": "550e8400-e29b-41d4-a716-446655440000",
"targetNodeId": "bridge",
"scopes": [
"sandbox:transfer"
]
}
}Example Response
JSON Response (HTTP 200)Cache-Control: no-store
{
"module": "relay",
"output": {
"taskId": "task_12345",
"status": "waiting_approval"
}
}Configuration in Graph Builder
When adding Relay into a visual component or graph workflow, configure its node runtime settings in the builder inspector:
In node settings, specify targetGraphId and targetNodeId. Wire upstream data into Relay's inputs. Downstream nodes wait until the delegated child task completes or is approved.
Current Boundaries & Guarantees
Published same-owner components only. Maximum 3 delegation hops and 32 tasks per tree. Direct module calls return HTTP 501. Customer authority requires separate interactive confirmation.