> ## Documentation Index
> Fetch the complete documentation index at: https://docs.iblueprint.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Fetch a single iBlueprint blueprint by UUID

> Fetch a single iBlueprint blueprint by UUID, including ratings, category links, organization memberships, and the authenticated user's computed access level.

The `blueprint.get` procedure returns the full detail record for one blueprint. In addition to the core blueprint fields, the response includes computed access flags (`is_owner`, `can_manage`), linked categories and organizations, favoriting status, and rating aggregates. You can fetch blueprints you own, blueprints shared with you via a collaborator role, blueprints belonging to your organization, and any blueprint with `visibility: public`.

## Request

**Procedure type:** query (HTTP `GET`)

**Endpoint:**

```
GET https://api.iblueprint.ai/api/trpc/blueprint.get
```

### Parameters

<ParamField query="input" type="object" required>
  A URL-encoded JSON object with a `json` key containing the parameter below.
</ParamField>

<ParamField query="json.id" type="string" required>
  UUID of the blueprint to retrieve.
</ParamField>

## Response

<ResponseField name="id" type="string">UUID of the blueprint.</ResponseField>
<ResponseField name="title" type="string">Display name.</ResponseField>
<ResponseField name="description" type="string">Short description.</ResponseField>
<ResponseField name="status" type="string">`draft` or `published`.</ResponseField>
<ResponseField name="visibility" type="string">`private` or `public`.</ResponseField>
<ResponseField name="version" type="string">Semantic version string, e.g. `2.1.0`.</ResponseField>
<ResponseField name="tags" type="array">Array of tag strings.</ResponseField>
<ResponseField name="created_by" type="string">UUID of the owning user.</ResponseField>
<ResponseField name="organization_id" type="string">UUID of the owning organization.</ResponseField>
<ResponseField name="created_at" type="string">ISO 8601 creation timestamp.</ResponseField>
<ResponseField name="updated_at" type="string">ISO 8601 last-update timestamp.</ResponseField>
<ResponseField name="environment_variables" type="array">Declared environment variables for the blueprint.</ResponseField>
<ResponseField name="blueprint_map" type="object">Node graph definition containing `nodes` and flow edges.</ResponseField>
<ResponseField name="average_rating" type="number">Average star rating (0–5).</ResponseField>
<ResponseField name="rating_count" type="number">Total number of ratings.</ResponseField>
<ResponseField name="user_rating" type="number">The authenticated user's own rating, if any.</ResponseField>
<ResponseField name="can_manage" type="boolean">`true` if the authenticated user can edit or delete this blueprint (owner, collaborator with editor/admin role, or org member).</ResponseField>
<ResponseField name="is_owner" type="boolean">`true` if the authenticated user created this blueprint.</ResponseField>
<ResponseField name="is_favorited" type="boolean">`true` if the authenticated user has favorited this blueprint.</ResponseField>
<ResponseField name="categories" type="array">Array of category objects (`id`, `name`, `slug`) linked to this blueprint.</ResponseField>
<ResponseField name="organizations" type="array">Array of organization objects (`id`, `name`, `slug`) this blueprint belongs to.</ResponseField>

## Examples

<CodeGroup>
  ```bash curl theme={null}
  curl -G "https://api.iblueprint.ai/api/trpc/blueprint.get" \
    --data-urlencode 'input={"json":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"}}' \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```javascript JavaScript theme={null}
  const params = new URLSearchParams({
    input: JSON.stringify({
      json: { id: '3fa85f64-5717-4562-b3fc-2c963f66afa6' },
    }),
  });

  const response = await fetch(
    `https://api.iblueprint.ai/api/trpc/blueprint.get?${params}`,
    { headers: { Authorization: 'Bearer YOUR_API_KEY' } }
  );

  const { result } = await response.json();
  const blueprint = result.data.json;
  ```
</CodeGroup>

### Sample response

```json theme={null}
{
  "result": {
    "data": {
      "json": {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "title": "Sentiment Analysis Pipeline",
        "description": "Reads customer reviews and classifies sentiment.",
        "status": "published",
        "visibility": "private",
        "version": "1.0.0",
        "tags": ["nlp", "sentiment"],
        "created_by": "user-uuid",
        "organization_id": "org-uuid",
        "created_at": "2024-10-01T08:00:00Z",
        "updated_at": "2024-10-20T16:45:00Z",
        "environment_variables": [],
        "blueprint_map": {
          "nodes": [...]
        },
        "average_rating": 4.8,
        "rating_count": 5,
        "user_rating": 5,
        "can_manage": true,
        "is_owner": true,
        "is_favorited": false,
        "categories": [
          { "id": "cat-uuid", "name": "AI & ML", "slug": "ai-ml" }
        ],
        "organizations": [
          { "id": "org-uuid", "name": "Acme Corp", "slug": "acme-corp" }
        ]
      }
    }
  }
}
```

## Access rules

The API grants access to a blueprint if any of the following is true:

* You are the blueprint's creator (`created_by` matches your user ID).
* You are listed as a collaborator with the `editor` or `admin` role.
* Your organization owns the blueprint.
* The blueprint has `visibility: public`.

If none of these conditions apply, the API returns `HTTP 403 Forbidden`.
