Get collection

Gets a single collection including children, translations, and redirects.

GET/api/v2/{team_slug}/{app_slug}/collections/{collection_id}
API
Management
Updated
Apr 26, 2026

management-api:GET:/api/v2/{team_slug}/{app_slug}/collections/{collection_id}

Gets a single collection including children, translations, and redirects.

API ownership

  • API family: Management API
  • Best for: Trusted back-office workflows that create, update, organize, or delete merchant-owned data.
  • Do not use from: Browser-only storefront code or public clients.
  • Guide route: /apis/management/latest

The OpenAPI contract defines the method, path, parameters, request body, and responses for this operation.

Operation

  • Method: GET
  • Path: /api/v2/\{team_slug\}/\{app_slug\}/collections/\{collection_id\}
  • Summary: Get collection
  • Description: Gets a single collection including children, translations, and redirects.
  • OpenAPI contract: management-api
  • Operation ID: getCollection
Parameters3 parameters
NameInRequiredTypeDescription
Not documented in the OpenAPI contract.Not documented in the OpenAPI contract.NoanyNot documented in the OpenAPI contract.
Not documented in the OpenAPI contract.Not documented in the OpenAPI contract.NoanyNot documented in the OpenAPI contract.
collection_idpathYesstring (uuid)Not documented in the OpenAPI contract.
Request bodyNo documented body

Not documented in the OpenAPI contract.

Responses6 statuses
StatusDescriptionContent
200OKapplication/json (object)
400Request-level failureapplication/json (object)
401Request-level failureapplication/json (object)
403Request-level failureapplication/json (object)
404Request-level failureapplication/json (object)
500Request-level failureapplication/json (object)

200 - object

Collection Single

PropertyTypeRequiredDetails
dataobjectYes-
Collection
PropertyTypeRequiredDetails
idstring (uuid)Yesformat: uuid
titlestringYes-
slugstringYes-
statusenum("active", "inactive", "draft")Yes-
parent_idstringNo-
translationsobjectNo-
redirectsobject[]No-
childrenobject[]No-
productsobject[]No-
created_atstring (date-time)Yesformat: date-time
updated_atstring (date-time)Noformat: date-time
uristringNo-
Collection Translation
PropertyTypeRequiredDetails
titleobject[]No-
slugobject[]No-
Redirects
PropertyTypeRequiredDetails
idstring (uuid)Noformat: uuid
item_idstringNo-
typeenum("category", "collection", "page", "product", "product_bundle")No-
old_slugstringNo-
new_slugstringNo-
localestringNo-
Collection Product Entry
PropertyTypeRequiredDetails
product_idstring (uuid)Yesformat: uuid
sort_orderintegerYes-
{
  "data": {
    "id": "00000000-0000-0000-0000-000000000000",
    "title": "string",
    "slug": "string",
    "status": "active",
    "parent_id": "string",
    "translations": {
      "title": [
        {
          "id": null,
          "locale": null,
          "value": null
        }
      ],
      "slug": [
        {
          "id": null,
          "locale": null,
          "value": null
        }
      ]
    },
    "redirects": [
      {
        "id": "00000000-0000-0000-0000-000000000000",
        "item_id": "string",
        "type": "category",
        "old_slug": "string",
        "new_slug": "string",
        "locale": "string"
      }
    ],
    "children": [
      {
        "id": "00000000-0000-0000-0000-000000000000",
        "title": "string",
        "slug": "string",
        "status": "active",
        "parent_id": "string",
        "translations": {
          "title": null,
          "slug": null
        },
        "redirects": [],
        "children": [],
        "products": [],
        "created_at": "2024-01-01T00:00:00Z",
        "updated_at": "2024-01-01T00:00:00Z",
        "uri": "string"
      }
    ],
    "products": [
      {
        "product_id": "00000000-0000-0000-0000-000000000000",
        "sort_order": 0
      }
    ],
    "created_at": "2024-01-01T00:00:00Z",
    "updated_at": "2024-01-01T00:00:00Z",
    "uri": "string"
  }
}

400 - object

Error

PropertyTypeRequiredDetails
errorobjectYes-
Error Body
PropertyTypeRequiredDetails
messagestringYes-
detailsstring[]Yes-

