# Feature COMMS-1000 - Labels API

Project: Stream Communicator
Status: merged
URL: https://community.openproject.org/work_packages/COMMS-1000

## Planning

| Attribute | Value |
| --- | --- |
| Date |  |
| Priority | Medium |
| Target versions | 18.0.0 |
| Sprint | Sprint 16 |
| Backlog bucket |  |
| Votes |  |
| List |  |
| Roadmap |  |
| Relevance |  |

## OPEN POINTS / FEEDBACK

_No work packages_

## Features and Chunks

| ID | Subject | Type | Status | Assignee | Target versions | Spent time |
| --- | --- | --- | --- | --- | --- | --- |
| COMMS-1001 | Labels data model | Implementation | closed |  | 18.0.0 |  |
| COMMS-1002 | Read API for work package labels | Implementation | closed |  | 18.0.0 |  |
| COMMS-1003 | Add/Remove API for work package labels | Implementation | closed |  | 18.0.0 |  |

## Bugs and other work packages

_No work packages_

## Technical Details

| Attribute | Value |
| --- | --- |
| Module |  |
| Feature Flag |  |
| Requires doc change | No |
| Enterprise plan | Community (COM) |

## Details

| Attribute | Value |
| --- | --- |
| Pull preview |  |
| Mockups |  |
| Accessibility | No |

## People

| Attribute | Value |
| --- | --- |
| Assignee |  |
| Accountable |  |
| Product manager |  |
| Developers |  |
| Designer |  |
| Ordered by |  |
| Signed off by |  |
| Interest by |  |

## Estimates and progress

| Attribute | Value |
| --- | --- |
| PD (min) |  |
| PD (max) |  |
| Work |  |
| Labor costs |  |

## Description

**Acceptance criteria**

*   A client with `edit_work_packages` can add and remove work package labels through the API.
    
*   A client with `view_work_packages` can read work package labels through the API.
    
*   The API exposes labels on work packages behind a feature flag.
    
*   The labels are case-insensitively globally unique: cannot create &quot;hello&quot; in Project A&#x27;s work package if there is already a &quot;Hello&quot; label in Project B&#x27;s work package
    

**Tech notes:**

*   Let&#x27;s go with an `acts_as_labelable` approach (similar to emoji reactions), as labels are likely to be linked to other kinds of entities later.
    

<br>
