Request conventions
Send request bodies as JSON with Content-Type: application/json, encoded as UTF-8. Endpoints that accept files take multipart/form-data instead; they say so in their body parameters.
Query parameters are strings on the wire. Booleans are written true and false, and lists are repeated or comma-separated as each endpoint describes.
curl -X POST "$VDF_BASE_URL/agent-hub-api/api/workspaces" \
-H "Authorization: Bearer $VDF_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "Customer support"}' Path parameters
Paths in this reference write parameters in braces — /agent-hub-api/api/workspaces/{workspace_id}. Replace the braces and the name with the value, and percent-encode values that contain reserved characters.
/agent-hub-api/api/workspaces/{workspace_id}
/agent-hub-api/api/workspaces/a2c4e6f8-1234-4abc-9def-0123456789ab Identifiers
Resources of the Chat API — users, chat sessions, documents, network triggers — use numeric identifiers. Resources of the other APIs use string identifiers; treat them as opaque, compare them exactly, and don't parse them or assume a format.
Some resources can also be addressed by a human-readable name or slug, such as an agent's name or a workspace's slug. Each endpoint states which one it expects.
Timestamps
Timestamps are in UTC and appear in one of three formats; the response examples show which one each field uses:
- ISO 8601 with a designator —
2026-09-01T09:30:00Z— in the Data API and most Chat API resources. - ISO 8601 without a designator —
2026-09-01T09:30:00.412345— in the Agent Hub API. The value is still UTC. - The HTTP date format —
Tue, 01 Sep 2026 09:30:00 GMT— in a few older Chat API fields.
Parse timestamps with a standard date library rather than by position, and interpret values without a designator as UTC.
File uploads
Endpoints that accept files take multipart/form-data, with the file in a form field (usually file) and any other fields as ordinary form values. Let your HTTP client set the Content-Type header, including its boundary.
curl -X POST "$VDF_BASE_URL/api/documents/upload" \
-H "Authorization: Bearer $VDF_ACCESS_TOKEN" \
-F "file=@quarterly-report.pdf" Working within a workspace
Workspaces — Projects in the VDF AI portal — group the agents, tools, knowledge, and data connections that belong together. Many list endpoints accept a workspace filter so an integration sees only what belongs to its project, and Run an agent lets you name the workspace a run should use.
Confirm that a workspace exists and is visible to the calling user — Retrieve a workspace — before building an integration around it.