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

# Packages

> Query published component packages

## List Packages

Fetch a paginated list of published packages.

```graphql theme={null}
query GetPackages($cursor: String, $limit: Int) {
  packages(cursor: $cursor, limit: $limit) {
    data {
      id
      version
      createdAt
    }
    pagination {
      cursor
      hasMore
      limit
    }
  }
}
```

### Parameters

| Parameter | Type | Default | Description |
| - | - | - | - |
| `cursor` | String | null | Cursor for pagination |
| `limit` | Int | 20 | Items per page |

### Example

```graphql theme={null}
query {
  packages(limit: 10) {
    data {
      id
      version
      createdAt
    }
    pagination {
      cursor
      hasMore
    }
  }
}
```

Response:

```json theme={null}
{
  "data": {
    "packages": {
      "data": [
        {
          "id": "pkg123",
          "version": "2.1.0",
          "createdAt": "2024-01-15T10:30:00Z"
        },
        {
          "id": "pkg122",
          "version": "2.0.0",
          "createdAt": "2024-01-10T14:20:00Z"
        }
      ],
      "pagination": {
        "cursor": "eyJsYXN0SWQiOiJwa2cxMjIiLCJsYXN0VXBkYXRlZEF0IjoiMjAyNC0wMS0xMFQxNDoyMDowMFoifQ==",
        "hasMore": true
      }
    }
  }
}
```

## Get Package by Version

Fetch a specific package by semantic version.

```graphql theme={null}
query GetPackage($version: String!) {
  package(version: $version) {
    id
    version
    components {
      id
      name
      compiled
    }
    assets {
      id
      name
      url
    }
    dependencies {
      projectId
      version
    }
    compiled
    resolved {
      package {
        version
        components
        assets
      }
      dependencies {
        version
        components
        assets
      }
    }
  }
}
```

### Parameters

| Parameter | Type | Required | Description |
| - | - | - | - |
| `version` | String! | Yes | Semantic version (e.g., "1.0.0") |

### Example

```graphql theme={null}
query {
  package(version: "1.0.0") {
    id
    version
    components {
      id
      name
    }
    resolved {
      package {
        version
        components
      }
    }
  }
}
```

Response:

```json theme={null}
{
  "data": {
    "package": {
      "id": "pkg100",
      "version": "1.0.0",
      "components": [
        {
          "id": "comp123",
          "name": "ProductCard"
        },
        {
          "id": "comp124",
          "name": "ArticleLayout"
        }
      ],
      "resolved": {
        "package": {
          "version": "1.0.0",
          "components": "{\"ProductCard\":\"const body = ...\",\"ArticleLayout\":\"const body = ...\"}"
        }
      }
    }
  }
}
```

## Package Fields

| Field | Type | Description |
| - | - | - |
| `id` | ID! | Unique identifier |
| `projectId` | ID! | Project ID |
| `version` | String! | Semantic version |
| `components` | \[Component!]! | Components in package |
| `assets` | \[Asset!]! | Assets bundled with package |
| `dependencies` | \[PackageDependency!]! | External package dependencies |
| `compiled` | String! | Compiled package bundle |
| `resolved` | ResolvedPackage! | Fully resolved package data |
| `resolvedRef` | ResolvedPackageRef! | Package IDs for normalized caching |
| `createdAt` | DateTime! | Publication timestamp |

## Resolved Package Data

Use `resolved` to get all package data in a single request, or use [resolvedPackageData](/graphql/queries/package-data) for normalized caching.

```graphql theme={null}
query {
  package(version: "1.0.0") {
    resolved {
      package {
        id
        version
        components
        assets
      }
      dependencies {
        id
        version
        components
        assets
      }
    }
  }
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.