---
title: "Update Source"
method: PATCH
path: "/sources/{source_id}"
tags: ["Sources"]
---

# Update Source

`PATCH /sources/{source_id}`

## Path parameters

- `source_id` string, required

## Query parameters

- `type` 'repository' | 'documentation' | 'research_paper' | 'huggingface_dataset' | 'local_folder' | 'slack' | 'google_drive' | 'connector', nullable — Source type hint

## Request body

- SourceUpdateRequest
  - `display_name` string, nullable
  - `category_id` string, nullable

## Response `200`

Successful Response

- Source — Unified source representation.
  - `id` string, required — Source identifier
  - `type` 'repository' | 'documentation' | 'research_paper' | 'huggingface_dataset' | 'local_folder' | 'slack' | 'google_drive' | 'connector', required — Source type
  - `identifier` string, nullable — Canonical identifier (repo slug, URL, or folder path)
  - `display_name` string, nullable — Human-readable name
  - `status` string, nullable — Indexing status
  - `created_at` string, nullable — Creation timestamp (ISO)
  - `updated_at` string, nullable — Last update timestamp (ISO)
  - `category_id` string, nullable — Category assignment
  - `is_global` boolean, nullable — Whether the source is global/shared
  - `global_source_id` string, nullable — Global source ID if applicable
  - `global_namespace` string, nullable — Global namespace if applicable
  - `metadata` object — Type-specific metadata
  - `curation` SourceCurationSummary — Compact curation info embedded into source responses.
    - `trust_signals` SourceTrustSignals — Trust and curation signals attached to a source.
      - `trust_level` 'low' | 'medium' | 'high' — User or team trust preference for the source
      - `trust_tier` 'low' | 'medium' | 'high' | 'verified' — Effective trust tier after derived verified/global signals
      - `scope` 'private' | 'organization' | 'global' — Ownership scope of the source
      - `is_global` boolean — Whether the source references a shared global source
      - `is_verified` boolean — Whether the source has a Nia-verified overlay
      - `overlay_available` boolean — Whether a curated overlay is attached
      - `annotation_count` integer — Number of saved annotations for this source
    - `overlay_summary` string, nullable — Short overlay summary if one exists
    - `recommended_queries` string[] — Suggested prompts from the overlay

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/trynia/apis/nia-ai-api.md) · [All operations](https://skmtc.net/trynia/apis/nia-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/trynia/nia-ai-api/versions/d216ffc3efb6/schema)
