Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "7.23.0"
".": "7.24.0"
}
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 147
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/courier/courier-ca32540df5bca42c8113de4004e7751b74bb440e3d73267e7cbad84dd3c3e82a.yml
openapi_spec_hash: 5576c8cf8e5be1f250b5dd1eb6d30571
config_hash: c6cefb51165221f01d442a42ac4a13b9
configured_endpoints: 145
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/courier/courier-b4485f5c4897c26d52a46aeb39b8a22415bcd529b0ad326fd43a30d7fadf1376.yml
openapi_spec_hash: db619c8991994dc8016fc4327f6917a2
config_hash: 3eb0070d128aef7a6da16173f7050177
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Changelog

## 7.24.0 (2026-07-30)

Full Changelog: [v7.23.0...v7.24.0](https://github.com/trycourier/courier-python/compare/v7.23.0...v7.24.0)

### Features

* spec: remove inbox message delete/restore endpoints for now (C-19268) ([#182](https://github.com/trycourier/courier-python/issues/182)) ([dfdc63d](https://github.com/trycourier/courier-python/commit/dfdc63d3d184091ddc3f81a851aa156d43f6b61e))
* spec: reorder API reference sections to match the Studio nav ([#180](https://github.com/trycourier/courier-python/issues/180)) ([044758a](https://github.com/trycourier/courier-python/commit/044758a95673f15a0a7b01b3021ff0359ef6c5bd))

## 7.23.0 (2026-07-29)

Full Changelog: [v7.22.0...v7.23.0](https://github.com/trycourier/courier-python/compare/v7.22.0...v7.23.0)
Expand Down
9 changes: 0 additions & 9 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -385,15 +385,6 @@ Methods:
- <code title="put /lists/{list_id}/subscriptions/{user_id}">client.lists.subscriptions.<a href="./src/courier/resources/lists/subscriptions.py">subscribe_user</a>(user_id, \*, list_id, \*\*<a href="src/courier/types/lists/subscription_subscribe_user_params.py">params</a>) -> None</code>
- <code title="delete /lists/{list_id}/subscriptions/{user_id}">client.lists.subscriptions.<a href="./src/courier/resources/lists/subscriptions.py">unsubscribe_user</a>(user_id, \*, list_id) -> None</code>

# Inbox

## Messages

Methods:

- <code title="delete /inbox/messages/{message_id}">client.inbox.messages.<a href="./src/courier/resources/inbox/messages.py">delete</a>(message_id) -> None</code>
- <code title="put /inbox/messages/{message_id}/restore">client.inbox.messages.<a href="./src/courier/resources/inbox/messages.py">restore</a>(message_id) -> None</code>

# Messages

Types:
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "trycourier"
version = "7.23.0"
version = "7.24.0"
description = "The official Python library for the Courier API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
56 changes: 18 additions & 38 deletions src/courier/_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@
from .resources import (
auth,
send,
inbox,
lists,
users,
brands,
Expand Down Expand Up @@ -67,7 +66,6 @@
from .resources.requests import RequestsResource, AsyncRequestsResource
from .resources.audiences import AudiencesResource, AsyncAudiencesResource
from .resources.broadcasts import BroadcastsResource, AsyncBroadcastsResource
from .resources.inbox.inbox import InboxResource, AsyncInboxResource
from .resources.lists.lists import ListsResource, AsyncListsResource
from .resources.users.users import UsersResource, AsyncUsersResource
from .resources.audit_events import AuditEventsResource, AsyncAuditEventsResource
Expand Down Expand Up @@ -215,6 +213,9 @@ def journeys(self) -> JourneysResource:

@cached_property
def broadcasts(self) -> BroadcastsResource:
"""
Create a one-off send to a list or audience, author its content, then send it immediately or schedule it for later.
"""
from .resources.broadcasts import BroadcastsResource

return BroadcastsResource(self)
Expand Down Expand Up @@ -252,12 +253,6 @@ def lists(self) -> ListsResource:

return ListsResource(self)

@cached_property
def inbox(self) -> InboxResource:
from .resources.inbox import InboxResource

return InboxResource(self)

@cached_property
def messages(self) -> MessagesResource:
"""
Expand Down Expand Up @@ -576,6 +571,9 @@ def journeys(self) -> AsyncJourneysResource:

@cached_property
def broadcasts(self) -> AsyncBroadcastsResource:
"""
Create a one-off send to a list or audience, author its content, then send it immediately or schedule it for later.
"""
from .resources.broadcasts import AsyncBroadcastsResource

return AsyncBroadcastsResource(self)
Expand Down Expand Up @@ -613,12 +611,6 @@ def lists(self) -> AsyncListsResource:

return AsyncListsResource(self)

@cached_property
def inbox(self) -> AsyncInboxResource:
from .resources.inbox import AsyncInboxResource

return AsyncInboxResource(self)

@cached_property
def messages(self) -> AsyncMessagesResource:
"""
Expand Down Expand Up @@ -879,6 +871,9 @@ def journeys(self) -> journeys.JourneysResourceWithRawResponse:

@cached_property
def broadcasts(self) -> broadcasts.BroadcastsResourceWithRawResponse:
"""
Create a one-off send to a list or audience, author its content, then send it immediately or schedule it for later.
"""
from .resources.broadcasts import BroadcastsResourceWithRawResponse

return BroadcastsResourceWithRawResponse(self._client.broadcasts)
Expand Down Expand Up @@ -916,12 +911,6 @@ def lists(self) -> lists.ListsResourceWithRawResponse:

return ListsResourceWithRawResponse(self._client.lists)

@cached_property
def inbox(self) -> inbox.InboxResourceWithRawResponse:
from .resources.inbox import InboxResourceWithRawResponse

return InboxResourceWithRawResponse(self._client.inbox)

@cached_property
def messages(self) -> messages.MessagesResourceWithRawResponse:
"""
Expand Down Expand Up @@ -1070,6 +1059,9 @@ def journeys(self) -> journeys.AsyncJourneysResourceWithRawResponse:

@cached_property
def broadcasts(self) -> broadcasts.AsyncBroadcastsResourceWithRawResponse:
"""
Create a one-off send to a list or audience, author its content, then send it immediately or schedule it for later.
"""
from .resources.broadcasts import AsyncBroadcastsResourceWithRawResponse

return AsyncBroadcastsResourceWithRawResponse(self._client.broadcasts)
Expand Down Expand Up @@ -1107,12 +1099,6 @@ def lists(self) -> lists.AsyncListsResourceWithRawResponse:

return AsyncListsResourceWithRawResponse(self._client.lists)

@cached_property
def inbox(self) -> inbox.AsyncInboxResourceWithRawResponse:
from .resources.inbox import AsyncInboxResourceWithRawResponse

return AsyncInboxResourceWithRawResponse(self._client.inbox)

@cached_property
def messages(self) -> messages.AsyncMessagesResourceWithRawResponse:
"""
Expand Down Expand Up @@ -1261,6 +1247,9 @@ def journeys(self) -> journeys.JourneysResourceWithStreamingResponse:

@cached_property
def broadcasts(self) -> broadcasts.BroadcastsResourceWithStreamingResponse:
"""
Create a one-off send to a list or audience, author its content, then send it immediately or schedule it for later.
"""
from .resources.broadcasts import BroadcastsResourceWithStreamingResponse

return BroadcastsResourceWithStreamingResponse(self._client.broadcasts)
Expand Down Expand Up @@ -1298,12 +1287,6 @@ def lists(self) -> lists.ListsResourceWithStreamingResponse:

return ListsResourceWithStreamingResponse(self._client.lists)

@cached_property
def inbox(self) -> inbox.InboxResourceWithStreamingResponse:
from .resources.inbox import InboxResourceWithStreamingResponse

return InboxResourceWithStreamingResponse(self._client.inbox)

@cached_property
def messages(self) -> messages.MessagesResourceWithStreamingResponse:
"""
Expand Down Expand Up @@ -1452,6 +1435,9 @@ def journeys(self) -> journeys.AsyncJourneysResourceWithStreamingResponse:

@cached_property
def broadcasts(self) -> broadcasts.AsyncBroadcastsResourceWithStreamingResponse:
"""
Create a one-off send to a list or audience, author its content, then send it immediately or schedule it for later.
"""
from .resources.broadcasts import AsyncBroadcastsResourceWithStreamingResponse

return AsyncBroadcastsResourceWithStreamingResponse(self._client.broadcasts)
Expand Down Expand Up @@ -1489,12 +1475,6 @@ def lists(self) -> lists.AsyncListsResourceWithStreamingResponse:

return AsyncListsResourceWithStreamingResponse(self._client.lists)

@cached_property
def inbox(self) -> inbox.AsyncInboxResourceWithStreamingResponse:
from .resources.inbox import AsyncInboxResourceWithStreamingResponse

return AsyncInboxResourceWithStreamingResponse(self._client.inbox)

@cached_property
def messages(self) -> messages.AsyncMessagesResourceWithStreamingResponse:
"""
Expand Down
2 changes: 1 addition & 1 deletion src/courier/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

__title__ = "courier"
__version__ = "7.23.0" # x-release-please-version
__version__ = "7.24.0" # x-release-please-version
14 changes: 0 additions & 14 deletions src/courier/resources/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,6 @@
SendResourceWithStreamingResponse,
AsyncSendResourceWithStreamingResponse,
)
from .inbox import (
InboxResource,
AsyncInboxResource,
InboxResourceWithRawResponse,
AsyncInboxResourceWithRawResponse,
InboxResourceWithStreamingResponse,
AsyncInboxResourceWithStreamingResponse,
)
from .lists import (
ListsResource,
AsyncListsResource,
Expand Down Expand Up @@ -250,12 +242,6 @@
"AsyncListsResourceWithRawResponse",
"ListsResourceWithStreamingResponse",
"AsyncListsResourceWithStreamingResponse",
"InboxResource",
"AsyncInboxResource",
"InboxResourceWithRawResponse",
"AsyncInboxResourceWithRawResponse",
"InboxResourceWithStreamingResponse",
"AsyncInboxResourceWithStreamingResponse",
"MessagesResource",
"AsyncMessagesResource",
"MessagesResourceWithRawResponse",
Expand Down
8 changes: 8 additions & 0 deletions src/courier/resources/broadcasts.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,10 @@


class BroadcastsResource(SyncAPIResource):
"""
Create a one-off send to a list or audience, author its content, then send it immediately or schedule it for later.
"""

@cached_property
def with_raw_response(self) -> BroadcastsResourceWithRawResponse:
"""
Expand Down Expand Up @@ -529,6 +533,10 @@ def send(


class AsyncBroadcastsResource(AsyncAPIResource):
"""
Create a one-off send to a list or audience, author its content, then send it immediately or schedule it for later.
"""

@cached_property
def with_raw_response(self) -> AsyncBroadcastsResourceWithRawResponse:
"""
Expand Down
33 changes: 0 additions & 33 deletions src/courier/resources/inbox/__init__.py

This file was deleted.

Loading