API Reference

Knowledge index

Connecting an integration lets a deployment reach a system; indexing it makes that system's content searchable by agents. These endpoints start an index build and report its progress. Each index belongs to the user who built it.

Most integrations index through one uniform pair of routes under /api/vector/{provider}. Confluence, GitHub, and Jira predate that convention and keep their own routes, documented below. All of these require the corresponding integration to be connected first — see Integrations, Confluence, GitHub, and Jira.

Index an integration

POST /api/vector/{provider}/index

Starts a background build of the caller's search index for the given provider.

Starts a background job that reads the caller's connected content and refreshes its search index. The call returns immediately; poll Retrieve index status for progress. Only one build runs per user and provider at a time — if one is already running, the call returns started: false.

Authentication
Bearer token How it works

Path parameters

  • provider string Required

    The integration to index.

    Possible values
    • bitbucket
    • tfs
    • dynamics365
    • ms365files

Returns

Returns whether a build was started.

Errors

  • 400 The integration is not connected for the caller.
  • 404 The provider does not support indexing.
Request
curl -X POST "$VDF_BASE_URL/api/vector/bitbucket/index" \
  -H "Authorization: Bearer $VDF_ACCESS_TOKEN"
Response 200
{
  "success": true,
  "started": true
}

Retrieve index status

GET /api/vector/{provider}/status

Returns the progress of the caller's index build for the given provider.

Returns whether a build is running now and the outcome of the last one, for the caller's own index.

Authentication
Bearer token How it works

Path parameters

  • provider string Required

    The integration to inspect.

    Possible values
    • bitbucket
    • tfs
    • dynamics365
    • ms365files

Returns

Returns the index status object.

Errors

  • 404 The provider does not support indexing.
Request
curl "$VDF_BASE_URL/api/vector/bitbucket/status" \
  -H "Authorization: Bearer $VDF_ACCESS_TOKEN"
Response 200
{
  "success": true,
  "isConnected": true,
  "syncRunning": false,
  "syncStatus": "completed",
  "lastSyncAt": "2026-09-01T09:34:12Z",
  "lastSyncIndexed": 128,
  "syncError": null
}

Index Confluence content

POST /api/vector/confluence/index

Also available as POST /api/vector-store/confluence

Indexes Confluence pages so agents can search them.

Reads Confluence pages the caller can see and adds them to the search index. Pass spaceKeys to index whole spaces, pageIds to index specific pages, or neither to index a sample of the first few spaces. This endpoint is also reachable at /api/vector-store/confluence.

Authentication
Bearer token How it works

Body parameters application/json

  • spaceKeys array of strings

    Keys of the spaces to index.

  • pageIds array of strings

    IDs of individual pages to index.

  • limit integer

    Maximum number of pages to index per space.

Returns

Returns success: true and a confirmation message.

Errors

  • 400 Confluence is not connected for the caller.
Request
curl -X POST "$VDF_BASE_URL/api/vector/confluence/index" \
  -H "Authorization: Bearer $VDF_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "spaceKeys": [
      "ENG"
    ],
    "limit": 50
  }'
Response 200
{
  "success": true,
  "message": "Confluence content indexed"
}

Vectorise GitHub data

POST /api/vector/github/vectorize

Indexes a GitHub repository, or the caller's most recent repositories, for search.

Reads GitHub repositories the connected token can access and adds them to the search index. Pass repository_full_name to index a single repository; omit it to index the caller's most recently updated repositories.

Authentication
Bearer token How it works

Body parameters application/json

  • repository_full_name string

    Full repository name, for example acme/api. When omitted, the caller's most recent repositories are indexed.

Returns

Returns a confirmation message and a processing summary in details.

Errors

  • 400 GitHub is not connected for the caller.
Request
curl -X POST "$VDF_BASE_URL/api/vector/github/vectorize" \
  -H "Authorization: Bearer $VDF_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "repository_full_name": "acme/api"
  }'
Response 200
{
  "success": true,
  "message": "GitHub repository acme/api vectorized successfully",
  "details": {
    "success": true,
    "message": "GitHub repository acme/api vectorized successfully",
    "warnings": [],
    "processing_status": []
  }
}

Retrieve GitHub index status

GET /api/vector/github/status

Returns whether the caller's GitHub content has been indexed.

Reports whether the caller has indexed GitHub repositories and their components.

Authentication
Bearer token How it works

Parameters

No parameters.

Returns

Returns whether your GitHub data has been indexed, in isVectorized, hasRepositories, and hasComponents.

Request
curl "$VDF_BASE_URL/api/vector/github/status" \
  -H "Authorization: Bearer $VDF_ACCESS_TOKEN"
Response 200
{
  "success": true,
  "isVectorized": true,
  "hasRepositories": true,
  "hasComponents": true
}

Vectorise Jira data

POST /api/jira/vector/store

Reads the caller's Jira and indexes its projects, boards, issues, epics, comments, and related data for search. Pass project_key and board_id to scope the build; to index everything the caller can see, use Vectorise all Jira data.

Authentication
Bearer token How it works

Body parameters application/json

  • projectKey string

    Key of the project to index.

  • boardId string

    ID of the board to index. Sprint data is indexed only when both board_id and project_key are given on a basic-authentication connection.

Returns

Returns a per-collection processing summary.

Errors

  • 401 Jira is not connected for the caller.
Request
curl -X POST "$VDF_BASE_URL/api/jira/vector/store" \
  -H "Authorization: Bearer $VDF_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "projectKey": "ENG",
    "boardId": "42"
  }'
Response 200
{
  "success": true,
  "message": "Vector processing completed with results.",
  "processing_results": [
    {
      "collection": "jira_issues",
      "processed_count": 120,
      "status": "All issues processed successfully",
      "warnings": []
    }
  ]
}

Vectorise all Jira data

POST /api/jira/vector/store-all

Indexes every project and board the caller can see in Jira.

Runs the Jira index build across all projects and boards visible to the connected account, without scoping to a single project or board.

Authentication
Bearer token How it works

Parameters

No parameters.

Returns

Returns a per-collection processing summary.

Errors

  • 401 Jira is not connected for the caller.
  • 502 A Jira API request failed while building the index.
Request
curl -X POST "$VDF_BASE_URL/api/jira/vector/store-all" \
  -H "Authorization: Bearer $VDF_ACCESS_TOKEN"
Response 200
{
  "success": true,
  "message": "Vector processing completed with results.",
  "processing_results": [
    {
      "collection": "jira_projects",
      "processed_count": 8,
      "status": "All projects processed successfully",
      "warnings": []
    }
  ]
}