---
title: "Get collection by ID"
method: GET
path: "/public/v1/collections/{collectionId}"
tags: ["Collections - Management"]
---

# Get collection by ID

`GET /public/v1/collections/{collectionId}`

Retrieve a specific collection by its unique identifier.

The collection must be accessible to the authenticated user and must be active (not deactivated). This includes:
- Collections owned by the user
- Collections shared with the user's teams
- Organization-wide collections (if user has appropriate permissions)

**Note**: Inactive (deactivated) collections will return `404 Not Found`, even if you have `READ` permission on them.

**Response:**
Returns a collection object with full details including nested child collections. The response includes the same fields as the list endpoint, but with the complete collection tree structure recursively populated. See the `PublicCollectionDTO` schema for complete field definitions.

**Response Details:**
- The response includes the full collection tree structure with all child collections recursively populated
- Child collections have the same structure as the parent collection, allowing for nested hierarchies
- Only active collections are returned (inactive/deactivated collections are filtered out)
- Fields with null values (`parentId`, `updatedAt`) are omitted from the JSON response. This is standard JSON serialization behavior.

**Required Permissions**: `ACCESS_COLLECTION` and `READ` on the collection.

## Path parameters

- `collectionId` integer, required

## Response `200`

200 OK - Collection found and returned successfully

- PublicCollectionDTO
  - `id` integer, required
  - `uuid` string, uuid, required
  - `scope` 'User' | 'Customer' | 'Featured', required
  - `type` 'Default' | 'Commodity' | 'Ariba', required
  - `name` string, required
  - `count` integer, nullable
  - `lanes` boolean, required
  - `tiersEnabled` boolean, required
  - `parentId` integer, nullable
  - `children` PublicCollectionDTO[], required
  - `updatedAt` string, date-time, nullable

## Other responses

- `403` — 403 Forbidden - Authentication or authorization failure. This status code is returned when: (1) the request lacks valid authentication credentials (missing or invalid X-Auth-Token header), or (2) the authenticated user does not have the required permission to access this resource.
- `404` — 404 Not Found - The collection with the specified ID was not found, is inactive (deactivated), or is not accessible to your organization. This may occur if: (1) the collection ID doesn't exist, (2) the collection was deactivated (soft-deleted), (3) the collection was never accessible to your organization, or (4) the collection is inactive and filtered out by the system.
- `429` — 429 Too Many Requests - API rate limit exceeded. The request has been rejected because the rate limit for this endpoint has been exceeded. Default rate limits: GET requests - 100 per 10 seconds, 500 per minute; POST/PUT/PATCH/DELETE requests - 20 per 10 seconds, 100 per minute. For increased access, please contact customer success.
- `500` — 500 Internal Server Error - An unexpected error occurred on the server. The request may or may not have been processed.

---

[API](https://skmtc.net/prewave/apis/public-prewave-api.md) · [All operations](https://skmtc.net/prewave/apis/public-prewave-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/prewave/public-prewave-api/revisions/466169815b78/schema)
