---
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', 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', 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

## Changes

- **2026-03-10** `264ed942dacc` — 1 info
  - added the optional property `curation` to the response with the `200` status
- **2026-03-09** `2277d31213d1` — 1 warning, 1 info
  - added the new `google_drive` enum value to the `type` response property for the response status `200`
  - added the enum value `google_drive` to the property `anyOf[subschema #1]/` of the `query` request parameter `type`
- **2026-02-20** `056a9334ce0b` — 1 warning, 1 info
  - added the new `slack` enum value to the `type` response property for the response status `200`
  - added the enum value `slack` to the property `anyOf[subschema #1]/` of the `query` request parameter `type`
- **2026-02-14** `5b3db391b9ea` — 3 info
  - api tag `Sources` added
  - api tag `v2-api` removed
  - api tag `v2-api-sources` removed

[Change history](https://skmtc.dev/nozomio-labs/apis/nia-ai-api/changes/sources/:source_id/patch.md)

---

[API](https://skmtc.dev/nozomio-labs/apis/nia-ai-api.md) · [All operations](https://skmtc.dev/nozomio-labs/apis/nia-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/nozomio-labs/nia-ai-api/revisions/dbb602a3ef17/schema)