Generated example (synthetic):

{
  "error": {
    "message": "string",
    "details": [
      "string"
    ]
  }
}

401 - object

Error

PropertyTypeRequiredDetails
errorobjectYes-
Error Body
PropertyTypeRequiredDetails
messagestringYes-
detailsstring[]Yes-

Generated example (synthetic):

{
  "error": {
    "message": "string",
    "details": [
      "string"
    ]
  }
}

403 - object

Error

PropertyTypeRequiredDetails
errorobjectYes-
Error Body
PropertyTypeRequiredDetails
messagestringYes-
detailsstring[]Yes-

Generated example (synthetic):

{
  "error": {
    "message": "string",
    "details": [
      "string"
    ]
  }
}

404 - object

Error

PropertyTypeRequiredDetails
errorobjectYes-
Error Body
PropertyTypeRequiredDetails
messagestringYes-
detailsstring[]Yes-

Generated example (synthetic):

{
  "error": {
    "message": "string",
    "details": [
      "string"
    ]
  }
}

500 - object

Error

PropertyTypeRequiredDetails
errorobjectYes-
Error Body
PropertyTypeRequiredDetails
messagestringYes-
detailsstring[]Yes-

Generated example (synthetic):

{
  "error": {
    "message": "string",
    "details": [
      "string"
    ]
  }
}

Contract identity

Use these fields to confirm you are implementing the intended endpoint contract.

  • API family: Management API
  • Method: GET
  • Path: /api/v2/\{team_slug\}/\{app_slug\}/collections/\{collection_id\}
  • Operation ID: getCollection
  • OpenAPI tag: Collections V2
  • OpenAPI summary: Get collection

Get collection

# Get collection Gets a single collection including children, translations, and redirects.
GET /api/v2/{team_slug}/{app_slug}/collections/{collection_id}
Purpose

Gets a single collection including children, translations, and redirects.

Required inputs

collection_id path

Primary response

200 ยท OK

Operation key

management-api:GET:/api/v2/{team_slug}/{app_slug}/collections/{collection_id}

