Get collection tree

Returns the full collection hierarchy as trees rooted at top-level collections, each node minimal with nested children.

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

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

Returns the full collection hierarchy as trees rooted at top-level collections, each node minimal with nested children.

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/tree
  • Summary: Get collection tree
  • Description: Returns the full collection hierarchy as trees rooted at top-level collections, each node minimal with nested children.
  • OpenAPI contract: management-api
  • Operation ID: getCollectionTree
Parameters2 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.
Request bodyNo documented body

Not documented in the OpenAPI contract.

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

200 - object

Collection Tree

PropertyTypeRequiredDetails
dataobject[]Yes-
Collection Tree Node
PropertyTypeRequiredDetails
idstring (uuid)Yesformat: uuid
titlestringYes-
slugstringYes-
statusstringYes-
parent_idstringNo-
created_atstring (date-time)Yesformat: date-time
updated_atstring (date-time)Noformat: date-time
uristringYes-
childrenobject[]No-

Generated example (synthetic):

{
  "data": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "title": "string",
      "slug": "string",
      "status": "string",
      "parent_id": "string",
      "created_at": "2024-01-01T00:00:00Z",
      "updated_at": "2024-01-01T00:00:00Z",
      "uri": "string",
      "children": [
        {
          "id": null,
          "title": null,
          "slug": null,
          "status": null,
          "parent_id": null,
          "created_at": null,
          "updated_at": null,
          "uri": null,
          "children": null
        }
      ]
    }
  ]
}

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"
    ]
  }
}

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/tree
  • Operation ID: getCollectionTree
  • OpenAPI tag: Collections V2
  • OpenAPI summary: Get collection tree

Get collection tree

# Get collection tree Returns the full collection hierarchy as trees rooted at top-level collections, each node minimal with nested children.
GET /api/v2/{team_slug}/{app_slug}/collections/tree
Purpose

Returns the full collection hierarchy as trees rooted at top-level collections, each node minimal with nested children.

Required inputs

None documented

Primary response

200 ยท OK

Operation key

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

## 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/tree` - Summary: Get collection tree - Description: Returns the full collection hierarchy as trees rooted at top-level collections, each node minimal with nested children. - OpenAPI contract: management-api - Operation ID: getCollectionTree - Stable operation key: `management-api:GET:/api/v2/{team_slug}/{app_slug}/collections/tree` ## 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. | ## 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) | | 500 | Request-level failure | application/json (object) | ### 200 - object #### Collection Tree | Property | Type | Required | Details | | --- | --- | --- | --- | | `data` | object[] | Yes | - | ##### Collection Tree Node | Property | Type | Required | Details | | --- | --- | --- | --- | | `id` | string (uuid) | Yes | format: uuid | | `title` | string | Yes | - | | `slug` | string | Yes | - | | `status` | string | Yes | - | | `parent_id` | string | No | - | | `created_at` | string (date-time) | Yes | format: date-time | | `updated_at` | string (date-time) | No | format: date-time | | `uri` | string | Yes | - | | `children` | object[] | No | - | **Generated example (synthetic):** ```json { "data": [ { "id": "00000000-0000-0000-0000-000000000000", "title": "string", "slug": "string", "status": "string", "parent_id": "string", "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "uri": "string", "children": [ { "id": null, "title": null, "slug": null, "status": null, "parent_id": null, "created_at": null, "updated_at": null, "uri": null, "children": null } ] } ] } ``` ### 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" ] } } ``` ### 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/tree` - Operation ID: getCollectionTree - Stable operation key: `management-api:GET:/api/v2/{team_slug}/{app_slug}/collections/tree` - OpenAPI tag: Collections V2 - OpenAPI summary: Get collection tree