Skip to main content
Ask a project runtime to reconcile its source index. This is a maintenance endpoint for projects whose files and entities exist but source search is not yet available or appears stale. Most integrations do not need to call this during the normal upload flow. Use it when a project overview shows source rows but search capability is not ready.

Authentication

Include an API key with the jobs:write scope as Authorization: Bearer YOUR_API_KEY.

Endpoint

POST https://plangrep.com/api/open/v1/projects/{projectId}/source-index/reconcile

Path Parameters

projectId
string
required
The unique identifier of the project whose source index should be reconciled.

Request Body

limit
integer
default:"5"
Maximum number of source-index repair tasks to process in this request. Must be between 1 and 25.

Response Fields

project
Project
required
The project record.
sourceIndex
object
required
Runtime source-index reconciliation result.
overview
ProjectOverview
required
Updated project overview after reconciliation.

Example Request

curl -X POST https://plangrep.com/api/open/v1/projects/proj_abc123/source-index/reconcile \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "limit": 10 }'

Example Response

{
  "project": {
    "id": "proj_abc123",
    "name": "Downtown Tower",
    "projectKind": "open_api",
    "disciplines": [],
    "status": "ready",
    "runtime": {
      "status": "ready",
      "upgradeStatus": null
    },
    "createdAt": "2026-07-11T18:00:00.000Z",
    "updatedAt": "2026-07-11T18:02:00.000Z"
  },
  "sourceIndex": {
    "status": "ok"
  },
  "overview": {
    "status": "ready",
    "statusLabel": "Ready",
    "counts": {
      "files": 2,
      "sheets": 48,
      "regions": 310,
      "vectors": 1200,
      "vectorChunks": 1200,
      "normalizedRegions": 310,
      "specifications": 1,
      "docs": 4
    },
    "disciplines": [],
    "latestJob": null,
    "nextAction": null,
    "capabilities": {
      "canCreateJob": true,
      "canUpload": true,
      "canSearch": true,
      "canVectorize": false,
      "canNormalize": false
    }
  }
}