[feat]: Support unpublish action for collection items

Open
#87 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
45/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
typescript
Domain
api

Research direction

Start by locating the collection API and its existing publish() method in the TypeScript client, then review the related tests or examples. Add the corresponding unpublish behavior for collection items and verify that the client can call it with an item identifier while preserving the publish() usage pattern.

Written by the indexing model from the issue text.

Description

issue: enhancement
A clear and concise description of what the feature is

Currently, the strapi/client SDK supports publishing entries, but there is no built-in method to unpublish a collection item. This feature request is to add an unpublish() method (or similar) to allow programmatically unpublishing a collection entry via the client.

Why should this feature be included?

This would enable developers to fully manage the publishing lifecycle of content directly from the frontend or admin tool, especially when integrating custom workflows or headless CMS setups. It’s a natural counterpart to the existing publish() method and essential for building a complete editorial experience.

Please provide an example for how this would work

`import { strapi } from '@strapi/client';

const strapiClient = strapi({
baseURL: 'http://localhost:1337/api',
auth: STRAPI_API_TOKEN,
});

// Unpublish an article
await strapiClient.collection('articles').unpublish('article-id');`

This API should ideally mirror the structure and usage of the existing publish() method for consistency and developer experience.

Dominant language
TypeScript
Stars
83
Forks
18
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from strapi/client

All issues in strapi/client

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.