Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
397ef78
feat: [🪿] Remove `allow-subscriptions-custom-billing-anchor` feature …
stainless-app[bot] Jun 3, 2026
d03dec2
feat: Revert "[pgs] Remove `allow-subscriptions-custom-billing-anchor…
stainless-app[bot] Jun 4, 2026
f943c66
feat: Revert "Revert "[pgs] Remove `allow-subscriptions-custom-billin…
stainless-app[bot] Jun 5, 2026
46e9238
feat: Add any_commit_and_credit_ids to override specifier fields
stainless-app[bot] Jun 8, 2026
a1b6cdb
docs: add RPS limit and batch recommendation to addRate endpoint
stainless-app[bot] Jun 9, 2026
0abdb68
feat: add getSubscriptionSeatsHistory to Node SDK
stainless-app[bot] Jun 11, 2026
940923e
feat: skip seat IDs from balances
stainless-app[bot] Jun 12, 2026
9d6f8cc
feat: Add notification_metadata to four API endpoints (Anthropic-only)
stainless-app[bot] Jun 12, 2026
c930b59
feat: added created by to commits
stainless-app[bot] Jun 12, 2026
29736d9
feat: Update copy
stainless-app[bot] Jun 15, 2026
f5ca585
feat: createdBy description specifies excluding system created commits
stainless-app[bot] Jun 15, 2026
47fbf41
feat: Docs: Update v1.yml
stainless-app[bot] Jun 15, 2026
a59d59b
feat: daily recurrence frequency for recurring commits
stainless-app[bot] Jun 16, 2026
944ba28
codegen metadata
stainless-app[bot] Jun 18, 2026
39cbc8b
feat: Add alert specifiers to for `low_remaining_contract_credit_and…
stainless-app[bot] Jun 18, 2026
c62a15d
chore: (internal) Add description for threshold balance specifiers fi…
stainless-app[bot] Jun 22, 2026
48de204
codegen metadata
stainless-app[bot] Jun 22, 2026
7f4d4e4
codegen metadata
stainless-app[bot] Jun 23, 2026
c83f2bd
release: 0.4.0
stainless-app[bot] Jun 23, 2026
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 @@
{
".": "0.3.0"
".": "0.4.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: 115
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/metronome/metronome-f12f505faf40d5f25d74c0b5a417e2b36c7f3f9621a0e23acd3d6ec4c615443e.yml
openapi_spec_hash: 5c1f13896608a69feebd8855703b76df
config_hash: 6bd82f310398d5d47bcfeb8d7ed150b3
configured_endpoints: 116
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/metronome/metronome-52a719b7812239e8efa99324ecfd233d2c211759de37967748b72e8f090e9ed6.yml
openapi_spec_hash: 0052973e6013937f6fe75cad02c056d2
config_hash: 82cceaeee1ce998c3e1aa0e082a4629e
30 changes: 30 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,35 @@
# Changelog

## 0.4.0 (2026-06-23)

Full Changelog: [v0.3.0...v0.4.0](https://github.com/Metronome-Industries/metronome-java/compare/v0.3.0...v0.4.0)

### Features

* [🪿] Remove `allow-subscriptions-custom-billing-anchor` feature flag ([397ef78](https://github.com/Metronome-Industries/metronome-java/commit/397ef78e3dabd3606699d9cff3d182aa543c1159))
* Add alert specifiers to for `low_remaining_contract_credit_and_commit_balance_reached` threshold notification creation payload ([39cbc8b](https://github.com/Metronome-Industries/metronome-java/commit/39cbc8b5794429e286a361a639681e6e40c3390b))
* Add any_commit_and_credit_ids to override specifier fields ([46e9238](https://github.com/Metronome-Industries/metronome-java/commit/46e923808fc09864121bd3d81bbc45fd9bc67aad))
* add getSubscriptionSeatsHistory to Node SDK ([0abdb68](https://github.com/Metronome-Industries/metronome-java/commit/0abdb689b432de9ad25b410f9ef590ef513b67a8))
* Add notification_metadata to four API endpoints (Anthropic-only) ([9d6f8cc](https://github.com/Metronome-Industries/metronome-java/commit/9d6f8cc2505b368e02391165a8be7f364d806182))
* added created by to commits ([c930b59](https://github.com/Metronome-Industries/metronome-java/commit/c930b592310e556dbf3b24dafc054390e2b237d2))
* createdBy description specifies excluding system created commits ([f5ca585](https://github.com/Metronome-Industries/metronome-java/commit/f5ca585c93854409cc2c2ea9fcb96399ecfec82a))
* daily recurrence frequency for recurring commits ([a59d59b](https://github.com/Metronome-Industries/metronome-java/commit/a59d59b8948dcf884b7e61362674aba565f53e56))
* Docs: Update v1.yml ([47fbf41](https://github.com/Metronome-Industries/metronome-java/commit/47fbf416e9dbf1a3ca4164b5dcfb84ca830cadd5))
* Revert "[pgs] Remove `allow-subscriptions-custom-billing-anchor` and proration rounding feature flags" ([d03dec2](https://github.com/Metronome-Industries/metronome-java/commit/d03dec261d259798d7e487304ef7ea0fcf9c1c91))
* Revert "Revert "[pgs] Remove `allow-subscriptions-custom-billing-anchor` and proration rounding feature flags"" ([f943c66](https://github.com/Metronome-Industries/metronome-java/commit/f943c6600f55b3116242045dc853debd40498cfd))
* skip seat IDs from balances ([940923e](https://github.com/Metronome-Industries/metronome-java/commit/940923e3267160004a17410cf9ddf4fc59b7b240))
* Update copy ([29736d9](https://github.com/Metronome-Industries/metronome-java/commit/29736d9b3ae735221ae6b9e9a42728bf48b37eb4))


### Chores

* (internal) Add description for threshold balance specifiers fields ([c62a15d](https://github.com/Metronome-Industries/metronome-java/commit/c62a15dc3f07b0bf5a930119c5b29e410476104f))


### Documentation

* add RPS limit and batch recommendation to addRate endpoint ([a1b6cdb](https://github.com/Metronome-Industries/metronome-java/commit/a1b6cdb286db1ad27be80929f228a82ac5e2c3ba))

## 0.3.0 (2026-05-29)

Full Changelog: [v0.2.0...v0.3.0](https://github.com/Metronome-Industries/metronome-java/compare/v0.2.0...v0.3.0)
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

<!-- x-release-please-start-version -->

[![Maven Central](https://img.shields.io/maven-central/v/com.metronome.api/metronome-java)](https://central.sonatype.com/artifact/com.metronome.api/metronome-java/0.3.0)
[![javadoc](https://javadoc.io/badge2/com.metronome.api/metronome-java/0.3.0/javadoc.svg)](https://javadoc.io/doc/com.metronome.api/metronome-java/0.3.0)
[![Maven Central](https://img.shields.io/maven-central/v/com.metronome.api/metronome-java)](https://central.sonatype.com/artifact/com.metronome.api/metronome-java/0.4.0)
[![javadoc](https://javadoc.io/badge2/com.metronome.api/metronome-java/0.4.0/javadoc.svg)](https://javadoc.io/doc/com.metronome.api/metronome-java/0.4.0)

<!-- x-release-please-end -->

Expand All @@ -20,7 +20,7 @@ Use the Metronome MCP Server to enable AI assistants to interact with this API,

<!-- x-release-please-start-version -->

The REST API documentation can be found on [docs.metronome.com](https://docs.metronome.com). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.metronome.api/metronome-java/0.3.0).
The REST API documentation can be found on [docs.metronome.com](https://docs.metronome.com). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.metronome.api/metronome-java/0.4.0).

<!-- x-release-please-end -->

Expand All @@ -31,7 +31,7 @@ The REST API documentation can be found on [docs.metronome.com](https://docs.met
### Gradle

```kotlin
implementation("com.metronome.api:metronome-java:0.3.0")
implementation("com.metronome.api:metronome-java:0.4.0")
```

### Maven
Expand All @@ -40,7 +40,7 @@ implementation("com.metronome.api:metronome-java:0.3.0")
<dependency>
<groupId>com.metronome.api</groupId>
<artifactId>metronome-java</artifactId>
<version>0.3.0</version>
<version>0.4.0</version>
</dependency>
```

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.metronome.api"
version = "0.3.0" // x-release-please-version
version = "0.4.0" // x-release-please-version
}

subprojects {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ private constructor(
private val archivedAt: JsonField<OffsetDateTime>,
private val balance: JsonField<Double>,
private val contract: JsonField<Contract>,
private val createdBy: JsonField<String>,
private val customFields: JsonField<CustomFields>,
private val description: JsonField<String>,
private val hierarchyConfiguration: JsonField<CommitHierarchyConfiguration>,
Expand Down Expand Up @@ -94,6 +95,7 @@ private constructor(
archivedAt: JsonField<OffsetDateTime> = JsonMissing.of(),
@JsonProperty("balance") @ExcludeMissing balance: JsonField<Double> = JsonMissing.of(),
@JsonProperty("contract") @ExcludeMissing contract: JsonField<Contract> = JsonMissing.of(),
@JsonProperty("created_by") @ExcludeMissing createdBy: JsonField<String> = JsonMissing.of(),
@JsonProperty("custom_fields")
@ExcludeMissing
customFields: JsonField<CustomFields> = JsonMissing.of(),
Expand Down Expand Up @@ -153,6 +155,7 @@ private constructor(
archivedAt,
balance,
contract,
createdBy,
customFields,
description,
hierarchyConfiguration,
Expand Down Expand Up @@ -268,6 +271,15 @@ private constructor(
*/
fun contract(): Optional<Contract> = contract.getOptional("contract")

/**
* The actor who created this commit. Omitted for system-generated commits such as recurring
* commits, rollover commits, and threshold commits.
*
* @throws MetronomeInvalidDataException if the JSON field has an unexpected type (e.g. if the
* server responded with an unexpected value).
*/
fun createdBy(): Optional<String> = createdBy.getOptional("created_by")

/**
* Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
*
Expand Down Expand Up @@ -515,6 +527,13 @@ private constructor(
*/
@JsonProperty("contract") @ExcludeMissing fun _contract(): JsonField<Contract> = contract

/**
* Returns the raw JSON value of [createdBy].
*
* Unlike [createdBy], this method doesn't throw if the JSON field has an unexpected type.
*/
@JsonProperty("created_by") @ExcludeMissing fun _createdBy(): JsonField<String> = createdBy

/**
* Returns the raw JSON value of [customFields].
*
Expand Down Expand Up @@ -717,6 +736,7 @@ private constructor(
private var archivedAt: JsonField<OffsetDateTime> = JsonMissing.of()
private var balance: JsonField<Double> = JsonMissing.of()
private var contract: JsonField<Contract> = JsonMissing.of()
private var createdBy: JsonField<String> = JsonMissing.of()
private var customFields: JsonField<CustomFields> = JsonMissing.of()
private var description: JsonField<String> = JsonMissing.of()
private var hierarchyConfiguration: JsonField<CommitHierarchyConfiguration> =
Expand Down Expand Up @@ -752,6 +772,7 @@ private constructor(
archivedAt = commit.archivedAt
balance = commit.balance
contract = commit.contract
createdBy = commit.createdBy
customFields = commit.customFields
description = commit.description
hierarchyConfiguration = commit.hierarchyConfiguration
Expand Down Expand Up @@ -972,6 +993,21 @@ private constructor(
*/
fun contract(contract: JsonField<Contract>) = apply { this.contract = contract }

/**
* The actor who created this commit. Omitted for system-generated commits such as recurring
* commits, rollover commits, and threshold commits.
*/
fun createdBy(createdBy: String) = createdBy(JsonField.of(createdBy))

/**
* Sets [Builder.createdBy] to an arbitrary JSON value.
*
* You should usually call [Builder.createdBy] with a well-typed [String] value instead.
* This method is primarily for setting the field to an undocumented or not yet supported
* value.
*/
fun createdBy(createdBy: JsonField<String>) = apply { this.createdBy = createdBy }

/** Custom fields to be added eg. { "key1": "value1", "key2": "value2" } */
fun customFields(customFields: CustomFields) = customFields(JsonField.of(customFields))

Expand Down Expand Up @@ -1446,6 +1482,7 @@ private constructor(
archivedAt,
balance,
contract,
createdBy,
customFields,
description,
hierarchyConfiguration,
Expand Down Expand Up @@ -1495,6 +1532,7 @@ private constructor(
archivedAt()
balance()
contract().ifPresent { it.validate() }
createdBy()
customFields().ifPresent { it.validate() }
description()
hierarchyConfiguration().ifPresent { it.validate() }
Expand Down Expand Up @@ -1543,6 +1581,7 @@ private constructor(
(if (archivedAt.asKnown().isPresent) 1 else 0) +
(if (balance.asKnown().isPresent) 1 else 0) +
(contract.asKnown().getOrNull()?.validity() ?: 0) +
(if (createdBy.asKnown().isPresent) 1 else 0) +
(customFields.asKnown().getOrNull()?.validity() ?: 0) +
(if (description.asKnown().isPresent) 1 else 0) +
(hierarchyConfiguration.asKnown().getOrNull()?.validity() ?: 0) +
Expand Down Expand Up @@ -10752,6 +10791,7 @@ private constructor(
archivedAt == other.archivedAt &&
balance == other.balance &&
contract == other.contract &&
createdBy == other.createdBy &&
customFields == other.customFields &&
description == other.description &&
hierarchyConfiguration == other.hierarchyConfiguration &&
Expand Down Expand Up @@ -10787,6 +10827,7 @@ private constructor(
archivedAt,
balance,
contract,
createdBy,
customFields,
description,
hierarchyConfiguration,
Expand All @@ -10812,5 +10853,5 @@ private constructor(
override fun hashCode(): Int = hashCode

override fun toString() =
"Commit{id=$id, createdAt=$createdAt, product=$product, type=$type, accessSchedule=$accessSchedule, amount=$amount, applicableContractIds=$applicableContractIds, applicableProductIds=$applicableProductIds, applicableProductTags=$applicableProductTags, archivedAt=$archivedAt, balance=$balance, contract=$contract, customFields=$customFields, description=$description, hierarchyConfiguration=$hierarchyConfiguration, invoiceContract=$invoiceContract, invoiceSchedule=$invoiceSchedule, ledger=$ledger, name=$name, netsuiteSalesOrderId=$netsuiteSalesOrderId, priority=$priority, rateType=$rateType, recurringCommitId=$recurringCommitId, rolledOverFrom=$rolledOverFrom, rolloverFraction=$rolloverFraction, salesforceOpportunityId=$salesforceOpportunityId, specifiers=$specifiers, spendTrackerAttributes=$spendTrackerAttributes, subscriptionConfig=$subscriptionConfig, uniquenessKey=$uniquenessKey, additionalProperties=$additionalProperties}"
"Commit{id=$id, createdAt=$createdAt, product=$product, type=$type, accessSchedule=$accessSchedule, amount=$amount, applicableContractIds=$applicableContractIds, applicableProductIds=$applicableProductIds, applicableProductTags=$applicableProductTags, archivedAt=$archivedAt, balance=$balance, contract=$contract, createdBy=$createdBy, customFields=$customFields, description=$description, hierarchyConfiguration=$hierarchyConfiguration, invoiceContract=$invoiceContract, invoiceSchedule=$invoiceSchedule, ledger=$ledger, name=$name, netsuiteSalesOrderId=$netsuiteSalesOrderId, priority=$priority, rateType=$rateType, recurringCommitId=$recurringCommitId, rolledOverFrom=$rolledOverFrom, rolloverFraction=$rolloverFraction, salesforceOpportunityId=$salesforceOpportunityId, specifiers=$specifiers, spendTrackerAttributes=$spendTrackerAttributes, subscriptionConfig=$subscriptionConfig, uniquenessKey=$uniquenessKey, additionalProperties=$additionalProperties}"
}
Loading
Loading