---
title: "Read a project and its current revision state"
method: GET
path: "/v1/projects/{project_id}"
tags: ["Buyer projects"]
---

# Read a project and its current revision state

`GET /v1/projects/{project_id}`

## Request

- Base URL: `https://api.supplyslate.com`
- URL: `https://api.supplyslate.com/v1/projects/{project_id}`
- Auth: one of:
  - OAuth 2 (authorization code, authorization URL `https://mcp.supplyslate.com/authorize`, token URL `https://mcp.supplyslate.com/oauth/token`)
  - HTTP bearer

## Path parameters

- `project_id` string, required

## Response `200`

Successful response

- ProjectResponse
  - `project` Project, required
    - `id` string, required
    - `name` string, required
    - `origin_type` 'idea' | 'file' | 'bom' | 'exact_part' | 'rfq', required
    - `project_type` string
    - `demand_lane` 'industrial' | 'builder' | 'research', required
    - `status` string, required
    - `current_revision` object
  - `request_id` string

## Other responses

- `400`: Invalid request
- `401`: Authentication required
- `403`: Scope or tenant boundary denied
- `404`: Resource not found
- `409`: State conflict or idempotency mismatch
- `429`: Rate limited

---

[API](https://skmtc.dev/supplyslate/apis/supplyslate-agent-native-supply-api.md) · [All operations](https://skmtc.dev/supplyslate/apis/supplyslate-agent-native-supply-api/llms.txt) · [OpenAPI document](https://skmtc.dev/supplyslate/apis/supplyslate-agent-native-supply-api/revisions/f7989551f167?raw)
