# Get Collections
> Source: /api-reference/members/collections/get-collections
> Get all collections for the authenticated member
> Endpoint: GET /members/me/collections

## Overview [#overview]

Returns all collections belonging to the authenticated member. Collections are used to organize favorited properties into groups like "Honeymoon Destinations", "Business Travel", or "Weekend Getaways".

## Authentication [#authentication]

Requires a valid Clerk JWT token in the Authorization header.

<RequestExample>

```bash cURL
curl -X GET "http://localhost:3000/v1/members/me/collections" \
  -H "Authorization: Bearer YOUR_CLERK_JWT"
```

```typescript TypeScript
const response = await fetch('http://localhost:3000/v1/members/me/collections', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_CLERK_JWT'
  }
});

const collections = await response.json();
```

</RequestExample>

## Response [#response]

<ResponseField name="collections" type="array" required>
  Array of collection objects
  
  <Expandable title="array items">
    <ResponseField name="id" type="number" required>
      Unique collection ID
    </ResponseField>
    
    <ResponseField name="externalId" type="string" required>
      External identifier for the collection
    </ResponseField>
    
    <ResponseField name="name" type="string" required>
      Display name of the collection
    </ResponseField>
    
    <ResponseField name="notes" type="string">
      Optional notes or description for the collection
    </ResponseField>
    
    <ResponseField name="isSystem" type="boolean" required>
      Whether this is a system-managed collection (read-only)
    </ResponseField>
    
    <ResponseField name="itemCount" type="number" required>
      Number of properties in this collection
    </ResponseField>
    
    <ResponseField name="items" type="array" required>
      Preview of properties in the collection
      
      <Expandable title="array items">
        <ResponseField name="propertyDocumentId" type="string" required>
          Property document identifier
        </ResponseField>
        
        <ResponseField name="propertyName" type="string" required>
          Property name
        </ResponseField>
        
        <ResponseField name="propertySlug" type="string">
          Property URL slug
        </ResponseField>
        
        <ResponseField name="heroImageUrl" type="string">
          Property hero image URL
        </ResponseField>
        
        <ResponseField name="addedAt" type="string" required>
          ISO 8601 timestamp when property was added to collection
        </ResponseField>
      </Expandable>
    </ResponseField>
    
    <ResponseField name="createdAt" type="string" required>
      ISO 8601 timestamp when collection was created
    </ResponseField>
    
    <ResponseField name="updatedAt" type="string" required>
      ISO 8601 timestamp when collection was last updated
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>

```json 200 Response
[
  {
    "id": 1,
    "externalId": "coll_123abc",
    "name": "Honeymoon Destinations",
    "notes": "Romantic properties for our upcoming honeymoon trip",
    "isSystem": false,
    "itemCount": 3,
    "items": [
      {
        "propertyDocumentId": "prop_luxury_maldives",
        "propertyName": "Luxury Resort Maldives",
        "propertySlug": "luxury-resort-maldives",
        "heroImageUrl": "https://cdn.journey.com/properties/maldives-hero.jpg",
        "addedAt": "2024-04-15T14:30:00Z"
      },
      {
        "propertyDocumentId": "prop_santorini_villa",
        "propertyName": "Santorini Villa",
        "propertySlug": "santorini-villa",
        "heroImageUrl": "https://cdn.journey.com/properties/santorini-hero.jpg",
        "addedAt": "2024-04-16T09:20:00Z"
      }
    ],
    "createdAt": "2024-04-15T10:00:00Z",
    "updatedAt": "2024-04-16T09:20:00Z"
  },
  {
    "id": 2,
    "externalId": "coll_456def",
    "name": "Business Travel",
    "notes": null,
    "isSystem": false,
    "itemCount": 5,
    "items": [
      {
        "propertyDocumentId": "prop_tokyo_business",
        "propertyName": "Tokyo Business Hotel",
        "propertySlug": "tokyo-business-hotel",
        "heroImageUrl": "https://cdn.journey.com/properties/tokyo-business-hero.jpg",
        "addedAt": "2024-04-10T16:45:00Z"
      }
    ],
    "createdAt": "2024-04-10T16:00:00Z",
    "updatedAt": "2024-04-12T11:30:00Z"
  },
  {
    "id": 0,
    "externalId": "default",
    "name": "Favorites",
    "notes": null,
    "isSystem": true,
    "itemCount": 2,
    "items": [
      {
        "propertyDocumentId": "prop_paris_boutique",
        "propertyName": "Paris Boutique Hotel",
        "propertySlug": "paris-boutique-hotel",
        "heroImageUrl": "https://cdn.journey.com/properties/paris-boutique-hero.jpg",
        "addedAt": "2024-04-08T12:15:00Z"
      }
    ],
    "createdAt": "2024-01-01T00:00:00Z",
    "updatedAt": "2024-04-08T12:15:00Z"
  }
]
```

</ResponseExample>

## Collection Types [#collection-types]

### User Collections [#user-collections]
- **isSystem: false**: Created and managed by the member
- **Editable**: Name and notes can be modified
- **Deletable**: Can be deleted along with all favorites

### System Collections [#system-collections]
- **isSystem: true**: System-managed collections
- **Default**: The main "Favorites" collection (ID: 0)
- **Read-only**: Cannot be edited or deleted

## Item Preview [#item-preview]
Each collection includes a preview of its items showing:
- Property basic information (name, image)
- When the property was added to the collection
- Limited to recent items (full list available via [Get Favorites](/api-reference/members/collections/get-favorites))

## Related Endpoints [#related-endpoints]

- [Create Collection](/api-reference/members/collections/create-collection) - Create a new collection
- [Get Favorites](/api-reference/members/collections/get-favorites) - Get all favorites, optionally filtered by collection
