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
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 @@
{
".": "4.47.0"
".": "4.48.0"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 118
configured_endpoints: 126
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/orb%2Forb-a5a28a58483355d3cc3da7ac5c452d548ee17183324318198052968121ca7dba.yml
openapi_spec_hash: a317931a99e6d4a122919135a0363e40
config_hash: 05c94c0e6dbeab2c9b554c2e0d6371a0
config_hash: bcf82bddb691f6be773ac6cae8c03b9a
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Changelog

## 4.48.0 (2026-01-08)

Full Changelog: [v4.47.0...v4.48.0](https://github.com/orbcorp/orb-python/compare/v4.47.0...v4.48.0)

### Features

* **api:** manual updates ([19e971e](https://github.com/orbcorp/orb-python/commit/19e971ed6f2da625b7d29101aa3ae8aab99e4401))

## 4.47.0 (2026-01-06)

Full Changelog: [v4.46.3...v4.47.0](https://github.com/orbcorp/orb-python/compare/v4.46.3...v4.47.0)
Expand Down
37 changes: 36 additions & 1 deletion api.md
Original file line number Diff line number Diff line change
Expand Up @@ -389,17 +389,19 @@ Methods:
Types:

```python
from orb.types import InvoiceFetchUpcomingResponse
from orb.types import InvoiceFetchUpcomingResponse, InvoiceListSummaryResponse
```

Methods:

- <code title="post /invoices">client.invoices.<a href="./src/orb/resources/invoices.py">create</a>(\*\*<a href="src/orb/types/invoice_create_params.py">params</a>) -> <a href="./src/orb/types/shared/invoice.py">Invoice</a></code>
- <code title="put /invoices/{invoice_id}">client.invoices.<a href="./src/orb/resources/invoices.py">update</a>(invoice_id, \*\*<a href="src/orb/types/invoice_update_params.py">params</a>) -> <a href="./src/orb/types/shared/invoice.py">Invoice</a></code>
- <code title="get /invoices">client.invoices.<a href="./src/orb/resources/invoices.py">list</a>(\*\*<a href="src/orb/types/invoice_list_params.py">params</a>) -> <a href="./src/orb/types/shared/invoice.py">SyncPage[Invoice]</a></code>
- <code title="delete /invoices/{invoice_id}/invoice_line_items/{line_item_id}">client.invoices.<a href="./src/orb/resources/invoices.py">delete_line_item</a>(line_item_id, \*, invoice_id) -> None</code>
- <code title="get /invoices/{invoice_id}">client.invoices.<a href="./src/orb/resources/invoices.py">fetch</a>(invoice_id) -> <a href="./src/orb/types/shared/invoice.py">Invoice</a></code>
- <code title="get /invoices/upcoming">client.invoices.<a href="./src/orb/resources/invoices.py">fetch_upcoming</a>(\*\*<a href="src/orb/types/invoice_fetch_upcoming_params.py">params</a>) -> <a href="./src/orb/types/invoice_fetch_upcoming_response.py">InvoiceFetchUpcomingResponse</a></code>
- <code title="post /invoices/{invoice_id}/issue">client.invoices.<a href="./src/orb/resources/invoices.py">issue</a>(invoice_id, \*\*<a href="src/orb/types/invoice_issue_params.py">params</a>) -> <a href="./src/orb/types/shared/invoice.py">Invoice</a></code>
- <code title="get /invoices/summary">client.invoices.<a href="./src/orb/resources/invoices.py">list_summary</a>(\*\*<a href="src/orb/types/invoice_list_summary_params.py">params</a>) -> <a href="./src/orb/types/invoice_list_summary_response.py">SyncPage[InvoiceListSummaryResponse]</a></code>
- <code title="post /invoices/{invoice_id}/mark_paid">client.invoices.<a href="./src/orb/resources/invoices.py">mark_paid</a>(invoice_id, \*\*<a href="src/orb/types/invoice_mark_paid_params.py">params</a>) -> <a href="./src/orb/types/shared/invoice.py">Invoice</a></code>
- <code title="post /invoices/{invoice_id}/pay">client.invoices.<a href="./src/orb/resources/invoices.py">pay</a>(invoice_id) -> <a href="./src/orb/types/shared/invoice.py">Invoice</a></code>
- <code title="post /invoices/{invoice_id}/void">client.invoices.<a href="./src/orb/resources/invoices.py">void</a>(invoice_id) -> <a href="./src/orb/types/shared/invoice.py">Invoice</a></code>
Expand Down Expand Up @@ -457,6 +459,24 @@ Methods:
- <code title="put /plans/external_plan_id/{external_plan_id}">client.plans.external_plan_id.<a href="./src/orb/resources/plans/external_plan_id.py">update</a>(other_external_plan_id, \*\*<a href="src/orb/types/plans/external_plan_id_update_params.py">params</a>) -> <a href="./src/orb/types/plan.py">Plan</a></code>
- <code title="get /plans/external_plan_id/{external_plan_id}">client.plans.external_plan_id.<a href="./src/orb/resources/plans/external_plan_id.py">fetch</a>(external_plan_id) -> <a href="./src/orb/types/plan.py">Plan</a></code>

## Migrations

Types:

```python
from orb.types.plans import (
MigrationRetrieveResponse,
MigrationListResponse,
MigrationCancelResponse,
)
```

Methods:

- <code title="get /plans/{plan_id}/migrations/{migration_id}">client.plans.migrations.<a href="./src/orb/resources/plans/migrations.py">retrieve</a>(migration_id, \*, plan_id) -> <a href="./src/orb/types/plans/migration_retrieve_response.py">MigrationRetrieveResponse</a></code>
- <code title="get /plans/{plan_id}/migrations">client.plans.migrations.<a href="./src/orb/resources/plans/migrations.py">list</a>(plan_id, \*\*<a href="src/orb/types/plans/migration_list_params.py">params</a>) -> <a href="./src/orb/types/plans/migration_list_response.py">SyncPage[MigrationListResponse]</a></code>
- <code title="post /plans/{plan_id}/migrations/{migration_id}/cancel">client.plans.migrations.<a href="./src/orb/resources/plans/migrations.py">cancel</a>(migration_id, \*, plan_id) -> <a href="./src/orb/types/plans/migration_cancel_response.py">MigrationCancelResponse</a></code>

# Prices

Types:
Expand Down Expand Up @@ -603,6 +623,7 @@ Types:
from orb.types import (
MutatedSubscription,
SubscriptionChangeRetrieveResponse,
SubscriptionChangeListResponse,
SubscriptionChangeApplyResponse,
SubscriptionChangeCancelResponse,
)
Expand All @@ -611,5 +632,19 @@ from orb.types import (
Methods:

- <code title="get /subscription_changes/{subscription_change_id}">client.subscription_changes.<a href="./src/orb/resources/subscription_changes.py">retrieve</a>(subscription_change_id) -> <a href="./src/orb/types/subscription_change_retrieve_response.py">SubscriptionChangeRetrieveResponse</a></code>
- <code title="get /subscription_changes">client.subscription_changes.<a href="./src/orb/resources/subscription_changes.py">list</a>(\*\*<a href="src/orb/types/subscription_change_list_params.py">params</a>) -> <a href="./src/orb/types/subscription_change_list_response.py">SyncPage[SubscriptionChangeListResponse]</a></code>
- <code title="post /subscription_changes/{subscription_change_id}/apply">client.subscription_changes.<a href="./src/orb/resources/subscription_changes.py">apply</a>(subscription_change_id, \*\*<a href="src/orb/types/subscription_change_apply_params.py">params</a>) -> <a href="./src/orb/types/subscription_change_apply_response.py">SubscriptionChangeApplyResponse</a></code>
- <code title="post /subscription_changes/{subscription_change_id}/cancel">client.subscription_changes.<a href="./src/orb/resources/subscription_changes.py">cancel</a>(subscription_change_id) -> <a href="./src/orb/types/subscription_change_cancel_response.py">SubscriptionChangeCancelResponse</a></code>

# CreditBlocks

Types:

```python
from orb.types import CreditBlockRetrieveResponse
```

Methods:

- <code title="get /credit_blocks/{block_id}">client.credit_blocks.<a href="./src/orb/resources/credit_blocks.py">retrieve</a>(block_id) -> <a href="./src/orb/types/credit_block_retrieve_response.py">CreditBlockRetrieveResponse</a></code>
- <code title="delete /credit_blocks/{block_id}">client.credit_blocks.<a href="./src/orb/resources/credit_blocks.py">delete</a>(block_id) -> None</code>
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "orb-billing"
version = "4.47.0"
version = "4.48.0"
description = "The official Python library for the orb API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
38 changes: 38 additions & 0 deletions src/orb/_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
customers,
top_level,
credit_notes,
credit_blocks,
subscriptions,
invoice_line_items,
subscription_changes,
Expand All @@ -62,6 +63,7 @@
from .resources.top_level import TopLevel, AsyncTopLevel
from .resources.plans.plans import Plans, AsyncPlans
from .resources.credit_notes import CreditNotes, AsyncCreditNotes
from .resources.credit_blocks import CreditBlocks, AsyncCreditBlocks
from .resources.events.events import Events, AsyncEvents
from .resources.prices.prices import Prices, AsyncPrices
from .resources.subscriptions import Subscriptions, AsyncSubscriptions
Expand Down Expand Up @@ -244,6 +246,12 @@ def webhooks(self) -> webhooks.Webhooks:

return Webhooks(self)

@cached_property
def credit_blocks(self) -> CreditBlocks:
from .resources.credit_blocks import CreditBlocks

return CreditBlocks(self)

@cached_property
def with_raw_response(self) -> OrbWithRawResponse:
return OrbWithRawResponse(self)
Expand Down Expand Up @@ -574,6 +582,12 @@ def webhooks(self) -> webhooks.AsyncWebhooks:

return AsyncWebhooks(self)

@cached_property
def credit_blocks(self) -> AsyncCreditBlocks:
from .resources.credit_blocks import AsyncCreditBlocks

return AsyncCreditBlocks(self)

@cached_property
def with_raw_response(self) -> AsyncOrbWithRawResponse:
return AsyncOrbWithRawResponse(self)
Expand Down Expand Up @@ -839,6 +853,12 @@ def subscription_changes(self) -> subscription_changes.SubscriptionChangesWithRa

return SubscriptionChangesWithRawResponse(self._client.subscription_changes)

@cached_property
def credit_blocks(self) -> credit_blocks.CreditBlocksWithRawResponse:
from .resources.credit_blocks import CreditBlocksWithRawResponse

return CreditBlocksWithRawResponse(self._client.credit_blocks)


class AsyncOrbWithRawResponse:
_client: AsyncOrb
Expand Down Expand Up @@ -942,6 +962,12 @@ def subscription_changes(self) -> subscription_changes.AsyncSubscriptionChangesW

return AsyncSubscriptionChangesWithRawResponse(self._client.subscription_changes)

@cached_property
def credit_blocks(self) -> credit_blocks.AsyncCreditBlocksWithRawResponse:
from .resources.credit_blocks import AsyncCreditBlocksWithRawResponse

return AsyncCreditBlocksWithRawResponse(self._client.credit_blocks)


class OrbWithStreamedResponse:
_client: Orb
Expand Down Expand Up @@ -1045,6 +1071,12 @@ def subscription_changes(self) -> subscription_changes.SubscriptionChangesWithSt

return SubscriptionChangesWithStreamingResponse(self._client.subscription_changes)

@cached_property
def credit_blocks(self) -> credit_blocks.CreditBlocksWithStreamingResponse:
from .resources.credit_blocks import CreditBlocksWithStreamingResponse

return CreditBlocksWithStreamingResponse(self._client.credit_blocks)


class AsyncOrbWithStreamedResponse:
_client: AsyncOrb
Expand Down Expand Up @@ -1148,6 +1180,12 @@ def subscription_changes(self) -> subscription_changes.AsyncSubscriptionChangesW

return AsyncSubscriptionChangesWithStreamingResponse(self._client.subscription_changes)

@cached_property
def credit_blocks(self) -> credit_blocks.AsyncCreditBlocksWithStreamingResponse:
from .resources.credit_blocks import AsyncCreditBlocksWithStreamingResponse

return AsyncCreditBlocksWithStreamingResponse(self._client.credit_blocks)


Client = Orb

Expand Down
2 changes: 1 addition & 1 deletion src/orb/_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__ = "orb"
__version__ = "4.47.0" # x-release-please-version
__version__ = "4.48.0" # x-release-please-version
14 changes: 14 additions & 0 deletions src/orb/resources/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,14 @@
CreditNotesWithStreamingResponse,
AsyncCreditNotesWithStreamingResponse,
)
from .credit_blocks import (
CreditBlocks,
AsyncCreditBlocks,
CreditBlocksWithRawResponse,
AsyncCreditBlocksWithRawResponse,
CreditBlocksWithStreamingResponse,
AsyncCreditBlocksWithStreamingResponse,
)
from .subscriptions import (
Subscriptions,
AsyncSubscriptions,
Expand Down Expand Up @@ -232,4 +240,10 @@
"AsyncSubscriptionChangesWithRawResponse",
"SubscriptionChangesWithStreamingResponse",
"AsyncSubscriptionChangesWithStreamingResponse",
"CreditBlocks",
"AsyncCreditBlocks",
"CreditBlocksWithRawResponse",
"AsyncCreditBlocksWithRawResponse",
"CreditBlocksWithStreamingResponse",
"AsyncCreditBlocksWithStreamingResponse",
]
Loading