---
title: "Get a content group"
method: GET
path: "/v1/buckets/{bucketId}"
tags: ["buckets"]
---

# Get a content group

`GET /v1/buckets/{bucketId}`

## Request

- Base URL: `https://public.api.paragraph.com/api`
- URL: `https://public.api.paragraph.com/api/v1/buckets/{bucketId}`
- Auth: HTTP bearer

Retrieve one content group with its members. Read it before adding to it, so you don't draft a version that already exists.

## Path parameters

- `bucketId` string, required

## Response `200`

Content group retrieved successfully

- object
  - `id` string, required: Unique identifier for this bucket
  - `title` string, required: What the group is called, taken from the post that seeded it
  - `createdAt` string, required: ISO 8601 timestamp of creation
  - `updatedAt` string, required: ISO 8601 timestamp of the last change to the group
  - `members` object[], required: The pieces in this group, in display order — the post it was seeded from first
    - `kind` 'post' | 'content' | 'other', required: What `id` addresses: `post` reads with `GET /v1/posts/{id}`, `content` with `GET /v1/content/{id}`, and `other` can't be read through this API
    - `id` string, required: Identifier of the piece itself
    - `channel` string, required: Where this piece is meant to go: `post`, `tweet`, `linkedin`, `newsletter`, `x_article`, or `other`
    - `title` string, nullable, required: What the piece is called, or null when it has no name yet
    - `status` 'draft' | 'published' | 'archived', nullable, required: Whether the piece has been delivered, is still a draft, or was archived. Null for a member this API can't read.
    - `scheduled` boolean, required: Whether a scheduled send is queued against this piece
    - `url` string, nullable, required: Where this piece went live, or null when it hasn't been delivered. Also null by design for a channel that publishes no page.
    - `publishedAt` string, nullable, required: ISO 8601 timestamp of the first delivery, or null
    - `archivedAt` string, nullable, required: ISO 8601 timestamp of when this piece was archived, or null
    - `position` integer, required: Display order inside the bucket. The post the group was seeded from is always 0.
    - `updatedAt` string, required: ISO 8601 timestamp of the last change to the piece itself, not to its grouping

## Other responses

- `401`: Invalid or missing API key
- `404`: Content group not found
- `500`: Internal server error

## Changes

- **2026-09-01** `2d43a4d31af2`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/paragraph-xyz/apis/paragraph-api/changes/v1/buckets/:bucketId/get.md)

---

[API](https://skmtc.dev/paragraph-xyz/apis/paragraph-api.md) - [All operations](https://skmtc.dev/paragraph-xyz/apis/paragraph-api/llms.txt) - [OpenAPI document](https://skmtc.dev/paragraph-xyz/apis/paragraph-api/revisions/c148c610fb95?raw)
