API Reference

Network configuration

These endpoints expose the deployment-wide configuration the intent layer runs on: the semantic capabilities used to classify a request, the rules that map wording to a domain and to routing signals, and the closed vocabularies a template may use.

Any signed-in user may read all three. Editing the capabilities and the intent rules changes behaviour for everyone, so it is reserved for administrators; the read responses include an editable flag telling the caller whether they may change the content. The template vocabularies are read-only and derived from the current schema.

Administrator access. Some endpoints on this page require an administrator account; each one says so under Permission.

Retrieve intent capabilities

GET /networks-api/admin/capabilities

Returns the capability definitions the intent layer uses to classify a request, as a YAML document. Each capability has a description and example phrases. The editable flag says whether the caller may change it.

Authentication
Bearer token How it works

Parameters

No parameters.

Returns

Returns the capabilities YAML and whether the caller may edit it.

Errors

  • 404 No capabilities configuration is available.
Request
curl "$VDF_BASE_URL/networks-api/admin/capabilities" \
  -H "Authorization: Bearer $VDF_ACCESS_TOKEN"
Response 200
{
  "content": "version: 4\ncapabilities:\n  wants_artifact:\n    description: The user wants the result delivered as a downloadable file.\n    examples:\n      - \"Export these figures to an Excel spreadsheet\"\n      - \"Create a 10-slide presentation about our Q3 results\"\n    negative_examples:\n      - \"Summarise this in bullet points\"\n",
  "editable": true
}

Update intent capabilities

PUT /networks-api/admin/capabilities

Replaces the intent-classification capability definitions.

Replaces the capability definitions with the supplied YAML. The content is validated before it is stored and takes effect for the whole deployment.

Authentication
Bearer token How it works
Permission
Requires an administrator account.

Body parameters application/json

  • content string Required

    The capabilities as a YAML mapping of capability name to its description and example phrases.

Returns

Returns a confirmation that the configuration was saved and reloaded.

Errors

  • 403 The caller is not an administrator.
  • 422 The content is not a valid capabilities document.
Request
curl -X PUT "$VDF_BASE_URL/networks-api/admin/capabilities" \
  -H "Authorization: Bearer $VDF_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "version: 4\ncapabilities:\n  wants_artifact:\n    description: The user wants the result delivered as a downloadable file.\n    examples:\n      - \"Export these figures to an Excel spreadsheet\"\n    negative_examples:\n      - \"Summarise this in bullet points\"\n"
  }'
Response 200
{
  "status": "ok",
  "reloaded": true
}

Retrieve intent rules

GET /networks-api/admin/intent-rules

Returns the intent rules as a YAML document. The rules list the terms that steer a request toward a domain and toward routing signals such as document review, artifact production, or a human-approval step. The editable flag says whether the caller may change them.

Authentication
Bearer token How it works

Parameters

No parameters.

Returns

Returns the intent-rules YAML and whether the caller may edit it.

Errors

  • 404 No intent-rules configuration is available.
Request
curl "$VDF_BASE_URL/networks-api/admin/intent-rules" \
  -H "Authorization: Bearer $VDF_ACCESS_TOKEN"
Response 200
{
  "content": "normalized_terms:\n  document_review:\n    - review\n    - analyze\n  artifact_request:\n    - report\n    - export\ndomain_inference:\n  customer-support:\n    - support\n    - ticket\n",
  "editable": true
}

Update intent rules

PUT /networks-api/admin/intent-rules

Replaces the intent rules with the supplied YAML. The content is validated before it is stored and takes effect for the whole deployment.

Authentication
Bearer token How it works
Permission
Requires an administrator account.

Body parameters application/json

  • content string Required

    The intent rules as a YAML mapping with normalized_terms and domain_inference sections.

Returns

Returns a confirmation that the configuration was saved and reloaded.

Errors

  • 403 The caller is not an administrator.
  • 422 The content is not a valid intent-rules document.
Request
curl -X PUT "$VDF_BASE_URL/networks-api/admin/intent-rules" \
  -H "Authorization: Bearer $VDF_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "normalized_terms:\n  document_review:\n    - review\n    - analyze\n  artifact_request:\n    - report\n    - export\ndomain_inference:\n  customer-support:\n    - support\n    - ticket\n"
  }'
Response 200
{
  "status": "ok",
  "reloaded": true
}

Retrieve template vocabularies

