Skip to content
Merged
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
The table of contents is too big for display.
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 @@
{
".": "4.22.0"
".": "4.23.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: 134
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/courier/courier-b053468fefe6d757f86f3233ebbc52d80329ed2a6e7a6740fee01e4028a4c3b9.yml
openapi_spec_hash: 416835e693de0fe19945be90a787d3f3
config_hash: 8d28dbeabe9d4dcc7d5b8c021a4cbbd7
configured_endpoints: 136
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/courier/courier-47bd7f89519b4aa68b039b9a03888b689fac9d6ee763d26be0b267bbb0b2ddaa.yml
openapi_spec_hash: 67ff63b23cbfb19beac58d6e471836d3
config_hash: b30c4b3086cd9f3da06a63b256d8c189
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
# Changelog

## 4.23.0 (2026-07-29)

Full Changelog: [v4.22.0...v4.23.0](https://github.com/trycourier/courier-java/compare/v4.22.0...v4.23.0)

### Features

* Document DELETE/PUT restore for inbox messages (C-19268) ([#175](https://github.com/trycourier/courier-java/issues/175)) ([6a1a54a](https://github.com/trycourier/courier-java/commit/6a1a54a0d6ad45e41c9c99c18e01c315fcae5b58))
* spec: rename and reorder the API reference sections ([#179](https://github.com/trycourier/courier-java/issues/179)) ([2ce28ee](https://github.com/trycourier/courier-java/commit/2ce28eee967b036c5b725a1146cb8cc2a1a84f02))


### Documentation

* **openapi:** describe user topic-preference fields explicitly ([#172](https://github.com/trycourier/courier-java/issues/172)) ([1d09244](https://github.com/trycourier/courier-java/commit/1d09244b56cb1ed9c98e28365d7509cd9dbe0018))
* **openapi:** document Idempotency-Key header on idempotent POST endpoints ([#176](https://github.com/trycourier/courier-java/issues/176)) ([8d254c6](https://github.com/trycourier/courier-java/commit/8d254c610de6563741992db211375fc40d4f33ef))
* **openapi:** rewrite operation descriptions for agents and SEO ([#174](https://github.com/trycourier/courier-java/issues/174)) ([3453be3](https://github.com/trycourier/courier-java/commit/3453be34b9c9713b88aa72e64c6fdfa3251a2fae))

## 4.22.0 (2026-07-23)

Full Changelog: [v4.21.0...v4.22.0](https://github.com/trycourier/courier-java/compare/v4.21.0...v4.22.0)
Expand Down
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ repositories {

allprojects {
group = "com.courier"
version = "4.22.0" // x-release-please-version
version = "4.23.0" // x-release-please-version
}

subprojects {
Expand Down
119 changes: 119 additions & 0 deletions courier-java-core/src/main/kotlin/com/courier/client/CourierClient.kt
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import com.courier.services.blocking.AutomationService
import com.courier.services.blocking.BrandService
import com.courier.services.blocking.DigestService
import com.courier.services.blocking.InboundService
import com.courier.services.blocking.InboxService
import com.courier.services.blocking.JourneyService
import com.courier.services.blocking.ListService
import com.courier.services.blocking.MessageService
Expand Down Expand Up @@ -61,42 +62,97 @@ interface CourierClient {
*/
fun withOptions(modifier: Consumer<ClientOptions.Builder>): CourierClient

/**
* Send a message to one or more recipients — users, lists, audiences, or tenants — across every
* channel you have configured.
*/
fun send(): SendService

/** Define filter-based groups whose membership Courier recalculates as user profiles change. */
fun audiences(): AudienceService

/**
* Configure the channel providers Courier delivers through, and browse the provider types it
* supports.
*/
fun providers(): ProviderService

/** Read the audit trail of configuration and access changes in your workspace. */
fun auditEvents(): AuditEventService

/**
* Issue scoped, short-lived JWTs so client-side SDKs — Inbox, Preferences, and the embedded
* designer — can call Courier as a single user. Server-side requests authenticate with your
* workspace API key instead.
*/
fun auth(): AuthService

/** Invoke a stored automation template or an ad hoc automation defined in the request. */
fun automations(): AutomationService

/**
* Build, version, publish, invoke, and cancel multi-step notification workflows, along with the
* templates scoped to them.
*/
fun journeys(): JourneyService

/** Manage the logos, colors, and layout that give the templates you send a consistent look. */
fun brands(): BrandService

fun digests(): DigestService

/** Record an inbound event that triggers the journeys and automations mapped to it. */
fun inbound(): InboundService

/**
* Manage static groups of users that you subscribe explicitly, and send to them by list id or
* list pattern.
*/
fun lists(): ListService

fun inbox(): InboxService

/**
* Look up the messages Courier has accepted, inspect their delivery history and rendered
* output, and cancel, resend, or archive them.
*/
fun messages(): MessageService

/**
* Look up the messages Courier has accepted, inspect their delivery history and rendered
* output, and cancel, resend, or archive them.
*/
fun requests(): RequestService

/** Create, update, version, publish, and localize notification templates and their content. */
fun notifications(): NotificationService

/**
* Define reusable channel routing and failover strategies, and see which templates use them.
*/
fun routingStrategies(): RoutingStrategyService

/**
* Manage the workspace catalog of subscription topics, the sections that group them, and
* publishing the preference page.
*/
fun workspacePreferences(): WorkspacePreferenceService

/**
* Store the contact information Courier delivers to for each user — email, phone number, push
* tokens, and any custom data you send to.
*/
fun profiles(): ProfileService

/**
* Manage tenants — the organizations, teams, or accounts your users belong to — along with
* their users and default preferences.
*/
fun tenants(): TenantService

/**
* Store and retrieve the translation strings Courier uses to render localized template content.
*/
fun translations(): TranslationService

fun users(): UserService
Expand Down Expand Up @@ -124,42 +180,105 @@ interface CourierClient {
*/
fun withOptions(modifier: Consumer<ClientOptions.Builder>): CourierClient.WithRawResponse

/**
* Send a message to one or more recipients — users, lists, audiences, or tenants — across
* every channel you have configured.
*/
fun send(): SendService.WithRawResponse

/**
* Define filter-based groups whose membership Courier recalculates as user profiles change.
*/
fun audiences(): AudienceService.WithRawResponse

/**
* Configure the channel providers Courier delivers through, and browse the provider types
* it supports.
*/
fun providers(): ProviderService.WithRawResponse

/** Read the audit trail of configuration and access changes in your workspace. */
fun auditEvents(): AuditEventService.WithRawResponse

/**
* Issue scoped, short-lived JWTs so client-side SDKs — Inbox, Preferences, and the embedded
* designer — can call Courier as a single user. Server-side requests authenticate with your
* workspace API key instead.
*/
fun auth(): AuthService.WithRawResponse

/** Invoke a stored automation template or an ad hoc automation defined in the request. */
fun automations(): AutomationService.WithRawResponse

/**
* Build, version, publish, invoke, and cancel multi-step notification workflows, along with
* the templates scoped to them.
*/
fun journeys(): JourneyService.WithRawResponse

/**
* Manage the logos, colors, and layout that give the templates you send a consistent look.
*/
fun brands(): BrandService.WithRawResponse

fun digests(): DigestService.WithRawResponse

/** Record an inbound event that triggers the journeys and automations mapped to it. */
fun inbound(): InboundService.WithRawResponse

/**
* Manage static groups of users that you subscribe explicitly, and send to them by list id
* or list pattern.
*/
fun lists(): ListService.WithRawResponse

fun inbox(): InboxService.WithRawResponse

/**
* Look up the messages Courier has accepted, inspect their delivery history and rendered
* output, and cancel, resend, or archive them.
*/
fun messages(): MessageService.WithRawResponse

/**
* Look up the messages Courier has accepted, inspect their delivery history and rendered
* output, and cancel, resend, or archive them.
*/
fun requests(): RequestService.WithRawResponse

/**
* Create, update, version, publish, and localize notification templates and their content.
*/
fun notifications(): NotificationService.WithRawResponse

/**
* Define reusable channel routing and failover strategies, and see which templates use
* them.
*/
fun routingStrategies(): RoutingStrategyService.WithRawResponse

/**
* Manage the workspace catalog of subscription topics, the sections that group them, and
* publishing the preference page.
*/
fun workspacePreferences(): WorkspacePreferenceService.WithRawResponse

/**
* Store the contact information Courier delivers to for each user — email, phone number,
* push tokens, and any custom data you send to.
*/
fun profiles(): ProfileService.WithRawResponse

/**
* Manage tenants — the organizations, teams, or accounts your users belong to — along with
* their users and default preferences.
*/
fun tenants(): TenantService.WithRawResponse

/**
* Store and retrieve the translation strings Courier uses to render localized template
* content.
*/
fun translations(): TranslationService.WithRawResponse

fun users(): UserService.WithRawResponse
Expand Down
Loading
Loading