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

# Get Collection

> Retrieve a single collection by ID

# Get Collection

Returns a single collection by its ID, in Shopify-compatible shape.

## Request

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://api.launchmystore.io/api/v1/collections/col_abc123.json" \
    -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
  ```

  ```javascript Node.js theme={null}
  const response = await fetch('https://api.launchmystore.io/api/v1/collections/col_abc123.json', {
    headers: {
      'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
    }
  });
  ```
</CodeGroup>

## Path Parameters

<ParamField path="id" type="string" required>
  The unique collection ID
</ParamField>

## Response

Returns a bare Shopify-style object with the collection under the `collection`
key.

<ResponseField name="collection" type="object">
  Collection object

  <Expandable title="Collection Object">
    <ResponseField name="id" type="string">
      Unique collection ID
    </ResponseField>

    <ResponseField name="title" type="string">
      Collection title
    </ResponseField>

    <ResponseField name="handle" type="string">
      URL-safe collection handle
    </ResponseField>

    <ResponseField name="body_html" type="string">
      Collection description (HTML)
    </ResponseField>

    <ResponseField name="description" type="string">
      Plain-text/HTML description (mirrors `body_html`)
    </ResponseField>

    <ResponseField name="published_at" type="string">
      Publication timestamp (ISO 8601)
    </ResponseField>

    <ResponseField name="published_scope" type="string">
      Where the collection is published (e.g. `web`)
    </ResponseField>

    <ResponseField name="sort_order" type="string">
      Product sort order (always `manual` for custom collections)
    </ResponseField>

    <ResponseField name="template_suffix" type="string">
      Custom template suffix for theming
    </ResponseField>

    <ResponseField name="image" type="object">
      Collection featured image
    </ResponseField>

    <ResponseField name="products_count" type="integer">
      Number of products in collection
    </ResponseField>

    <ResponseField name="collection_type" type="string">
      Collection type (always `custom`)
    </ResponseField>

    <ResponseField name="seo" type="object">
      SEO metadata (`title`, `description`, `image`)
    </ResponseField>

    <ResponseField name="updated_at" type="string">
      Last update timestamp (ISO 8601)
    </ResponseField>
  </Expandable>
</ResponseField>

## Example Response

```json theme={null}
{
  "collection": {
    "id": "col_abc123",
    "title": "Summer Collection",
    "handle": "summer-collection",
    "body_html": "<p>Our latest summer styles featuring lightweight fabrics and vibrant colors.</p>",
    "description": "<p>Our latest summer styles featuring lightweight fabrics and vibrant colors.</p>",
    "published_at": "2024-03-01T10:00:00Z",
    "published_scope": "web",
    "sort_order": "manual",
    "template_suffix": null,
    "collection_type": "custom",
    "image": {
      "alt": "Summer Collection",
      "width": 1200,
      "height": 600,
      "src": "https://cdn.launchmystore.io/images/summer-banner.jpg"
    },
    "products_count": 24,
    "seo": {
      "title": "Summer Collection",
      "description": "Shop our summer collection",
      "image": "https://cdn.launchmystore.io/images/summer-banner.jpg"
    },
    "url": "/collections/summer-collection",
    "updated_at": "2024-03-15T14:30:00Z"
  }
}
```

## Errors

Failures return a Shopify-style `{ errors }` body with the appropriate HTTP
status:

```json theme={null}
{
  "errors": {
    "base": ["Collection not found"]
  }
}
```

| Status | Description                                     |
| ------ | ----------------------------------------------- |
| `401`  | Invalid or missing access token                 |
| `403`  | App doesn't have the `read_products` scope      |
| `404`  | Collection with the specified ID does not exist |