GET /networks-api/admin/template-options

Returns the closed vocabularies a template may use.

Returns every fixed vocabulary a template author can choose from — renderers, node and edge types, model-routing strategies, task classes, the keys a node's render-time condition may reference, and the placeholders each renderer substitutes. The values are derived from the current schema, so they always match what a save will accept. Open-ended catalogues such as workspaces, domains, agents and models come from their own endpoints.

Authentication
Bearer token How it works

Parameters

No parameters.

Returns

Returns an object of vocabulary lists keyed by their purpose.

Request
curl "$VDF_BASE_URL/networks-api/admin/template-options" \
  -H "Authorization: Bearer $VDF_ACCESS_TOKEN"
Response 200
{
  "renderers": [
    "static_spec",
    "github_repo_dag",
    "plan_mode_dag",
    "dynamic_dag"
  ],
  "node_types": [
    "LLMAgent",
    "ToolCall",
    "Router",
    "Aggregator",
    "SubNetwork",
    "Verification",
    "HumanApproval"
  ],
  "node_sources": [
    "agent_hub",
    "manual",
    "auto_generated"
  ],
  "edge_types": [
    "sequential",
    "parallel",
    "conditional",
    "subnetwork"
  ],
  "network_modes": [
    "execute",
    "plan_only"
  ],
  "model_routing_strategies": [
    "auto",
    "pinned",
    "capability",
    "energy",
    "regulated"
  ],
  "skills_modes": [
    "auto",
    "listing",
    "inline"
  ],
  "failure_policies": [
    "soft",
    "required"
  ],
  "prompt_input_modes": [
    "default",
    "structured_evidence"
  ],
  "retry_backoffs": [
    "fixed",
    "exponential"
  ],
  "created_by": [
    "manual",
    "intent-layer",
    "plan-agent"
  ],
  "task_classes": [
    "github_repo_planning",
    "github_repo_understanding",
    "document_review",
    "web_research",
    "generic"
  ],
  "condition_keys": [
    "artifact_tool_ids",
    "available_tool_ids",
    "company_url",
    "document_text_excerpt",
    "ranked_tool_ids",
    "tool_categories",
    "tool_relevance",
    "url_a",
    "url_b",
    "wants_artifact",
    "wants_document_review",
    "wants_planning",
    "wants_web_research",
    "website_domain",
    "website_url"
  ],
  "edge_condition_fields": [
    "approved",
    "passed",
    "score"
  ],
  "edge_condition_examples": [
    "$.passed == true",
    "$.passed == false",
    "$.approved == true",
    "$.approved == false",
    "$.score >= 0.75",
    "$.<node_id>.passed == false"
  ],
  "placeholders": {
    "static_spec": [
      "artifact_tool_ids",
      "available_tool_ids",
      "company_url",
      "competitor_search_query",
      "document_text_excerpt",
      "domain_id",
      "include_agentic_evidence_shell",
      "internal_search_query",
      "market_search_query",
      "message_body",
      "message_from",
      "message_id",
      "message_source",
      "message_subject",
      "mode",
      "network_id",
      "owner",
      "plan_mode_read_only_tools",
      "plan_mode_tool_schema_overrides",
      "ranked_tool_ids",
      "repo",
      "search_query",
      "task",
      "tool_categories",
      "tool_relevance",
      "url_a",
      "url_b",
      "wants_artifact",
      "wants_document_review",
      "wants_planning",
      "wants_web_research",
      "website_domain",
      "website_url"
    ],
    "github_repo_dag": [
      "domain_id",
      "focus_path",
      "index",
      "network_id",
      "owner",
      "repo",
      "search_query",
      "task"
    ],
    "plan_mode_dag": [
      "domain_id",
      "include_agentic_evidence_shell",
      "network_id",
      "owner",
      "plan_mode_read_only_tools",
      "plan_mode_tool_schema_overrides",
      "repo",
      "search_query",
      "task"
    ],
    "dynamic_dag": [
      "artifact_tool_ids",
      "available_tool_ids",
      "domain_id",
      "message_body",
      "message_from",
      "message_id",
      "message_source",
      "message_subject",
      "network_id",
      "ranked_tool_ids",
      "task",
      "tool_categories",
      "tool_relevance",
      "wants_artifact",
      "wants_document_review",
      "wants_planning",
      "wants_web_research"
    ]
  }
}