## API ownership - API family: Management API - Best for: Trusted back-office workflows that create, update, organize, or delete merchant-owned data. - Do not use from: Browser-only storefront code or public clients. - Guide route: [/apis/management/latest](/apis/management/latest) The OpenAPI contract defines the method, path, parameters, request body, and responses for this operation. ## Operation - Method: `GET` - Path: `/api/v2/{team_slug}/{app_slug}/collections/{collection_id}` - Summary: Get collection - Description: Gets a single collection including children, translations, and redirects. - OpenAPI contract: management-api - Operation ID: getCollection - Stable operation key: `management-api:GET:/api/v2/{team_slug}/{app_slug}/collections/{collection_id}` ## Parameters | Name | In | Required | Type | Description | | --- | --- | --- | --- | --- | | Not documented in the OpenAPI contract. | Not documented in the OpenAPI contract. | No | any | Not documented in the OpenAPI contract. | | Not documented in the OpenAPI contract. | Not documented in the OpenAPI contract. | No | any | Not documented in the OpenAPI contract. | | collection_id | path | Yes | string (uuid) | Not documented in the OpenAPI contract. | ## Request body Not documented in the OpenAPI contract. ## Responses | Status | Description | Content | | --- | --- | --- | | 200 | OK | application/json (object) | | 400 | Request-level failure | application/json (object) | | 401 | Request-level failure | application/json (object) | | 403 | Request-level failure | application/json (object) | | 404 | Request-level failure | application/json (object) | | 500 | Request-level failure | application/json (object) | ### 200 - object #### Collection Single | Property | Type | Required | Details | | --- | --- | --- | --- | | `data` | object | Yes | - | ##### Collection | Property | Type | Required | Details | | --- | --- | --- | --- | | `id` | string (uuid) | Yes | format: uuid | | `title` | string | Yes | - | | `slug` | string | Yes | - | | `status` | enum("active", "inactive", "draft") | Yes | - | | `parent_id` | string | No | - | | `translations` | object | No | - | | `redirects` | object[] | No | - | | `children` | object[] | No | - | | `products` | object[] | No | - | | `created_at` | string (date-time) | Yes | format: date-time | | `updated_at` | string (date-time) | No | format: date-time | | `uri` | string | No | - | ##### Collection Translation | Property | Type | Required | Details | | --- | --- | --- | --- | | `title` | object[] | No | - | | `slug` | object[] | No | - | ##### Redirects | Property | Type | Required | Details | | --- | --- | --- | --- | | `id` | string (uuid) | No | format: uuid | | `item_id` | string | No | - | | `type` | enum("category", "collection", "page", "product", "product_bundle") | No | - | | `old_slug` | string | No | - | | `new_slug` | string | No | - | | `locale` | string | No | - | ##### Collection Product Entry | Property | Type | Required | Details | | --- | --- | --- | --- | | `product_id` | string (uuid) | Yes | format: uuid | | `sort_order` | integer | Yes | - |
Generated example (synthetic) ```json { "data": { "id": "00000000-0000-0000-0000-000000000000", "title": "string", "slug": "string", "status": "active", "parent_id": "string", "translations": { "title": [ { "id": null, "locale": null, "value": null } ], "slug": [ { "id": null, "locale": null, "value": null } ] }, "redirects": [ { "id": "00000000-0000-0000-0000-000000000000", "item_id": "string", "type": "category", "old_slug": "string", "new_slug": "string", "locale": "string" } ], "children": [ { "id": "00000000-0000-0000-0000-000000000000", "title": "string", "slug": "string", "status": "active", "parent_id": "string", "translations": { "title": null, "slug": null }, "redirects": [], "children": [], "products": [], "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "uri": "string" } ], "products": [ { "product_id": "00000000-0000-0000-0000-000000000000", "sort_order": 0 } ], "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "uri": "string" } } ```
### 400 - object #### Error | Property | Type | Required | Details | | --- | --- | --- | --- | | `error` | object | Yes | - | ##### Error Body | Property | Type | Required | Details | | --- | --- | --- | --- | | `message` | string | Yes | - | | `details` | string[] | Yes | - | **Generated example (synthetic):** ```json { "error": { "message": "string", "details": [ "string" ] } } ``` ### 401 - object #### Error | Property | Type | Required | Details | | --- | --- | --- | --- | | `error` | object | Yes | - | ##### Error Body | Property | Type | Required | Details | | --- | --- | --- | --- | | `message` | string | Yes | - | | `details` | string[] | Yes | - | **Generated example (synthetic):** ```json { "error": { "message": "string", "details": [ "string" ] } } ``` ### 403 - object #### Error | Property | Type | Required | Details | | --- | --- | --- | --- | | `error` | object | Yes | - | ##### Error Body | Property | Type | Required | Details | | --- | --- | --- | --- | | `message` | string | Yes | - | | `details` | string[] | Yes | - | **Generated example (synthetic):** ```json { "error": { "message": "string", "details": [ "string" ] } } ``` ### 404 - object #### Error | Property | Type | Required | Details | | --- | --- | --- | --- | | `error` | object | Yes | - | ##### Error Body | Property | Type | Required | Details | | --- | --- | --- | --- | | `message` | string | Yes | - | | `details` | string[] | Yes | - | **Generated example (synthetic):** ```json { "error": { "message": "string", "details": [ "string" ] } } ``` ### 500 - object #### Error | Property | Type | Required | Details | | --- | --- | --- | --- | | `error` | object | Yes | - | ##### Error Body | Property | Type | Required | Details | | --- | --- | --- | --- | | `message` | string | Yes | - | | `details` | string[] | Yes | - | **Generated example (synthetic):** ```json { "error": { "message": "string", "details": [ "string" ] } } ``` ## Contract identity Use these fields to confirm you are implementing the intended endpoint contract. - API family: Management API - Method: `GET` - Path: `/api/v2/{team_slug}/{app_slug}/collections/{collection_id}` - Operation ID: getCollection - Stable operation key: `management-api:GET:/api/v2/{team_slug}/{app_slug}/collections/{collection_id}` - OpenAPI tag: Collections V2 - OpenAPI summary: Get collection