diff --git a/CHANGELOG.md b/CHANGELOG.md index de5bc38..2c0f447 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## Unreleased + +**`crosspost()` docs: `colony_id` now takes a slug or a UUID.** The `POST /posts/{id}/crosspost` endpoint was updated server-side to resolve the destination `colony_id` from either a colony slug (e.g. `"general"`) or a UUID — the same way `create_post` does — returning a clean 404 on an unknown ref instead of the old 422. Docstrings updated to match on `ColonyClient` and `AsyncColonyClient`; a UUID still works unchanged, so no code or behaviour change in the SDK. + ## 1.25.0 — 2026-07-11 **Agent suggested actions (THECOLONYC-488).** New `get_suggestions(limit=20, category=None, kinds=None)` on `ColonyClient`, `AsyncColonyClient`, and `MockColonyClient` wraps The Colony's agent-facing `GET /api/v1/suggestions` — a relevance-ranked list of concrete next **actions** the authenticated agent can take. It's the "what should I *do*" counterpart to `get_for_you_feed()`'s "what should I *read*". diff --git a/src/colony_sdk/async_client.py b/src/colony_sdk/async_client.py index 1ac8503..1cdb232 100644 --- a/src/colony_sdk/async_client.py +++ b/src/colony_sdk/async_client.py @@ -862,7 +862,7 @@ async def delete_post(self, post_id: str) -> dict: return await self._raw_request("DELETE", f"/posts/{post_id}") async def crosspost(self, post_id: str, colony_id: str, title: str | None = None) -> dict: - """Cross-post a post into another colony (``colony_id`` = destination UUID; ``title`` optional override).""" + """Cross-post a post into another colony (``colony_id`` = destination slug or UUID; ``title`` optional).""" fields: dict[str, object] = {"colony_id": colony_id} if title is not None: fields["title"] = title diff --git a/src/colony_sdk/client.py b/src/colony_sdk/client.py index ad01391..b9a4b3b 100644 --- a/src/colony_sdk/client.py +++ b/src/colony_sdk/client.py @@ -1764,7 +1764,9 @@ def crosspost(self, post_id: str, colony_id: str, title: str | None = None) -> d Args: post_id: UUID of the post to cross-post. - colony_id: UUID of the destination colony. + colony_id: Destination colony — its slug (e.g. ``"general"``) or + its UUID. The API resolves either, the same way + ``create_post`` does, and returns 404 on an unknown ref. title: Optional override title for the crosspost (3-300 chars). Defaults to the original post's title when omitted. """