---
title: "Get Effective Profile Route"
method: GET
path: "/projects/{project_id}/effective-profile"
---

# Get Effective Profile Route

`GET /projects/{project_id}/effective-profile`

## Request

- Base URL: `https://usemeridian.us` (the document declares no server; this is the origin it was published from)
- URL: `https://usemeridian.us/projects/{project_id}/effective-profile`
- Auth: none declared

Resolve and return the merged profile for a project across every
applicable layer — hosted_default -> workspace -> user -> project ->
session. Mirrors the ``get_effective_profile`` MCP tool. This is the
one project-anchored route in this module — see the module docstring.

RT-TI-005 (wave 2) — ``project_id`` is vetted by the middleware, but
``session_id`` merges that session's layer into the result and
``db.get_effective_profile`` never checks the session belongs to the project.
A project-scoped caller therefore gets a 403 for a session of any other
project (or an unknown one); unscoped callers are unchanged.

## Path parameters

- `project_id` string, required

## Query parameters

- `session_id` string, nullable
- `user_scope_id` string, nullable
- `workspace_scope_id` string
- `hosted_default_scope_id` string

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/usemeridian/apis/meridian.md) · [All operations](https://skmtc.dev/usemeridian/apis/meridian/llms.txt) · [OpenAPI document](https://skmtc.dev/usemeridian/apis/meridian/revisions/f37a894bd374?raw)
