> For the complete documentation index, see [llms.txt](https://docs.biobox.io/guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.biobox.io/guide/how-to/ask-biobox-with-claude/tools/list-profile-reports.md).

# list\_profile\_reports — List profile model scoring reports

List profile model scoring reports

List profile model scoring reports

## What it does

List a PROFILE (monopartite) graph model's scoring reports — each report is one scored all-vs-all run of the model — flagging which are archived or test reports so they can be excluded.

**When to use:** after picking a profile model (from list\_reasoning\_models / get\_reasoning\_model), to find the reportId to read ranked scores from (list\_profile\_reports → get\_report\_scores); the user wants to see which scored runs a profile model has, or when each was created/updated.

**When NOT to use:** the model is a BIPARTITE reasoning module (one class ranked for another) — use list\_reports; listing the MODELS themselves rather than a model's runs (use list\_reasoning\_models); you want the model's scoring criteria / config (use get\_reasoning\_model); you want the ranked scores/rows of a report you've already chosen (use get\_report\_scores).

**Parameters:**

* `modelId` — the profile model's uuid (a ProfileKernel id, from list\_reasoning\_models) — which model's reports to list. A BIPARTITE model's uuid is rejected with a 404 pointing at list\_reports.
* `includeArchived` — optional. Default omitted → return ALL reports WITH their archived/isTest flags (do not drop); the safe default is flag-don't-filter. CAVEAT: this argument currently has NO EFFECT for profile models — the gateway accepts it but does not filter on it — so rely on the per-report `archived` flag regardless of what you pass.

**Returns:** An object { reports, count }. Each report has: reportId (pass to get\_report\_scores or get\_evidence — this is the key those tools consume), displayName (the run's human name), anchorConcept (the single class the model scores all-vs-all, { dbLabel, displayName } — e.g. Disease), totalTargets (the number of scored objects in the report), archived + isTest (HYGIENE FLAGS), dateCreated, dateUpdated (last scored), and numberOfEvidenceLines. There is NO anchorObject: a monopartite model scores a class against ITSELF, so no single entity is anchored (unlike a bipartite report, which anchors on e.g. the disease ALS). IMPORTANT: EXCLUDE any report with archived:true or isTest:true from user-facing answers. `count` is the number returned — this is the model's FULL report inventory (it is not paginated or capped). A modelId that is not a profile model returns a 404 Not Found error (isError).

## Parameters

| Parameter         | Type    | Required | Description                                                                                                                                                                                                                                                                                                                        |
| ----------------- | ------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `modelId`         | string  | yes      | the profile model's uuid (a ProfileKernel id, from list\_reasoning\_models) — which model's reports to list. A BIPARTITE model's uuid is rejected with a 404 pointing at list\_reports.                                                                                                                                            |
| `includeArchived` | boolean | no       | optional. Default omitted → return ALL reports WITH their archived/isTest flags (do not drop); the safe default is flag-don't-filter. CAVEAT: this argument currently has NO EFFECT for profile models — the gateway accepts it but does not filter on it — so rely on the per-report `archived` flag regardless of what you pass. |

## Response

```ts
{
  reports: Array<{
    reportId: string;
    displayName: string;
    archived: boolean;
    isTest: boolean;
    anchorConcept: {
      dbLabel: string | null;
      displayName: string | null;
    } | null;
    totalTargets: number | null;
    dateCreated: string | null;
    dateUpdated: string | null;
    numberOfEvidenceLines: number | null;
  }>;
  count: number;
}
```

## Example

```json
// list_profile_reports({"modelId":"9GFXylq5eiFxkbc0XugAR"})
{
  "modelId": "9GFXylq5eiFxkbc0XugAR"
}
```

Response (arrays truncated):

```json
{
  "reports": [
    {
      "reportId": "hkJELM-4vfq0BrLWhNnI6",
      "displayName": "Indication Prioritization - 2026-06-25",
      "archived": false,
      "isTest": false,
      "anchorConcept": {
        "dbLabel": "Disease",
        "displayName": "Disease"
      },
      "totalTargets": 12722,
      "dateCreated": "2026-06-25T23:42:34.424Z",
      "dateUpdated": "2026-06-25T23:45:31.527Z",
      "numberOfEvidenceLines": 4
    }
  ],
  "count": 1
}
```
