Update project routing metadata

Replaces the project's description and routing hints

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Describe what a project covers so that AI assistants connected through MCP can choose the right project for a question. The request replaces the whole content, so send the full description and every key you want to keep.

Basic Usage

Request

{
  "description": "Sales orders and revenue for the EMEA region.",
  "metadata": {
    "includes": ["EMEA sales", "orders"],
    "excludes": ["marketing spend"],
    "owner": ["Sales Ops"]
  },
  "baseVersion": "3f9a1c0b7d2e4a68"
}

Response

{
  "description": "Sales orders and revenue for the EMEA region.",
  "metadata": {
    "includes": ["EMEA sales", "orders"],
    "excludes": ["marketing spend"],
    "owner": ["Sales Ops"]
  },
  "version": "b81e07d24c5a9f13",
  "updatedAt": "2026-10-12T08:40:21.000Z",
  "invalidReason": null,
  "projectType": "CLASSIC"
}
📘

Information for the AI, not instructions

Assistants treat the description and metadata as data about the project. The metadata grants no access, and it does not change who can query the project.

Metadata Keys

  • includes: what the project covers
  • excludes: related data that another project owns, so the assistant looks elsewhere
  • Other keys: your own routing hints, such as owner or region. They keep the order you sent them in.

In Project Settings, includes and excludes are field types you can add once each, next to custom fields.

Avoiding Overwrites

Send the version from your last read as baseVersion. If someone changed the metadata since then, the request returns 409 CONFLICT_DETECTED and nothing is saved. Read it again and retry. An agentic project can also return this 409 when its repository keeps changing while the metadata is saved.

  • baseVersion: null: expects that nothing is saved yet
  • No baseVersion: overwrites without a check

To clear the metadata, send null for both description and metadata.

Where It Is Stored

Classic projects keep the metadata in Wren AI. Agentic projects keep it as project_routing_metadata.yml in the project's shared-data Git repository, and clearing the metadata deletes the file.

If a project_routing_metadata.yml pushed through Git is not valid, it reads as empty and invalidReason says why. The next save replaces it.


Path Params
integer
required

Project ID.

Body Params

Items are trimmed, and blank or repeated items are dropped. A key left with no items is dropped. Each key's items can total 400 characters, and all content 2000.

string | null

What the project is about.

metadata
object | null

Routing hints. Keys use letters, digits and underscores, start with a letter, and are case-insensitive (max 64 characters). includes and excludes must be lowercase. An item cannot be in both.

string | null

The version you last read, or null if nothing was saved yet. Omit it to overwrite without a check.

Responses

Language
Credentials
Bearer
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json